テストケース(てすとけーす)情報システム用語事典

test case / テストケース

» 2011年11月07日 00時00分 公開

 ソフトウェアテスト(注1)において個々のテストの適合要件を定めたもの。一般に実行前条件・入力値・期待結果・実行後条件の組み合わせとして定義される。

 ソフトウェアテストといえば普通は、プログラムやシステムを実際に動かして結果を検証する方法(動的テスト)(注2)を指す。テストではプログラムをやみくもに動かしても正誤の判定ができないので、「このように動けば正しい」「このような結果となれば間違っている」といった判断基準が必要となる。テストケースは、こうした判断基準(期待結果)として作成されるテスト成果物(注3)である。

 テストケースは「この状態でこの入力を行えば、この処理が行われてこの結果が期待される」といった内容を記載したもので、テスト作業はこの指示に従って行われる。テストケースで指定された入力に対してテスト対象のソフトウェアが出力した結果と、テストケースに記載された期待結果を比較検証することで、当該ソフトウェアの動作が正しいか否かが判定される。

 入力−出力という1つのアクション(テスト)に対する指示がテストケースであり、任意のテスト対象(モジュールやソフトウェア製品など)に対するさまざまなテスト(テストケース)の1群をテストスイートという。テストケース、テストスイートは、テスト作業やテスト対象ごとに個々に検討・作成していくものである。

 テストケースの作成方法には大別して、入出力に注目する「ブラックボックステスト」と、制御パスに注目する「ホワイトボックステスト」がある。実用レベルのソフトウェアでは入出力も制御パスも組み合わせが膨大で、それをすべてテストしようとするとテストケースは天文学的な数となる。ブラックボックステストもホワイトボックステストもテスト精度を維持しながら、テストケースを削減するテクニックである。

 テストケースの記述形式にはさまざまなものがある。よく見られる形式としては通常の文章、個条書き、あるいはテスト項目や操作手順を示したマニュアル形式などがある。テスティングフレームワークなどを使った自動テストでは、デジタルデータとなる。

 テストケースは一種のテスト指示書なので、決まった操作を行うだけなのか、テスターの創意工夫によって不具合を発見してほしいのか、目的によって書き方や内容は大幅に変わってくる。テストケースにテストデータを添付する場合も決められたとおりに使うものなのか、サンプルなのかを明示する。

 ソフトウェアテストは進捗に応じてテストすべき内容が変わるので、テストケースも必要に応じて見直していく必要がある。上述のようなテスターの創意工夫によるテストを行った場合では、そのテスト内容をテストケースに追加して、回帰テストでも同じテストができるようにするとよい。

 テストケースごとに、そのテストを行った日付、テスト結果、実施者、ビルド番号、環境などを記録しておけば、ソフトウェアメトリックスのよい基礎資料となるだろう。

(注1)ソフトウェアテスト

(注2)動的テスト

(注3)成果物

参考文献

▼『ソフトウェア・テストの技法〈第2版〉』 グレンフォード・J・マイヤーズ、トム・バジェット、テッド・M・トーマス、コーリー・サンドラー=著/長尾真=監訳/松尾正信=訳/近代科学社/2006年7月(『The Art of Software Testing: 2nd ed』の邦訳)

▼『はじめて学ぶソフトウェアのテスト技法』 リー・コープランド=著/宗雅彦=訳/日経BP社/2005年11月(『A Practitioner's Guide to Software Test Design』の邦訳)

▼『経験ゼロでもできるプログラミング現場の単体テスト』 片桐一宗=著/翔泳社/2009年5月

▼『実践的プログラムテスト入門——ソフトウェアのブラックボックステスト』 ボーリス・バイザー=著/小野間彰、山浦恒央、石原成夫=訳/日経BP社/1997年8月(『Black-Box Testing: Techniques for Functional Testing of Software and Systems』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ