アドベントカレンダー5日目
リリカルです。前回の続きです。
前回は「テスト仕様書とテストケースの違い」に触れつつ、新しい概念として「ハイレベルテストケース」「ローレベルテストケース」についても述べます、という予告をしていました。早速参りましょう。
マインドマップから始めるソフトウェアテスト
テスト仕様書、テストケースという言葉が出てきたのはマインドマップ本の記述を拾っていた時です。もう一度引用しておきます。まずはテスト仕様書の方から。
テスト設計
テストを行うにあたって、さらに細かくテスト項目を洗い出し、テスト項目の組み合わせをテスト仕様としてまとめていきます。
(マインドマップから始めるソフトウェアテスト p.32より引用)
テスト項目の組み合わせがテスト仕様ということなのでしょうか?より詳しく見てみましょう。
マインドマップ本のテスト設計の章ではどのような手順で設計をしているかというと、その名の通りマインドマップを活用しているわけですが、ポイントはここで「重要度」「振る舞いの組み合わせ」「ねらうところ」などを検討していることです。
要するにテスト設計で出てくるアウトプットは、テスト計画よりは具体的なテストの方針・方向性を示してはいますが、そのままテストケースとして使えるものではありません。
おっと、この表現は前回記事にも出てきましたね。そうです、「テスト条件」についても同様のことがいえます。これは実際にテスト実行に用いるテストケースとしては情報が不足しています。
高位/低位レベルテストケース
さてここで、今回のテーマの一つである「高位レベルテストケース」「低位レベルテストケース」について、ISTQBの用語集(日本語版)から引用してみましょう。
高位レベルテストケース(high level test case)
具体的な(実行レベルの)入力値や予測結果を使わないテストケース。(後略)
低位レベルテストケース(low level test case)
入力データと期待結果が具体的(実装レベル)なテストケース。(後略)
(ソフトウェアテスト標準用語集 日本語版 Version 2.3.J02 より引用)
おわかりいただけたでしょうか。
高位・低位の差は「テストで使用する具体的な値が決まっていて、実際にそのままテスト実行ができるかどうか」です。
低位レベルテストケースを作成する理由は、もちろんテストを実行するためです。そのために具体的な値まで決定するのです。
では高位レベルテストケースを作る理由は何でしょうか?
あくまでこれは私の理解ですが、「段階的詳細化を行うため」だと思っています。
テスト計画では、本当に全体的なテスト方針しか決められません。どんなアプローチをするかといった、かなり大きな話になってしまいます。テスト計画だけをインプットに低位レベルテストケースを検討するのは困難です。
しかしテスト設計では、テストにおいてどこをねらうか?組み合わせを考慮すべきところはどこか?といったより詳細な検討を行うことができます。このアウトプットが、高位レベルテストケースです。
ただし、これはあくまで低位レベルテストケースを作るための材料でしかなく、そのままテスト実行に用いることはできないことが多いという点に注意が必要です。
簡単にまとめると、
テスト設計のアウトプット:高位レベルテストケース。低位レベルテストケースの元ネタとして使う
テスト実装のアウトプット:低位レベルテストケース。テスト実行の時に使う
ということになります。
ちなみに高位・低位レベルテストケースの話はここでもしてます。ちょっと昔の記事でイマイチな文章ですが、参考までに。
ここまでで、テストプロセスの全体像がなんとなく、少し見えてきたでしょうか。
さあ、それではいよいよ次回は本題の「テスト分析・設計」がいったいどんなプロセスのことを指すのか考えていきましょう!
続きます。
参考文献
マインドマップから始めるソフトウェアテスト