5.3.2.4 コンディションカバレッジ(条件網羅/C2)
コンディションカバレッジは、カバレッジ基準の中で最も厳格なコードカバレッジです。
テスト対象の条件分岐に複合条件が使われる場合でも、各条件の真偽全ての組み合わせをテストします。ソースコードに対する網羅性が高い一方で、テストケース数が膨大になるため、規模の大きなソフトウェアでコンディションカバレッジまで網羅されているケースは少ないといえます。
5.3.2.5 MC/DCカバレッジ(Modified Condition/Decision Coverage)
MC/DCカバレッジは、「Modified Condition/Decision Coverage」の略です。
コンディションカバレッジと同様にコードの網羅性が非常に高いため、航空機向けソフトウェアや自動車に搭載するソフトウェアなど、高い安全性が求められるケースにおいてはMC/DCカバレッジ基準を用います。複数あるカバレッジ基準の中で、現実的かつ最も厳しい基準がMC/DCであるといえるでしょう。
MC/DCカバレッジの定義は下記の通りです(※5)。
(※5)「A Practical Tutorial on Modified Condition/Decision Coverage」;NASA/TM-2001-210876;May 2001;https://shemesh.larc.nasa.gov/fm/papers/Hayhurst-2001-tm210876-MCDC.pdf
抄訳になりますが、MC/DCカバレッジはテストで以下の要件を確認することを求めています。
例えば、とある複合条件式がある命令において「A and Bが真の時、処理2を実行する」場合、Aが真であれば、Bが真偽のどちらかによって判定の出力が変化しますが、Aが偽であれば、Bの真偽がどちらでも判定は偽になります。つまり、Aが偽のテストケースは1つでよいため、このソースコードにおけるMC/DCのカバレッジを100%にするためのテストケースは3通りということになります。
手作業での単体テストには膨大な工数が発生します。ブラックボックステスト、ホワイトボックステスト、それ以外のテストをどのような基準で行うのか。各製品ドメインに求められる品質基準を考慮しながらテスト計画を定め、きちんと運用していくことが重要です。
また、手作業でのテストにはヒューマンエラーが介在しますので、各種国際認証におけるテストエビデンスにはなり得ません。そのため、何かしらの自動化ツールを導入してヒューマンエラーを排除し、均一的なテストエビデンスを作成できるような環境を整えることが重要です。
ベクターは、創立から30年以上にわたり、カーエレクトロニクス開発の頼れるパートナーとしてお客様をサポート。現在、世界各国30拠点以上でベクター社員が、自動車業界および関連する業界のメーカー様とサプライヤー様に、組込システム開発に必要なツール、ソフトウェアコンポーネント、サービスなど、プロフェッショナルな開発プラットフォームを提供している。
▼ベクター・ジャパン
▼VectorCASTページ
https://www.vector.com/jp/ja/products/products-a-z/software/vectorcast/
Copyright © ITmedia, Inc. All Rights Reserved.