テストプロセスの主要な7つの活動(タスク)

JSTQB FLのシラバスに定義された、テストプロセスの主要な7つの活動(タスク)について、概要と具体例をわかりやすく解説します。

1. テスト計画(Test planning)

  • 概要: テスト目的を定義し、プロジェクト全体の制約の中で、その目的を最も効果的に達成するためのアプローチ(方針)を選択する活動です。
  • 具体例: テストの対象範囲やスケジュールを決め、「どのテストレベルを実施するか」「どのようなテスト技法を使うか」などを記載したテスト計画書を作成します。必要な予算や人員の見積もりもここで行います。

2. テストのモニタリングとコントロール(Test monitoring and test control)

  • 概要: モニタリングは、すべてのテスト活動を継続的にチェックし、実際の進捗を計画と比較する活動です。コントロールは、モニタリングで得た情報をもとに、テストの目的を達成するために必要な行動(軌道修正)をとる活動です。
  • 具体例:
    • モニタリング: テストケースの実行数や合格/不合格の数といった「テストメトリクス」を収集し、テスト進捗レポートを作成します。
    • コントロール: テスト環境の提供遅れに対応してスケジュールを調整したり、必要な時に新しいリソースを追加したりして計画を調整します。

3. テスト分析(Test analysis)

  • 概要: 要件仕様などのテストベースを分析し、テスト可能なフィーチャー(機能)を識別して、テスト条件を定義し優先順位を付ける活動です。この活動は 「何をテストするか?」 という問いに答えるものです。
  • 具体例: 要件仕様書やユーザーストーリーを読み込み、「パスワードは8文字以上であること」といったテストすべき条件を洗い出します。この分析の過程で、テストベースに含まれる欠陥(仕様書の矛盾や抜け漏れなど)を直接発見することもあります。

4. テスト設計(Test design)

  • 概要: テスト分析で定義したテスト条件を、テストケースやその他のテストウェアに落とし込む活動です。テスト技法を利用して、 「どのようにテストするか?」 を決定します。
  • 具体例: 境界値分析などのテスト技法を使って具体的な入力データを決め、テストケースを作成します。また、テスト環境の設計やテストデータ要件の定義などもここで行います。

5. テスト実装(Test implementation)

  • 概要: テスト実行に必要なテストウェア(テストデータなど)の作成や取得を行う活動です。テストケースをテストプロシジャーに編成し、テスト実行スケジュールに組み込みます。
  • 具体例: 手動および自動のテストスクリプトを作成します。また、作成したテストを効率よく実行できるように優先順位を付けてスケジュールに並べ替えたり、テスト環境を構築して正しく設定されているか確認したりします。

6. テスト実行(Test execution)

  • 概要: テスト実行スケジュールに従って、実際にテストを走らせる活動です。手動で行う場合と、自動で行う場合があります。
  • 具体例: 用意したテストケース通りにシステムを操作(実行)し、その「実際の結果」を「期待結果」と比較します。もし想定と違う動き(不正)をした場合は、その原因を分析し、欠陥レポートとして報告します。

7. テスト完了(Test completion)

  • 概要: プロジェクトのマイルストーン(リリース時やイテレーションの終了時など)において、未解決の欠陥や変更要求の確認、テストウェアの引き継ぎなどを行う活動です。
  • 具体例: テスト環境を合意した状態でシャットダウンし、将来再利用できるテストケースなどを保管、または適切なチームへ引き継ぎます。また、テスト活動全体を振り返って教訓や改善点を識別し、ステークホルダーに向けてテスト完了レポートを作成して伝えます。