テストケース 【test case】

概要

テストケース(test case)とは、ソフトウェアテストを実施する際に用意する、実行条件や入力データ、期待される出力や結果などの組み合わせ。

ソフトウェアやシステムが期待通り動作するかを確認するために用意するもので、一つのプログラムをテストするために複数のテストケースを作成することが多い。複雑・大規模なソフトウェアでは膨大な数のテストケースを作成することもある。

テストケースは基本的に「このような条件・状況でこのような入力を与えると、このような結果になる」という形で表現される。人が読んで分かるよう文書として作成し、人がそれを読んで一件ずつテストする場合と、一定のデータ形式で記述あるいは自動生成し、テストツールを用いて自動的に検証する場合がある。

作成した各ケースについて、実施したテスト結果(合否や出力値、システムの挙動など)を記録し、開発者にフィードバックするデータ管理の仕組みも必要となる。一度テストしたケース群はプログラムに対応付けて保管しておき、バージョンアップなどの際に再度実施することでデグレードリグレッション)を防ぐことができる。

ケースの作成

テストケースの作成にあたっては、テストの対象、目的、構成や環境、前提条件、操作手順、入力データ、期待する出力データや振る舞いなどを、誰が見ても同じように実施できるよう曖昧さなく記述する必要がある。

テストの目的に応じて、「正常な操作や入力に対して、期待した結果が得られる」ことを確かめる正常系テストと、「異常な操作や入力に対して、致命的な事態に陥らずに対処できる」ことを確かめる異常系テストがあり、それぞれのケースを作成する必要がある。

よほど単純なプログラムでない限り、ありとあらゆる操作や入力値の組み合わせを試すことはできないため、同じ挙動が期待される範囲から代表して一つのケースが作られる。このとき、入力値のバリエーションに重複や欠落が起きないよう、同値分割、境界値分割、ペアワイズ法などの手法が駆使される。

(2023.1.31更新)

ソフトウェアテストの用語一覧

試験出題履歴

ITパスポート試験 : 平26春 問35 平25春 問37 平24秋 問46
基本情報技術者試験 : 令6修12 問37 令5修12 問37 令4修6 問47 令3修6 問48 令2修12 問47 令2修1 問48 令1秋 問49 平30修7 問49 平29修7 問48 平29春 問49 平28修12 問49 平28春 問49 平27秋 問47 平27修6 問48 平27春 問50 平26修7 問48 平26春 問49 平24修12 問48 平22秋 問48