「テスト (プログラム)」の版間の差分
imported>MikeCAT 作成 |
Administrator (トーク | 投稿記録) |
||
| (2人の利用者による、間の3版が非表示) | |||
| 10行目: | 10行目: | ||
===プレテスト=== | ===プレテスト=== | ||
[[Codeforces]] | プレテストとは、[[Codeforces]]において行われる用意されたテストケースの一部を用いたテストのことである。このテストに通ると一応得点が決まり、問題をLockできるようになるが、[[撃墜]]や[[システムテスト]]で不正解になるとその問題の得点は無くなる。 | ||
[[撃墜]]や[[システムテスト]]で不正解になるとその問題の得点は無くなる。 | |||
===[[システムテスト]] | ===システムテスト=== | ||
[[ジャッジ]] | [[システムテスト]]とは、[[ジャッジ]]側に用意された全テストケースを用いたテストのことである。このテストにより最終的にそのプログラムが[[Accepted|正解]]かどうかが決まる。ただし、たまに[[ミスジャッジ]]が発覚し、[[リジャッジ]]が行われることがある。 | ||
===[[ユニットテスト]] | ===ユニットテスト=== | ||
[[ユニットテスト]]とは、プログラム中の個々の[[モジュール]](関数など)を対象にしたテストのことである。[[CppUnit]]や[[JUnit]]などのツールが使われることがある。 | |||
[[CppUnit]]や[[JUnit]]などのツールが使われることがある。 | |||
=== | ===結合テスト=== | ||
未稿 | 未稿 | ||
=== | ===負荷テスト=== | ||
未稿 | 未稿 | ||
=== | ===正しさの証明=== | ||
未稿 | 未稿 | ||
==主なテストケースの種類== | ==主なテストケースの種類== | ||
===サンプルケース=== | ===サンプルケース=== | ||
サンプルケースとは、あらかじめ公開された入出力例。これに通らないと話にならないが、たまに通らないコードが提出される。 | |||
===最大ケース=== | ===最大ケース=== | ||
最大ケースとは、仕様上考えられる最大の入力。大きい入力に対しても短時間で効率よく処理できるかをチェックする。 | |||
たとえば毎日実行される[[バッチ処理]]が「最大値入力だと24時間以上かかる」という場合は、それは「単に遅い」ではなく「不具合」であるといえる。多重起動防止などを実装していなければ、そのうちリソースを食いつぶすことになりかねない。 | |||
===コーナーケース=== | ===コーナーケース=== | ||
コーナーケースとは、場合分けの境界などの特定の条件を満たすケース。境界値での条件分岐の正しさを確認するものをいう。適当な入力に対しては正しい出力ができても、コーナーケースに対しては間違った出力になる場合がある。 | |||
ほとんどは「<」と「<=」の記述ミスを検出する目的である。 | |||
===ランダムケース=== | ===ランダムケース=== | ||
ランダムケースとは、プログラムなどでランダムに生成したケース。細かい場所に紛れ込んだバグがある場合、これに引っかかり落ちることが期待される。 | |||
==関連項目== | ==関連項目== | ||
* [[デバッグ]] | |||
* [[オンラインジャッジ]] | *[[デバッグ]] | ||
*[[オンラインジャッジ]] | |||