質問: <前提> C#プロジェクトのカバレッジ取得を行っています。 取得方法は、OpenCover.exeでテストを行い、出力されたレポート(xml)をReportGenerator.exeでhtml化するというものになります。 <質問内容> ReportGenerator.exeで生成されたhtmの内容で不明なものがいくつかあります。 ご教授のほど、お願いします。 1項目名「XXXX coverage」について 「Line coverage」は命令網羅の認識。※文網羅とイコールなのかは不安 「Branch coverage」は分岐網羅の認識。 ただ、「Sequence coverage」が何網羅にあたってくる値なのかが分かりません。 値比較を行ったところ 「Line coverage > Sequence coverage > Branch coverage」 となっているようですが、命令網羅と分岐網羅の間?となるとますます分からなくなりました。 2項目名「crap score」とは何の値になるのでしょうか? 3ソースコードの色「橙」の位置づけ 「緑」は分岐網羅済みの認識。 「赤」は命令網羅未達成の認識。 そして「橙」の色については経路網羅、条件網羅未達成だと考えているのですが、いかがでしょうか? <補足> OpenCover.exe:バージョン4.7.922 ReportGenerator.exe:バージョン3.1.2
回答: まず最初に念のため、マニュアル(Wiki)は見ていますか? 1「Sequence coverage」 ちょっと自信がないのですが呼び出し(使用)パターンの網羅率ではないでしょうか。 2「crap score」 > > Change Risk Anti-Patterns (CRAP) インデックス とは、循環的複雑度と、あるコード単位のコードカバレッジに基づいて算出される指標です。 複雑度が低く、適切なテストカバレッジが達成されているコードは、CRAPインデックスの値が低くなります。 CRAPインデックスを下げるには、テストを書くか、 あるいはリファクタリングでコードの複雑性を下げます。 > > > 引用元 3ソースコードの色「橙」の位置づけ ご認識のとおりです。