TESTRUCTUREを使用したテスト設計方法についてご紹介いたします。
TESTRUCTUREを使用したテスト設計の流れ
TESTRUCTUREでは、以下の流れでテストベースを分析しテストケースを導出します。(Process Flow Diagramを使用)
「テストアイテム」「フィーチャー」「テスト条件」「テストカバレッジアイテム」「テストケース」の考え方
テストアイテム・・・何をテストするかを記載
- テストの対象となるワークプロダクトを記載します。
- システム、ソフトウェアアイテム、要求文書、設計仕様、ユーザーガイドなどを
記載します。 - テストアイテムは階層構造にして整理し、具体化します。
テストアイテムの例
- 電気ポット :電気ポット、操作パネル、貯水部、各種センサーなど
- カーナビ :カーナビ、ディスプレイ描画部、操作パネルなど
- Webのログイン画面 :Webのログイン画面、入力部、ポップアップ表示など
フィーチャー・・・どのようなテストをするかを記載
- テストアイテムをテストする上で明示的、暗示的に規定された属性を
記載します。 - フィーチャーは階層構造にして整理し、具体化します。
フィーチャーの例
- 電気ポット :温度制御行為、操作制御、デフォルト値など
- カーナビ :電源状態、ルート案内、GPS通信の受信状態、道路形状など
- Webのログイン画面 :画面遷移パターン、入力パターン、ログイン判定、
利用ブラウザなど
テスト条件・・・何をテスト可能かを記載
- テストアイテムに対して根拠となる、フィーチャーをテスト可能になるように
記載します。 - 識別可能な受け入れ基準を記載します。
テスト条件の例
- 電気ポット :電気ポットの状態に応じて、温度制御行為が適切に行われるか
確認する - カーナビ :道路形状に関わらず、ルート案内が適切に行われるか確認する
- Webのログイン画面 :入力部への入力パターンに関わらず、ログイン判定が
適切に行われるか確認する
テストカバレッジアイテムの候補・・・どのぐらいテストするか
- テスト条件を具体化するために必要な具体的なパラメータ(入力値や状態など)
を記載します。 - 「テストカバレッジアイテム」となり得る候補を階層構造で整理します。
- フィーチャーをある程度具体的なものにしたとき、候補はフィーチャーと
ほぼ同じになることがあります。 - テスト設計技法を適用して導出します。
テストカバレッジアイテムの候補の例
- 上位階層:入力パターン
- 下位階層:対応文字種、非対応文字種(記号など)
※テストカバレッジアイテムの候補を組み合わせる場合、上位階層を因子、下位階層を水準と呼ぶことが
あります。
テストケース・・・どのようにテストをするか
- テストカバレッジアイテムをテスト実行できるように、実施する方法を
具体化したものを記載します。 - 「テストカバレッジアイテム」に対して、テストを実施する方法を記載します。
- 「前提条件」と「入力」と「期待結果」はテストケース1件ずつに記載します。
テストケースの例
- テストカバレッジアイテム:入力パターン対応文字種
- 入力:入力部へ、対応文字種を入れてログインを実施する
- 期待結果:ログイン判定を実施すること
- テストカバレッジアイテム:入力パターン非対応文字種(記号など)
- 入力:入力部へ、対応文字種を入れてログインを実施する
- 期待結果:ログイン判定を実施せず、エラー画面を表示すること
以上、TESTRUCTUREを使用したテスト設計方法についてご説明いたしました。