テストケース 【test case】
ソフトウェアやシステムが期待通り動作するかを確認するために用意するもので、一つのプログラムをテストするために複数のテストケースを作成することが多い。複雑・大規模なソフトウェアでは膨大な数のテストケースを作成することもある。
テストケースは基本的に「このような条件・状況でこのような入力を与えると、このような結果になる」という形で表現される。人が読んで分かるよう文書として作成し、人がそれを読んで一件ずつテストする場合と、一定のデータ形式で記述あるいは自動生成し、テストツールを用いて自動的に検証する場合がある。
作成した各ケースについて、実施したテスト結果(合否や出力値、システムの挙動など)を記録し、開発者にフィードバックするデータ管理の仕組みも必要となる。一度テストしたケース群はプログラムに対応付けて保管しておき、バージョンアップなどの際に再度実施することでデグレード(リグレッション)を防ぐことができる。
ケースの作成
テストケースの作成にあたっては、テストの対象、目的、構成や環境、前提条件、操作手順、入力データ、期待する出力データや振る舞いなどを、誰が見ても同じように実施できるよう曖昧さなく記述する必要がある。
テストの目的に応じて、「正常な操作や入力に対して、期待した結果が得られる」ことを確かめる正常系テストと、「異常な操作や入力に対して、致命的な事態に陥らずに対処できる」ことを確かめる異常系テストがあり、それぞれのケースを作成する必要がある。
よほど単純なプログラムでない限り、ありとあらゆる操作や入力値の組み合わせを試すことはできないため、同じ挙動が期待される範囲から代表して一つのケースが作られる。このとき、入力値のバリエーションに重複や欠落が起きないよう、同値分割、境界値分割、ペアワイズ法などの手法が駆使される。