MC/DC - 複数の条件/判定カバレッジ
プログラムの入口と出口のすべてのポイントが少なくとも 1 回呼び出され、プログラムの決定のすべての条件が少なくとも 1 回、すべての可能な結果を取り、各条件がその決定の結果に独立して影響することが示されています。条件は、他のすべての可能な条件を固定したままで、その条件だけを変更することによって、決定の結果に独立して影響を与えることが示されています。[ウィキペディア MC/DC - en.wikipedia.org/wiki/Modified_condition/decision_coverage]
コードカバー
http://codecover.org/features/coverage.html
CodeCover は MC/DC もチェックすると述べており、Ludewig 用語の意味で Term Coverage と呼んでいます。Ludewig 用語に関する追加情報を見つけようとしましたが、それに関する有用な情報は見つかりませんでした。
定期保険(コードカバー)
用語カバレッジは、常に評価されるとは限らない副作用を伴う決定など、ブール型の短絡セマンティクスをチェックします。
if (expressionA && myfunc(b)) {
do_something();
}
[ウィキペディア短絡評価 - en.wikipedia.org/wiki/Short-circuit_evaluation]
expressionA が false と評価された場合、myfunc(b) は実行されません。これはより高速なコードを作成するための一般的な手法ですが、myfunc(b) が環境に変更を加える可能性があり、開発者が簡単に監視して安全でないコードを作成する可能性があるため、危険です。
私の理解では、用語カバレッジは、expressionA が true と false の両方に評価されることを検証し、myfunc(b) が少なくとも 1 回実行されるようにします。
テストウェル CTC++
http://www.verifysoft.com/en_ctcpp.html
- ライセンスが 4100 € から 8800 € の独自ソフトウェア</li>
- C、C++、Java、C#をサポートしているようです
- すべてのコンパイラをサポート
- DO 178-C / ED-12C (航空宇宙)、EN 50128 (鉄道)、IEC 61508 (電子安全関連システム)、IEC 62304 (医療)、ISO 26262 (自動車)、IEC 60880 (原子力) などに準拠品質基準。
PS: 2 つ以上のリンクを投稿するのに十分な評判がなかったため、それらを解析不能にしました。しかし、それらは引用参照という意味では依然として重要です。