JSTQB 2章 ソフトウェアサイクルを通じてのテスト
・テストレベル、テストフェーズ、テストタイプ:ソフトウェアライフサイクルで行われテストを異なる観点でテスト分類した用語
・テストカバレッジ:テストアイテム内部構造に対して考えられるすべてのテストケースに対して実施するテストスイートやテストケースの網羅度のこと
■テストレベル
・テストレベル:開発プロセス、システムの規模、アーキテクチャ、テストタイプによって適切なテストレベルが定義され、プロジェクトマネジメントの計画を立てたり、進捗を測る単位
・コンポーネントテスト:分離してテストが可能な単位の欠陥を摘出し、正しく作動することを検証するテスト。プログラミングと合わせて実施することが多く、インシデントレポートを書かずにすぐに修正していくことが多い
・結合テスト:コンポーネント間のインターフェース、OS、ファイルシステム、ハードウェアなどシステムの異なる部分同士の相互処理、あるいはシステム間のインターフェースなどの検証するテスト。
・システムテスト:プロジェクトが開発したシステムが要求を実現できていることを確認するテスト。
たとえば、業務フローが要求された効率で正しく実行できるか検証する。
テスト環境は限りなく実際に使われる環境に近くなければならない。
・受け入れテスト:誰から誰が受けいれるかで4種類のテストがある
- ユーザ受け入れテスト:ユーザがシステムを受け入れる
- 運用受け入れテスト:システム運用部署がシステムを受け入れる
- 契約受け入れテスト、規定受け入れテスト:システム開発を依頼した側が契約に基づいてシステムを受け入れる
- アルファテスト、ベータテスト:テストケースを定義することなく自由に使ってもらい、テストカバレッジでカバーしていない範囲やテストできなかった非機能要求を評価する。
アルファテスト:開発組織の場所で実施されるが開発チームによって実施されない
ベータテスト:顧客あるいは潜在顧客の場所で彼ら自身がテストする
■テストフェーズ
・テストフェーズ:要求定義フェーズ、設計フェーズ、実装フェーズなどと同様にあくまで開発プロジェクトのフェーズである
・シーケンシャル開発モデルを採用しているプロジェクト:統合テストフェーズ、システムテストフェーズ、受け入れテストフェーズといったようにテストレベルとテストフェーズが1対1に対応することもある
・イテレーティブ-インクリメンタル開発も照すを採用しているプロジェクト:テストフェーズとテストレベルは対応していない
■テストタイプ
・テストタイプ:テストすべき要求の種類やソフトウェアの構造などでテストを分類したもの
・機能テスト:ブラックボックステスト。セキュリティテストや相互運用性テストは機能テストの一種
・非機能テスト:性能テスト、ロードテスト、ストレステスト、使用性テスト、保守性テスト、信頼性テスト、移植性テストがある
・構造テスト:テストアイテム内部の構造に着目して内部動作をテストする。ホワイトボックステスト。実際にテストアイテムを実行してテストするので先に機能テストを実施したほうがよい
・再テスト:確認テストと同義。判明した欠陥が正しく修正されたかを確認するテスト。
・回帰テスト:欠陥の修正によってその修正で新たな欠陥が生まれたり、顕在化していなかったほかの欠陥を検証するためにテストケースやテストスイートを繰り返し実行するテストのこと
----追加要素---
■コンポーネントテストの説明
性能テストなどの非機能テストを実施する
■統合テストの説明
テスト担当者は統合計画の構造や影響を理解すべき
■統合テストで用いるテストベース
■システムテストの説明
システムテストのスコープは、マスターテスト計画およびレベルテスト計画で定義される
■受け入れテストの説明
法律や安全基準などに合致しているかを検証するテストがある
■構造テスト
制御フローグラフを用いて、テスト設計を行う。このテストは構造テストの目的の為に行う