重複: https://stackoverflow.com/questions/135651/learning-unit-testing
私の研究グループが実験データを分析してプロットするためのソフトウェアを開発しようとしています。かなりエラーのないところにしたいと思います。これは単体テストの状況でしょうか? もしそうなら、ユニットテストのためのいくつかの良い参考文献を教えていただけますか?
重複: https://stackoverflow.com/questions/135651/learning-unit-testing
私の研究グループが実験データを分析してプロットするためのソフトウェアを開発しようとしています。かなりエラーのないところにしたいと思います。これは単体テストの状況でしょうか? もしそうなら、ユニットテストのためのいくつかの良い参考文献を教えていただけますか?
ほとんどすべてのコードが単体テストに適しています。コードの意図を文書化し、コードが意図したとおりに機能することを証明するのに役立ちます。グループの他のメンバーにコードをリリースする前に、バグを見つけるのに役立ちます。使用しているプラットフォームについては言及されていないため、テスト フレームワークを推奨することはできませんが、Kent Beck の優れたTest Driven Development: By Exampleを一般的な出発点として推奨できます。
私の経験から、単体テストは、バグをできるだけ早く発見するのに役立つ、UI に関連しない機能 (「負の値の場合、数値が赤で表示される」など) の優れたアイデアです。したがって、可能な限り単体テストを作成することをお勧めします (そして、新しいコードの一部が何かを壊していないかどうかを確認するために、毎晩または各ビルド後に自動的に実行するようにします)。
アプリケーションでデータを分析する必要がありますか? テストを書くことができるようですね。
たとえば、データが水曜日に常にスコア 5.25 の場合。
テストを書くことができます。
void CheckScoreOnWeds()
{
Assert.AreEqual( 5.25, DataAnalyzer.CalcScore(Day.Wednesday));
}
そして、あなたのクラスを書きます
class DataAnalyzer
{
public double CalcScore( DayOfWeek Day)
{
//complex stuff
return 5.25
}
}
そこに単体テストがあります。