私はコーディングが大好きなサイドプロジェクトがあります。できる限り私は時間を費やしています。私はまだ大学の研究を終えているからです。私がそれを始めたとき、良いプログラミングのやり方やTDDをほとんど知りませんでした。私だけがをと書きました。コードをテストし続けるか、より多くの機能を実装する必要がありますか?
新しい機能を実装する前に、いくつかの反復、リファクタ、改良、蓄積された知識が私に可能な単体テストと統合テストを書いてくれました。 しかし、私はまだ実際に行うには十分な時間がありませんすべて許容範囲のコードカバレッジを持つためのテスト...ソフトウェアは が動作しますが。
私はこのプロジェクトに費やす時間があるとき、私は多くのテストを行っていない新しい機能(今度はユニットテストを並行して実行する)を実装したいと思う、それらの多くは嘲笑やもののためにするのが難しいです...
私は機能を追加し続けなければなりませんか、それとも前にすべてのテストを終了すべきですか?
私は合理コードカバレッジに到達するまで、ソフトウェアがベータバージョンである必要があり、このことで決定。現時点ではバージョン0.9-beta
です。
私は新しい機能を追加する場合、ベータ版を保持しているセマンティックバージョンに従うべきですか?たとえば、次の繰り返しである0.10-beta
、0.11-beta
などがテストが終了するまで続き、最後にの非ベータ版になります。
あなたは私のプロジェクトを確認したい場合は、ここでのリンクは次のとおりです。私の意見ではoctaviospain.github.io/Musicott
コードカバレッジについては忘れてください。高いコードカバレッジは通常、(値の小さいメトリックではなく)ターゲットに変わります。このとき、テストの品質に影響があります。プログラマーは、覆われていないコードを実行するための不自然な、複雑なテストケースの作成を開始します。代わりに機能性を記述するテストを書くことに集中してください。テストスイートをコードカバレッジで実行します。テストが明確で期待された機能をカバーしている場合、コードカバレッジは実際にはコードが必要ないことを示します。それをカバーするためのテストを書くのではなく、それを削除してください。 – axiac
まあ、8%は実際には低いコードカバレッジです。より多くのテストを書くことができますが、テストするものの目安として行単位のコードカバレッジを使用しないでください。テスト済みのコードを書いた後でもテストを書くことは、アプリケーションフローをよりよく理解するのに役立ちます。 – axiac
@axiacあなたの答えをありがとう、私はより多くのオープンソースプロジェクトのgithubのように、プロジェクト_をもっと良く見せるために、より高いコードカバレッジを持っていたいと思っていました。私は、ターゲットに戻ることは、自分のコードをテストする適切な方法ではないことを理解しています。 – ottogarcia