ソフトウェアテストとは、開発したソフトウェアまたはアプリケーションが想定どおりに機能するかを評価・検証するプロセスのことです。
ソフトウェアテストとは?
ソフトウェアテストとは?
「ソフトウェアテスト」って何をすることですか?
「ソフトウェアテスト」とは、開発したソフトウェアが想定どおりに機能するかを評価・検証するプロセスになります。
ソフトウェアテストをする目的って何ですか?
ソフトウェア開発は人間が開発するものなので、作れば必ず動作するのではなく、不具合(バグ)がどこかに隠れ潜んでいます。不具合(バグ)を放置してリリースすればユーザからは低品質なソフトウェアと評価されてしまいます。不具合を可能な見つけ出し、リリース前に限り取り除くことが、テストを行う目的になります。
ソフトウェアテストのV字モデル
テスト工程の詳細紹介の前に、テストに関連があるV字モデル(ウォータフォールモデル)について紹介していきます。モデルを理解することで、工程に分類されるテストが開発工程とどのように対応しているかがわかります。
V字モデルとは、ソフトウェアの開発工程とテスト工程の流れの対応関係をV字型で表したものになります。V字型の左部分には、開発に関する工程が要求分析からはじまり実装まで進む形で示されています。
実装まで完了すると、実装からテスト工程へ移っていきます。開発の各工程で決定・設計された内容が正しく実現されているかが、段階に対応したテストによって確認されていきます。
工程ごとのテストの種類
ここで、「工程」の分類に関わる各テスト(単体テスト・結合テスト・システムテスト・受入テスト)の内容について紹介していきます。
単体テスト
単体テストとは、システムの他の部分と切り離し、個々のプログラム(コンポーネント・モジュール)が動作するかを確認するテストのことです。ユニットテスト・コンポーネントテストと呼ばれることもあります。なお、単体テストは、プログラム・コンポーネント・モジュールの何がテスト対象になるかはプロジェクトによって異なります。
結合テスト
結合テストとは、単体テストで確認したプログラム(コンポーネント・モジュール)を組み合わせたときに、正常に動作するかを試すテストのことです。少数のプログラムの組み合わせからのテストからはじめ、徐々に統合する範囲を広げていきます。「統合テスト」とよばれることもあります。
システムテスト
システムテストではプログラム全体をテストし、基本設計でまとめられた仕様通りに動作するかを確認します。
なお、結合テストまでは、テスト用のテスト環境にてテストを実施することが多いと想定されます。しかし、システムテストでは、できるだけ本番と同じ環境でテストを実施することが必要です。テスト環境では起こりえないような、環境に依存した問題が確認される可能性があるためです。
受入テスト
受入テストとは、ソフトウェア開発の最初に行われる「要求定義」に纏められた要求を満たせているかを確認するためのテストになります。受入テストの目的は、不具合を見つけることはありません。
受入テストでは、ソフトウェアリリース直前に行われることが多いです。システムがビジネスで利用できるかをユーザ自身で確認する「ユーザ受入テスト」、実際のシステム運用に耐えられるかをシステム管理者が確認する「運用受入テスト」などがあります。
ソフトウェアテストに関する問題(令和5年問42)
ソフトウェア開発における,テストに関する記述a~cとテスト工程の適切な組合せはどれか。
a. 運用予定時間内に処理が終了することを確認する。
b. ソフトウェア間のインタフェースを確認する。
c. プログラムの内部パスを網羅的に確認する。
出典:令和5年度 ITパスポート試験公開問題 問42
正しいと思う選択肢をクリックしてみてください!!!
ア.
不正解です。
イ.
不正解です。
ウ.
不正解です。
エ.
正解です。
コメント