「テスト (プログラム)」の版間の差分

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

2019年2月4日 (月) 02:16時点における版

テストとは、書かれたプログラムが正しいかどうかチェックすることである。

主なテストの種類

サンプルテスト(仮)

あらかじめ与えられたサンプル入力をローカルでプログラムに入力し、 プログラムの出力が対応するサンプル出力と一致するか、強制終了しないかをチェックする。

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

プレテスト

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

システムテスト

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

ユニットテスト

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

結合テスト

未稿

負荷テスト

未稿

正しさの証明

未稿

主なテストケースの種類

サンプルケース

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

最大ケース

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

コーナーケース

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

ランダムケース

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

関連項目