1.2 テスト活動への関与 (Involvement in Test Activities)
テスト活動への関与の概要
Section titled “テスト活動への関与の概要”テストプロセスには様々な活動が含まれますが、テストアナリスト(TA)が最も専門性を発揮し、深く関与するのが「テスト分析」「テスト設計」「テスト実装」「テスト実行」の4つのコア活動です。
TAは、テストマネージャーが策定した全体計画や戦略のフレームワークに従いながら、これらの活動を通じて「何を」「どのように」テストするかを具体化し、品質の検証と欠陥の早期発見を主導します。
1.2.1 テスト分析 (Test Analysis)
Section titled “1.2.1 テスト分析 (Test Analysis)”テスト分析は、テストベース(要件定義書、仕様書、ユーザーストーリーなど)を特定・精査し、「何をテストすべきか」を決定する活動です。
TAの具体的なタスクとアプローチ
Section titled “TAの具体的なタスクとアプローチ”- テストベースの精査: 提供された仕様書やユーザーストーリーを注意深く分析し、記載内容に曖昧さ、論理的な矛盾、記述の漏れがないかを確認します。この活動は、コードが書かれる前に仕様の不備を正す「欠陥予防(Defect Prevention)」として極めて高い効果を持ちます。
- テスト容易性(Testability)の評価: 与えられた要件が「客観的にテスト可能(合否の判定基準が明確)であるか」を評価します。もしテストできない曖昧な表現(例:「十分に高速であること」など)があれば、具体的な数値基準を設けるようステークホルダーにフィードバックします。
- テスト条件の特定: 分析結果に基づき、検証が必要な具体的な項目や機能、不具合が発生しやすい領域を「テスト条件(Test Conditions)」のリストとして特定し、文書化します。
1.2.2 テスト設計 (Test Design)
Section titled “1.2.2 テスト設計 (Test Design)”テスト設計は、特定されたテスト条件を基に、具体的な「どのようにテストするか」というテストケースの構造に落とし込む活動です。
TAの具体的なタスクとアプローチ
Section titled “TAの具体的なタスクとアプローチ”- テスト技法の選択と適用: シラバスで定義されている適切な「ブラックボックステスト技法」(同値分割法、境界値分析、デシジョンテーブルテスト、状態遷移テストなど)や、自身の経験に基づく「経験ベースのテスト技法」を適用して、漏れなく無駄のないテストケースを導き出します。
- 期待される結果の定義: 各テストケースに対して、どのような入力を行い、どのような前提条件を整えれば、システムが最終的にどう振る舞うべきかという「期待される結果(オラクル / 期待値)」を明確に定義します。
- テストデータの要件特定: テストケースを実行するために、どのような種類のデータ(具体的な値、境界値、大量データなど)が、どれだけの量必要なのかを特定します。
1.2.3 テスト実装 (Test Implementation)
Section titled “1.2.3 テスト実装 (Test Implementation)”テスト実装は、設計されたテストケースを、実際に「実行可能な状態(手順や環境)」に整える活動です。
TAの具体的なタスクとアプローチ
Section titled “TAの具体的なタスクとアプローチ”- テスト手順(スクリプト)の作成: 独立したテストケースを、論理的な実行順序や業務フローに合わせて並べ替え、効率よく実行できるように具体的な「テスト手順」としてパッケージ化します。
- 優先順位付けと依存関係の整理: 限られたプロジェクト期間の中で最もリスクの高い領域から検証できるよう、テストケースに優先順位をつけます。また、テストケース間の依存関係(例:テストBを動かすにはテストAが成功している必要がある、など)を明確にします。
- 環境とデータの準備状況の確認: テスト実行を開始する前に、必要なテスト環境が整っているか、および設計フェーズで特定したテストデータが正しくシステムにロード(準備)されているかを確認します。
1.2.4 テスト実行 (Test Execution)
Section titled “1.2.4 テスト実行 (Test Execution)”テスト実行は、準備されたテスト手順に従って実際にソフトウェアを動作させ、システムが正しく機能するかを検証する活動です。
TAの具体的なタスクとアプローチ
Section titled “TAの具体的なタスクとアプローチ”- テスト手順の実行: 決定されたスケジュールと優先順位に従い、手動または自動化ツールを補助的に用いてテスト手順を忠実に実行します。
- 結果の比較と記録: システムの実際の挙動(出力や画面遷移など)を、設計段階で定義した「期待される結果」と注意深く比較し、一致しているかどうかを記録(パス / フェイルの判定)します。
- 不具合の観察とレポート: 実際の挙動が期待値と異なる(フェイルした)場合、その現象を注意深く観察し、再現手順、発生した環境、ログやスクリーンショットなどの詳細な情報を揃えて、正確でわかりやすい「不具合レポート(欠陥報告)」を起票します。