1.テストプロセス(JSTQB Advanced Levelアナリスト)

※出題される60問の中で2番目に出題数が多い章(18.0%程度)

 

1.2 ソフトウェア開発ライフサイクルにおけるテスト

  • 他の関連する組織領域に情報を提供する可能性がある点を認識する必要がある
    • 要求エンジニアリングおよびマネジメント
      • 要件レビュー
    • プロジェクトマネジメント
      • スケジュール
    • 構成管理および変更管理
      • ビルド検証テスト
      • バージョンコントロール
    • ソフトウェア開発
      • 提供される内容とタイミングの予測
    • ソフトウェアメンテナンス
      • 欠陥マネジメント
      • ターンアラウンドタイム(欠陥を見つけてから解決するまでの時間)
    • テクニカルサポート
      • 回避策の正確な文書化
    • テクニカルドキュメントの生成
      • これからドキュメントへの入力とドキュメントのテクニカルレビュー
 
  • 関与への期待度とタイミングを理解する必要がある
  • アジャイルプロジェクト
    • 最も早期に関与する必要がある
    • 初期のアーキテクチャ、設計の作業を開発者と連携して行う必要がある
    • プロジェクト全体を通して関与する
  • 埋め込み型イテレーティブモデル
    • 標準的な計画作業、設計の側面に関与する
    • ソフトウェアの開発、テスト、変更、および展開と段階が進むにつれ、より相互作用的な役割に移行する
 

1.3 テストの計画作業、モニタリング、およびコントロール

  • テスト計画作業時には、テストアナリストはテストマネージャと連携して、次の項目を検討し、計画する必要がある
    • テスト計画を、機能テストに限定されないようにする
      • 使用性テストに責任を持つことがある
    • テストマネージャと連携してテスト見積りをレビューし、テスト環境の調達と妥当性確認のために適切な時間が計上されていることを確認する
    • 構成テストを計画する
    • ドキュメントのテストを計画する
    • インストール手順のテストを計画する
    • ソフトウェアライフサイクルとの整合性が取れるようにテストを計画する
    • クロスファンクショナルなチームと連携してリスクの識別および分析を行うための適切な時間を計上する
      • リスクマネージメントセッションを編成する責任を持たないが、これらの活動に積極的に関与する必要がある
 
  • テストマネージャ:テストのモニタリングとコントロール
  • テストアナリスト:コントロールを可能にするための測定
 
  • 定量的データを収集する必要がある
    • 完了した計画作業の割合
    • 達成したカバレッジの割合
    • 合格および失敗したテストケースの数
 
  • テストマネージャ:メトリック情報の要約を編集およびレポート
  • テストアナリスト:各メトリックの情報を収集
 
  • 正確なメトリクスを使用することにより、テストマネージャはプロジェクトをマネジメントし、必要に応じて変更を開始(コントロール)できる
  • テストアナリストは、データが正確で、タイムリーであり、客観的であるようにする必要がある
 

1.4 テスト分析

  • テストアナリストは、スコープを利用して以下を行う
    • テストベースを分析する
    • テスト条件を識別する
 
  • テストアナリストは、テスト分析を効果的に進めるために、次の開始基準が満たされていることを確認する必要がある
    • テストベースとして機能するテスト対象が記載されたドキュメントが存在する
    • このドキュメントは、レビューに適切な評価で合格しており、レビュー後に必要に応じて更新されている
    • テスト対象に対して、残りのテスト作業を完了するために適切な予算とスケジュールが確保されている
 
  • テスト条件を識別するには、テストベースとテスト目的を分析する
    • ドキュメントが古いままで更新されていないか、存在しない場合、例えばワークショップやスプリント計画作業の際に、関連するステークホルダと会話することによりテスト条件を識別できることがある
    • これらのテスト条件は、テスト戦略およびテスト計画内で識別されるテスト設計技法を通して、何をテストするかを決定するために使用する

 

1.5 テスト設計

  • 特定の状況で最適な種類のテストケースを決定すること
 
  • 具体的テストケースは、以下に役立つ
    • テスト担当者の経験が少ない場合
    • 監査などテストの外部検証が必要な場合
    • 優れた再現性だが、メンテナンスに非常に多くの労力を必要とし、実行時にテスト担当者の創造力を制限する傾向にある
  • 論理的テストケースは、以下に最適
    • 要件が適切に定義されていない場合
    • テストを実行するテストアナリストがテストとプロダクトの両方に精通している場合
    • 公式なドキュメントが必要でない場合
    • 具体的テストケースよりも優れたカバレッジを提供することがあるが、再現性が失われる可能性もある 
 

1.6 テスト実装

  • テスト設計の実現
    • テストケースの実行を開始するために必要な自動テストの作成
    • テストの実行順序の編成
    • テストデータおよびテスト環境を完成されること
    • リソース割り当てなどのテスト実行スケジュールの作成
    • 対象テストレベルの明示的および暗黙的な開始基準のチェック
    • プロセス内の前の手順の終了基準が満たされていることの確認
  • テストレベルまたはテストプロセスの手順のいずれかの終了基準を省略した場合、実装作業がスケジュール遅延、不十分な品質、予期しない余分作業の影響を受ける可能性がある
  • 手動および自動のテストを実行する順序を完成させて確認し、特定の順序でのテストが求められるというような制約を入念に確認する必要がある
  • 依存関係を文書化し、チェックする必要がある
 

1.7 テスト実行

  • 適切な時間をかけて、テスト時に観察された他の興味を引くテストシナリオおよび振る舞いを確実にカバーする必要がある
  • 実行結果と期待結果を比較することに注意を払い、焦点を当てる必要がある
  • インシデントを入念に精査し、その原因を究明し、インシデントの解決を支援するデータを収集する必要がある
  • 欠陥を識別したら、テストドキュメントを入念に評価して、テストドキュメントが正しいことを確認する
 
  • テスト実行時に考慮する必要のある特定の領域
    • 「関連性のない」異常なものを見つけたり、探索したりしなさい
    • 想定されない振る舞いをプロダクトが行っていないことを確認しなさい
      • 行うことが想定されていない何かをプロダクトが誤って行っていないことを確認する必要がある
    • テストスイートを構築し、時間と共に成長し変化していくことを予期しなさい
    • 次のテスト向けにメモを記述しなさい
    • すべての手動テストを再実行することを期待しない
    • テストケースを追加するため、欠陥追跡ツールを使用してデータを調べなさい
    • 回帰テストの前に欠陥を見つけなさい
 

1.8 終了基準の評価とレポート

  • 終了基準に満たすことに向けて進捗を評価するために、テストマネージャが使用する情報を提供し、データが正確であることを確認する責任がある
  • テストアナリストは一般的に、テストサイクルの期間中にステータスレポートを提供し、テスト終了時に最終レポートの作成に貢献する
  • テストアナリストは、レポートツールを使用でき、テストマネージャが必要な情報を抽出できるように、適切な情報を提供する必要がある
 

1.9 テスト終了作業

  • 成果物を必要とする人々へそれを届けることへの関与を期待されている
  • 振り返りミーティングに参加する必要がある
  • ミーティングで要求される情報を豊富に提供でき、プロセス改善に関する価値ある情報を収集するミーティングには参加する必要がある
  • 結果、ログ、レポート、その他のドキュメント、および成果物を保管する必要がある
 
以上。