私は一般的に、いくつかの合理的に小さく明確に定義された入力を考えれば、正しい動作を簡単に定義したコードに対して単体テストを使用しようとします。これはバグを捕捉するのには非常に効果的ですが、私は個人的な汎用ライブラリのライブラリで常にそれを行います。正しさが不適切に定義されているかどうかのテスト?
しかし、私が書くコードの多くは、基本的に大きなデータセットで重要なパターンを探すデータマイニングコードです。この場合の正しい動作はよく定義されていないことが多く、人間が予測するのが容易ではない方法で多くの異なる入力に依存します(つまり、数学は手作業で合理的に行うことができません。最初に問題を解決するためのコンピュータ)。これらの入力は非常に複雑で、合理的なテストケースを思い付くことは不可能に近いところまであります。テストに値するエッジケースを特定することは非常に困難です。アルゴリズムが決定的でない場合もあります。
通常、私は正気チェックのためのアサーションを使用し、既知のパターンの小さなおもちゃのテストケースを作成し、必ずしも客観的に正しいものではなく、少なくとも「合理的に見える」かどうかを非公式に見て行うことができます。このようなケースをテストするためのよりよい方法はありますか?
-1彼はテストする方法を尋ね、あなたはテストするように彼に言った。おそらく、あなたは精緻化することができます。 – DevinB