この記事は何か?
この記事では、ソフトウェア開発の各段階に対応するテスト(テストレベル)について解説する。
目次
テストレベルとは?
テストレベルとは、ソフトウェア開発において各段階でどのような観点のテストを実施するかを体系的に分類したものである。
ISTQB(International Software Testing Qualifications Board)では以下のように定義されている。
テストレベル(test level)
系統的にまとめ、管理していくテストの活動のグループ。各テストレベルはプロジェクトの特定の責務と対応付けができる。テストレベルの例には、コンポーネントテスト、統合テスト、システムテスト、受け入れテストがある。
(出典:ISTQB Glossary)
テストレベルと開発工程の対応関係
ウォーターフォール開発におけるテストレベル
ウォーターフォール開発では、各開発フェーズの完了時に対応するテストレベルを実施するのが一般的である。
| 開発フェーズ | 対応するテストレベル |
|---|---|
| 要件定義 | システムテスト / 受け入れテスト |
| 基本設計 | 統合テスト |
| 詳細設計 | コンポーネントテスト |
この開発工程とテスト工程を対応させた開発モデルをV字モデルと呼ぶ。
V字モデルでは、各開発フェーズで作成した仕様書や設計書が、対応するテストレベルで検証される仕組みとなっている。
具体例として、要件定義で定めた業務要件は受け入れテストで検証され、基本設計で定めたモジュール間のインターフェースやデータ連携は統合テストで検証される。
アジャイル開発におけるテストレベル
アジャイル開発では、各イテレーション(スプリント)内でコンポーネントテストから受け入れテストまでを短期間で繰り返し実行し、継続的な品質改善を図るのが一般的である。
各テストレベルの詳細
1. コンポーネントテスト
単体テストやユニットテストとも呼ばれる。
個々の機能やモジュールが仕様通りに動作するかを確認するテストである。主にホワイトボックステスト1の手法で実施される。
2. 統合テスト
結合テスト、インテグレーションテストとも呼ばれる。
複数のモジュールを組み合わせた際に、それらが正しく連携して動作するかを確認するテストである。主にブラックボックステスト2の手法で実施される。
3. システムテスト
総合テストとも呼ばれる。
システム全体が要件定義で定められた要件を満たしているかを確認するテストである。主にブラックボックステストの手法で実施される。
4. 受け入れテスト
UAT(User Acceptance Test)などとも呼ばれる。
システムが実際の業務要件を満たしているかを確認するテストである。多くの場合、業務担当部門が主体となって実施される。主にブラックボックステストの手法で実施される。
関連記事
参考資料
- ISTQB Glossary (日本語版) https://glossary.istqb.org/ja_JP/home
- JSTQB Foundation Level シラバス Version 4.0(2023年版)https://jstqb.jp/syllabus.html#syllabus_foundation