1

メソッド/関数レベルでの循環的複雑度などの複雑さの比率に基づいて、単体テストのカバレッジを収集/報告するアプローチはありますか?

その理由/意図は、複雑さに基づいて欠陥の可能性が高い領域が実際に適切な単体テストのカバレッジを持っていることを示す測定可能なメトリックを提供することです (つまり、「100%」または「80%」のカバレッジから離れたメトリックメトリクスを循環的複雑度の 100% >= 10 など)。

私のユースケースは現在Java/junitであり、同じ意図に到達するための別のアプローチも役立ちます(Cyclomaticに基づくメソッド/関数である必要はありませんが、同様のタイプの測定です)。

編集: Java と .NET の両方に同様の機能を備えたコード カバレッジ ツールがあれば、それは驚異的です。

ありがとう!-ダレン

4

1 に答える 1

1

免責事項: 私は Atlassian の Clover 開発者です。質問に「クローバー」のタグを付けたようですので、お答えします:-)

Clover では、2 つの方法でそれを行うことができます (それらを組み合わせることもできます)。

1) コンテキスト フィルターを定義できますが、循環的複雑度 <= N のメソッドをインストルメント化しないでください。<clover-setup maxComplexity="NN"> を参照してください。

2) カスタム メトリクスを定義できます。たとえば、カバレッジ値 (または「カバーされていない」値) に循環的複雑度を掛けます。このようなメトリックは、複雑でカバーされていない方法を、単純でカバーされていない方法よりも重要であることを示します。<clover-report> / <columns> を参照

おー。もう一つ。Clover は自動的にそれを行います :-) HTML レポートでは、アプリケーションの潜在的に最も重要な部分を示すためにカバレッジ + 複雑さを取るトップ プロジェクト リスク メトリックの「タグ クラウド」を確認できます。

参考文献:

于 2013-11-05T20:40:28.790 に答える