テストレベル
テストレベルとは、開発の進捗に合わせて段階的に実施されるテストのグループです。JSTQBでは主に4つのレベルを定義しています。
1. コンポーネントテスト(単体テスト)
Section titled “1. コンポーネントテスト(単体テスト)”- テスト対象: 個々のモジュール、プログラム、クラス、関数など。
- 実行者: 主に開発者。
- 目的: ロジックの正しさの検証、特定パスのカバレッジ確保。
- 備考: 外部システムや他モジュールは、スタブやドライバ(モック)に置き換えて、分離した状態でテストします。
2. 統合テスト
Section titled “2. 統合テスト”コンポーネント間、あるいはシステム間の「インターフェース(つなぎ目)」や相互作用をテストします。V4.0では明確に以下の2つに区別されています。
コンポーネント統合テスト
Section titled “コンポーネント統合テスト”- 対象: 結合されたコンポーネント間の相互作用。
- 時期: コンポーネントテストの後。
- 自動化: CIプロセスの一環として自動化されることが多い。
システム統合テスト
Section titled “システム統合テスト”- 対象: 自システムと、外部システム(決済ゲートウェイ、外部APIなど)との相互作用。
- 時期: システムテストの後、あるいは進行中の活動として実施。
3. システムテスト
Section titled “3. システムテスト”- テスト対象: 統合されたシステム全体。
- 実行者: 独立したテストチーム(QA)が実施することが多い。
- 目的: エンドツーエンド(E2E)の機能検証、および非機能要件(性能、セキュリティなど)の確認。
- 環境: 本番環境に可能な限り近い環境で実施します。
4. 受け入れテスト (UAT)
Section titled “4. 受け入れテスト (UAT)”- テスト対象: システム全体(ビジネスプロセス視点)。
- 実行者: 顧客、ユーザー、運用担当者。
- 目的: システムがビジネスのニーズを満たしているか、リリースして問題ないか(妥当性確認)の判断。
- 種類:
- ユーザー受け入れテスト: ユーザーが業務で使えるか確認。
- 運用受け入れテスト: バックアップ/リストア、災害復旧などを確認。
- アルファ/ベータテスト: 市場リリース前に特定のユーザー層に行ってもらうテスト。