2016-05-15 9 views
0

背景特定の単体テストケースの寄与率を決定する方法は?

IはTDD(テスト駆動開発)と、ユニットテスト、並びにの異なるカバレッジメトリクスの原理を認識しています。現在、私は100%branch coverageに達するはずのLinux C/C++プロジェクトに取り組んでいます。

質問

誰もが、特定のカバレッジ目標を達成するために最も貢献自動的にこれらのユニットテストケースを特定する技術/手法を、知っていますか?それぞれの単体テストは、寄与率(%)と関連付けられます。この数字があれば、単体テストケースはその寄与率で注文することができます。

+1

私は、なぜカバレッジの低いテストケースが他のテストケースより優れていないのか知りたいと思っています。 –

+0

@Edヒール私は、より低いテストケースのテストケースが良くないという意味ではありませんでした!私はテストケースを寄稿率で注文することに興味があります。 – orbitcowboy

+0

なぜですか?ちょうどそれらのすべてを実行します。隣のパブでビールを持ってください –

答えて

0

Greedy algorithmがここに役立ちます。簡単な言葉では:すべてのテストから

  1. は最高のカバレッジ
  2. すでに選択残りの候補者とテストの間のカバレッジのデルタを計算すると1を選択します。
  3. すべてのテストが結果順位

に置かれるまで、あなたがSquish Cocoによって生成されたもののように見えるの並べ替えを取得しますステップ2のよう最大のデルタ

  • 繰り返しを与える候補を選択してくださいGNUのcoreutilsのために:

    Optimized Execution Order

    通常、各余分なテストの利点は、追加より多くのテストを下に移動します。それらのうちのいくつかは、全体のカバレッジにゼロの貢献をしているかもしれません。

    このソートの良い例は、実行時間が限られているスモークテストの最適な実行順序です。完全なテストのためには、もちろん、スイート全体を実行する方がよいでしょう。

  • 関連する問題