差分

ナビゲーションに移動 検索に移動

テスト (プログラム)

2,597 バイト追加, 2013年8月22日 (木) 08:36
作成
'''テスト'''とは、書かれた[[プログラム]]が正しいかどうかチェックすることである。

==主なテストの種類==
===サンプルテスト(仮)===
あらかじめ与えられた[[サンプル]]入力を[[ローカル]]でプログラムに入力し、
プログラムの出力が対応するサンプル出力と一致するか、強制終了しないかをチェックする。

ただし、サンプルは通っても、もっと大きい[[テストケース]]では[[Runtime Error|強制終了]]したり、
[[Time Limit Exceeded|処理が長時間]]かかったり、[[Wrong Answer|誤答]]になる場合があるので注意が必要である。

===プレテスト===
[[Codeforces]]において行われる、用意されたテストケースの一部を用いたテスト。
このテストに通ると一応得点が決まり、問題をLockできるようになるが、
[[撃墜]]や[[システムテスト]]で不正解になるとその問題の得点は無くなる。

===[[システムテスト]]===
[[ジャッジ]]側に用意された全テストケースを用いたテスト。
このテストにより、最終的にそのプログラムが[[Accepted|正解]]かどうかが決まる。
ただし、たまに[[ミスジャッジ]]が発覚し、[[リジャッジ]]が行われることがある。

===[[ユニットテスト]]===
プログラム中の個々の[[モジュール]](関数など)を対象にしたテスト。
[[CppUnit]]や[[JUnit]]などのツールが使われることがある。

===[[単体テスト]]===
未稿

===[[結合テスト]]===
未稿

===[[負荷テスト]]===
未稿

===正しさの[[証明]]===
未稿

==主なテストケースの種類==
===サンプルケース===
あらかじめ公開された入出力例。
これに通らないと話にならないが、たまに通らないコードが提出される。

===最大ケース===
仕様上考えられる最大の入力。
大きい入力に対しても、短時間で効率よく処理できるかをチェックする。

===コーナーケース===
場合分けの境界などの特定の条件を満たすケース。
適当な入力に対しては正しい出力ができても、コーナーケースに対しては間違った出力になる場合がある。

===ランダムケース===
プログラムなどでランダムに生成したケース。
細かい場所に紛れ込んだバグがある場合、これに引っかかり落ちることが期待される。

==関連項目==
* [[デバッグ]]
* [[オンラインジャッジ]]
匿名利用者

案内メニュー