テスト分析
テスト分析のタスク
Section titled “テスト分析のタスク”テスト分析では、テスト計画で決定した範囲に対して以下の活動を行います。
- テストベースを分析し、様々な種類の欠陥を識別する。
- テスト対象のテスト条件とフィーチャーを識別し、優先度を割り当てる。
- テストベースの要素とテスト条件の間に双方向のトレーサビリティを確立する。
- リスクベースドテストに付随するタスクを実行する(第 2 章を参照)
テスト分析の開始基準
Section titled “テスト分析の開始基準”効果的に分析を進めるため、以下の開始基準を満たしているか確認します。
- テストベース(要件やユーザーストーリーなど)が存在すること。
- テストベースが適切な結果でレビューに合格していること。
- 予算とスケジュールが適切に確保されていること。
テスト条件の識別
Section titled “テスト条件の識別”テスト条件とは、 「システムの中でテストすべき項目や条件(何をテストするか)」 のことです。テストアナリストは、テスト分析のフェーズでこのテスト条件を洗い出し、整理します。
重要なポイントは以下の5つです。
1. テスト条件をどのように洗い出すか(識別)
Section titled “1. テスト条件をどのように洗い出すか(識別)”基本的には、要件仕様書などの「テストベース」と、プロジェクトの「テスト目的」を分析してテスト条件を洗い出し、優先度を割り当てます。
- ドキュメントが古い・存在しない場合: ワークショップや計画会議などで関係者(ステークホルダー)と協議して識別します。
- アジャイル開発の場合: ユーザーストーリーの一部として定義されている「受け入れ基準」をテスト設計のベースとして使用することが多いです。
2. 「階層的(大まか→詳細)」に定義する
Section titled “2. 「階層的(大まか→詳細)」に定義する”最初から細かすぎる条件を考えるのではなく、 異なる詳細度合い(階層的) で定義することが推奨されています。
- ハイレベル(大まか)な条件: 「画面Xの機能性」といったざっくりとしたターゲットを定義します。
- 詳細な条件: 「画面Xでは、正しい長さよりも1桁足りないアカウント番号を拒否する」といった、具体的なテストケースの元になるレベルまで落とし込みます。
このように段階を踏むことで、仕様(ユーザーストーリーなど)が完全に洗練されていない初期段階からテストの準備を始めることができ、ハイレベルのアイテムに対するカバレッジ(網羅性)も十分に確保できるようになります。
3. リスクや要件と紐づける(トレーサビリティ)
Section titled “3. リスクや要件と紐づける(トレーサビリティ)”洗い出したテスト条件は、ただリストアップするだけでなく、根拠となる情報と結びつけます。
- 要件との紐づけ: テストベース(要件など)の各要素とテスト条件の間に、双方向の追跡(トレーサビリティ)を確立します。
- リスクとの紐づけ: プロダクトリスクが定義されている場合、「どのテスト条件が、どのリスクに対処するためのものか」を後からたどれるように紐づけておきます。
4. テスト技法を活用する
Section titled “4. テスト技法を活用する”テスト計画やテスト戦略で決められた「テスト技法」を適用することで、テスト条件の分析活動が促進され、以下の目的が達成しやすくなります。
- テスト条件の識別がしやすくなる。
- 重要なテスト条件が漏れてしまう可能性を減らす。
- より明確で正確なテスト条件を定義できるようになる。
5. ステークホルダーとレビューする
Section titled “5. ステークホルダーとレビューする”テスト条件を識別して洗練した後は、ステークホルダー(顧客、開発者など)と一緒にレビュー(確認)します。これにより、要件を明確に理解し、テストの方向性がプロジェクトのゴールと一致しているかを確認することができます。
テストアナリストはこれらの活動を通じてテスト条件を整理します。テスト分析の活動が完了したとき、テストアナリストは 「その領域に対して、どのような仕様のテストケースを設計しなければならないか」 が明確に分かっている状態になっているべきです。