TESTRUCTURE導入ガイド2 TESTRUCTUREを使用したテスト設計方法

f:id:tstr_support:20210104181518p:plain

TESTRUCTUREを使用したテスト設計方法についてご紹介いたします。

TESTRUCTUREを使用したテスト設計の流れ

TESTRUCTUREでは、以下の流れでテストベースを分析しテストケースを導出します。(Process Flow Diagramを使用)

f:id:tstr_support:20210125174020p:plain

「テストアイテム」「フィーチャー」「テスト条件」「テストカバレッジアイテム」「テストケース」の考え方

テストアイテム・・・何をテストするかを記載

  • テストの対象となるワークプロダクトを記載します。
  • システム、ソフトウェアアイテム、要求文書、設計仕様、ユーザーガイドなどを
    記載します。
  • テストアイテムは階層構造にして整理し、具体化します。

テストアイテムの例

  • 電気ポット  :電気ポット、操作パネル、貯水部、各種センサーなど
  • カーナビ   :カーナビ、ディスプレイ描画部、操作パネルなど
  • Webのログイン画面  :Webのログイン画面、入力部、ポップアップ表示など

フィーチャー・・・どのようなテストをするかを記載

  • テストアイテムをテストする上で明示的、暗示的に規定された属性を
    記載します。
  • フィーチャーは階層構造にして整理し、具体化します。

フィーチャーの例

  • 電気ポット  :温度制御行為、操作制御、デフォルト値など
  • カーナビ   :電源状態、ルート案内、GPS通信の受信状態、道路形状など
  • Webのログイン画面  :画面遷移パターン、入力パターン、ログイン判定、
    利用ブラウザなど

テスト条件・・・何をテスト可能かを記載

  • テストアイテムに対して根拠となる、フィーチャーをテスト可能になるように
    記載します。
  • 識別可能な受け入れ基準を記載します。

テスト条件の例

  • 電気ポット  :電気ポットの状態に応じて、温度制御行為が適切に行われるか
    確認する
  • カーナビ   :道路形状に関わらず、ルート案内が適切に行われるか確認する
  • Webのログイン画面  :入力部への入力パターンに関わらず、ログイン判定が
    適切に行われるか確認する

テストカバレッジアイテムの候補・・・どのぐらいテストするか

  • テスト条件を具体化するために必要な具体的なパラメータ(入力値や状態など)
    を記載します。
  • 「テストカバレッジアイテム」となり得る候補を階層構造で整理します。
  • フィーチャーをある程度具体的なものにしたとき、候補はフィーチャーと
    ほぼ同じになることがあります。
  • テスト設計技法を適用して導出します。

テストカバレッジアイテムの候補の例 

  • 上位階層:入力パターン
  • 下位階層:対応文字種、非対応文字種(記号など)

※テストカバレッジアイテムの候補を組み合わせる場合、上位階層を因子、下位階層を水準と呼ぶことが
あります。

テストケース・・・どのようにテストをするか

  • テストカバレッジアイテムをテスト実行できるように、実施する方法を
    具体化したものを記載します。
  • 「テストカバレッジアイテム」に対して、テストを実施する方法を記載します。
  • 「前提条件」と「入力」と「期待結果」はテストケース1件ずつに記載します。

テストケースの例

  • テストカバレッジアイテム:入力パターン対応文字種
  • 入力:入力部へ、対応文字種を入れてログインを実施する
  • 期待結果:ログイン判定を実施すること
  • テストカバレッジアイテム:入力パターン非対応文字種(記号など)
  • 入力:入力部へ、対応文字種を入れてログインを実施する
  • 期待結果:ログイン判定を実施せず、エラー画面を表示すること

以上、TESTRUCTUREを使用したテスト設計方法についてご説明いたしました。