コードカバレッジ
解析ツール Coco
テスト品質の「推測」をやめ、コードカバレッジを「計測」する
Coco は、デスクトップアプリケーションや組み込みシステムを開発するソフトウェアチーム向けの、モダンなコードカバレッジツールです。ビルドプロセス中にコードを計測し、コンパイラやビルドシステム、テストスイートを変更することなく、テスト中にどのステートメント、ブランチ、条件が実行されたかを正確に記録します。C、C++、C#、QML、Python、Tcl に対応しており、計測と精緻なテストカバレッジ解析を提供します。Coco を使えば、ISO 26262 や DO-330 といった国際的な安全規格・コンプライアンス規格に沿った、監査対応のレポートを生成できます。
Coco を無料で試す お問い合わせ Coco MCP
コードカバレッジを計測するチーム、活かすチーム
パーセンテージが教えてくれるのは、何が実行されたかだけです。危険なほど未テストな箇所がどこか、検証を経ずに変更された箇所はどこか、あるいは1つのテストでどこのリスクを最も削減できるかは教えてくれません。Coco は、こうしたギャップを可視化し、対応可能な形にすることで、リリース判断を勘ではなくエビデンスに基づいて行えるようにします。
規制対象の業界では、そのエビデンスが実際に通用するものでなければなりません。監査担当者は、お客様の規格にトレース可能な、MC/DC レベルの構造的カバレッジを求めるからです。ほとんどのツールはブランチレベルで止まりますが、Coco はそこで止まりません。
導入企業: Siemens · Bosch · LG · Metso · PolyWorks
SGS TÜV Saar 認定 · ASIL D
コードカバレッジで可能になること
一度もテストされていないコードを、正確に見つけ出す
カバレッジ計測は、何がテストされたかを教えてくれます。そのエビデンスが手に入れば、次のような判断・議論・成果につながります。
可視性
テストが何をカバーしているかを正確に把握できます。Coco の CoverageBrowser は、すべての行、ブランチ、条件を色分けして表示するため、何が実行され、何が一度も触れられていないかが一目で分かります。
リスクの優先順位付け
どの未テストコードが最もリスクを抱えているかが分かります。Coco の CRAP(Change Risk Anti-Patterns)指標は、各関数を複雑さとカバレッジのギャップでランク付けするため、不具合を引き起こしやすいコードにテストの労力を集中できます。
パッチカバレッジ
すべてを再実行することなく、パッチをカバーするテストを把握できます。パッチ解析は、差分を既存のカバレッジデータと照合し、変更部分のどの行が既存のテストでカバーされているか、そしてどのテストがそれを実行したかを示します。
組み込みシステム
実機とエミュレーターの両方からカバレッジを収集できます。ランタイム計測は、RTOS ベースのシステムを含む実際の組み込みターゲット上で動作します。シミュレーションの産物ではなく、Coco は本番環境での挙動を反映します。
分散チーム
ソースコードを配布することなく、テストを分散できます。Coco を使えば、計測済みバイナリを委託先チームと共有し、結果を収集して、一元化されたカバレッジレポートにマージできます。
CRAP 指標とパッチ解析が、チームのテストへの向き合い方を変える
直前に変更したコードを、既存のどのテストがカバーしているかを正確に把握
開発者がパッチを導入すると、Coco はその差分と既存のカバレッジデータを取り込み、精緻なレポートを作成します。パッチ内のどの行が既存のテストでカバーされているか、カバーされていないか、そしてテストスイート全体を再実行することなく、どのテストがその特定のコードパスを実行したかが分かります。統一差分(unified diff)形式でインポートすると、Coco はそれを既存のカバレッジ実行データと照合します
- 統一差分(unified diff)形式でインポートすると、Coco はそれを既存のカバレッジ実行データと照合します
- パッチ内の各行には、カバー済み・未カバー・不明のいずれかが注釈として付き、行ごとのテスト実行回数も表示されます
- コードレビュー、リリースゲート、認証エビデンス用に、HTML または CSV のレポートを生成できます
どこを次にテストすべきか。CRAP 指標が答えを示す
カバレッジが80%あると分かっても、残りの20%が些細なものか重大なものかは分かりません。CRAP 指標(Change Risk Anti-Patterns)は、サイクロマティック複雑度とカバレッジデータを組み合わせ、関数ごとのリスクスコアを算出します。複雑さが高く、カバレッジが低いほど、スコアは高くなります。
- スコアが30を超える関数は高リスクとしてフラグが立てられ、CoverageBrowser 内のランク付きリストの上位に表示されます
- エンジニアは、コードベース全体をレビューすることなく、新しいテストがどこで最もリスクを削減できるかを正確に把握できます
- 結果はソート・エクスポート可能で、スプリント計画、QA レビュー、マネジメント向けレポートに活用できます
最も厳しい安全規格の
認定を取得

Coco は、SGS-TÜV Saar により独立した認証を受けており、自動車(ISO 26262、ASIL D)、産業機器(IEC 61508、SIL 4)、医療(IEC 62304、Class C)、鉄道(EN 50716、SIL 4)という4つの業界それぞれにおいて、最高水準の安全度水準まで、安全関連ソフトウェアの検証に適していることが確認されています。外部監査により確認済みです。
自動車・産業機器・医療・鉄道にわたる認定
SGS-TÜV Saar は、Coco を評価・認定し、4つの業界それぞれにおいて、最高水準の安全度水準まで、安全関連ソフトウェアの検証に適していることを確認しています。
- 自動車:ISO 26262 で ASIL D まで
- 産業・一般機能安全:IEC 61508 で SIL 4 まで
- 医療機器ソフトウェア:IEC 62304 でソフトウェア安全クラス C まで
- 鉄道:EN 50716 で SIL 4 まで
安全エンジニアがセーフティケースの中でカバレッジツールの妥当性を説明する際、自己申告ではなく、監査担当者がすでに認知している機関から発行された認定を根拠にできます。チーム自身によるプロジェクト向けの Coco の認定作業は依然として必要ですが、その出発点はすでに独立認定を受けたツールです。
監査担当者が検証できる認定
調達の最終承認、サプライヤー監査、認証のマイルストーンは、ツールチェーンの認定ステータスが精査される瞬間です。Coco の SGS-TÜV Saar 認定書(証明書番号 FS/71/220/26/2379)は、自動車・産業・医療・鉄道のプロジェクトを問わず、コンプライアンスチームがプロジェクト文書の中で直接引用できる、外部機関が発行した具体的な結果です。これはツールの適合性を示す独立したエビデンスであり、お客様自身の認定作業を支えるものです。
ツールの認定作業にかける時間を減らし、製品開発に時間を使う
安全性が重視される検証ツールチェーンにおいては、対象となる安全度水準に対して、あらゆるツールが認定されている必要があります。Coco の SGS-TÜV Saar 認定により、すでに独立認定を受けたツールを土台にできます。
特定の規格のもとで完全なツール認定が必要なプロジェクトには、Coco 向けツール認定キットが、その規格が求める的確なドキュメント、構築済みのテストケース、安全マニュアルを提供するため、白紙からではなく、すでに整った土台の上で作業を進められます。キットは、自動車(ISO 26262)、産業(IEC 61508)、医療(IEC 62304、ISO 13485)、鉄道(EN 50128)、航空宇宙(DO-330、DO-178C・DO-278A プロジェクト向け)など、業界ごとに用意されています。
業界で求められる規格への対応を支援
関数カバレッジからMC/DCまで、あらゆるプラットフォームで必要なカバレッジレベルに対応
コードカバレッジを計測し、改善する
Coco がサポートするカバレッジレベル
Coco は、基本的な関数カバレッジ・行カバレッジから、最も厳しい安全規格が求める MC/DC レベルまで、主要な構造的カバレッジ指標のすべてをサポートします。各レベルは、テストの質を異なる角度から映し出します。適切なレベルは、お客様の規格、求められる安全度水準、そしてリリース前にどれだけの確信が必要かによって決まります。
関数カバレッジ
関数カバレッジは、コードベース内の各関数(C++ のメンバー関数を含む)がテスト中に少なくとも1回呼び出されたことを確認します。主要なロジック単位がそもそも実行されているかどうかを確認する、分かりやすい最初のチェックです。関数がテストスイート中に一度も実行されなければ、それは定義上未テストです。Coco は関数が呼び出された回数を数え、アーキテクチャレベルでのカバレッジを明確に把握できるようにします。
対応規格: IEC 61508 SIL 1–4
業界: 自動車・航空宇宙・産業・鉄道・医療
ステートメントブロックカバレッジ
ステートメントブロックカバレッジは、プログラム内のすべての実行可能なステートメントがテスト中に実行されたかを確認します。Coco は、常に一緒に実行されるステートメントをブロックとしてグループ化するため、コードの書き方によらず指標が一貫します。これにより、さまざまなコーディングスタイルで作業するチームにとって、行カバレッジよりも安定した、信頼できるテストの網羅性の基準になります。
対応規格:ISO 26262 ASIL A–B · IEC 61508 SIL 1–4 · EN 50128 SIL 0
業界: 自動車・産業・鉄道・医療
行カバレッジ
行カバレッジは、コードの各行がテスト中に実行されたかを確認します。テストスイートのギャップを見つけ、コードがどれだけ網羅的にテストされているかを素早く把握するための、シンプルで馴染みのある方法です。Coco は行カバレッジをサポートしており、カバレッジ解析を初めて行うチームや、汎用プロジェクトにおける出発点として有効です。とはいえ、Coco は安全性が重視される開発や規制対象の開発には行カバレッジを推奨していません。コードの書き方によって結果が変わるため、ISO 26262 や IEC 61508 のような規格が求めるエビデンス要件を満たすほど安定した指標ではないからです。そうした用途には、ステートメントブロックカバレッジが、書式に依存しない一貫した結果で同等の可視性を提供します。
対応規格: 安全規格へのマッピングなし
業界: 一般用途・非規制プロジェクト
ブランチ/デシジョンカバレッジ
ブランチ/デシジョンカバレッジは、コード内のすべての判定ポイントが、あり得るすべての結果を生み出すことを確認し、ステートメントカバレッジの一歩先を行きます。各条件は true と false のそれぞれについて1回ずつカウントされるため、特定の入力でのみ表面化するエッジケースが、本番環境ではなくテスト中に捕捉されます。Coco は、すべての if、while、for、switch 文について両方の結果を検証し、テストが見落としているパスを見つけやすくします。
対応規格: ISO 26262 ASIL A–D · DO-178C DAL A–B · IEC 61508 SIL 1–4 · EN 50128 SIL 1–4
業界: 自動車・航空宇宙・産業・鉄道・医療
コンディションカバレッジ
コンディションカバレッジは、デシジョンカバレッジをさらに一歩進め、複雑な論理式をそれぞれの構成要素に分解します。and や or 演算子で結ばれた各部分式は、true と false の両方について個別に評価されます。これにより、デシジョンカバレッジだけでは捕捉できないギャップ、特に複数条件を持つ判定で、ある組み合わせが一度もテストされていないようなケースが明らかになります。Coco では、コンディションカバレッジは MC/DC へと至る自然なステップとなり、完全な独立性要件に進む前に、論理的なテストの網羅性をより深く把握できます。
対応規格: MC/DC へのステップ(単独の規格要件ではありません)
業界: 自動車・航空宇宙・産業・鉄道・医療
MC/DC・MCC カバレッジ
MC/DC(Modified Condition/Decision Coverage)は、判定内のすべての条件が、結果に対して独立して影響を与えることを求めます。各条件について、その条件だけが変化し、他はすべて同じに保たれる2つのテスト実行が必要です。これは、最高水準の安全度において安全監査担当者が期待する厳密さであり、Coco が ASIL D まで対応を認定されているレベルです。MCC(Multiple Condition Coverage)はさらに踏み込み、あらゆる判定における真偽値のすべての組み合わせを求めるもので、IEC 61508 および EN 50128 の SIL 3・4 において MC/DC の代替として認められています。
MC/DC 対応規格: ISO 26262 ASIL A–D · DO-178C DAL A · IEC 61508 SIL 1–4 · EN 50128 SIL 1–4
MCC 対応規格:IEC 61508 SIL 3–4 (alt.) · EN 50128 SIL 3–4 (alt.)
認定キット: IEC 62304 Class C
業界: 自動車・航空宇宙・産業・鉄道・医療
テスト実行時間・パフォーマンス指標
カバレッジに加え、Coco は各テストの実行時間や、コードの各部分がどれだけの頻度で実行されるかも記録します。これにより、遅いテストの特定、必要以上に多く実行されているコードの発見、そして CI パイプライン全体でのテスト実行順序の最適化が可能になります。カバレッジ規格が求める要件ではありませんが、必要なカバレッジを犠牲にすることなく、テストスイートを無駄なく高速に保つための実用的なツールです。
対応規格: CI・パイプライン最適化(カバレッジ規格の要件ではありません)
業界: 全業界
Coco は、チームのあらゆる役割に、
本当に必要なものを提供する
QA マネージャー
・テストリード
・テストリード
バリュージャーニー
可視性を高める
一貫性を拡大
ROIを最大化
-
ユースケース
-
Coco の機能
-
得られる効果
-
導入初期
感覚ではなく、客観的なデータに基づいてリリースを判断
-
CoverageBrowser と cmreport により、ステートメントブロック から MC/DC まで、あらゆるレベルでプロジェクトのカバレッジを一貫して測定
-
チームの拡大
すべてのテストを有効に:重要な領域に注力し、不要な作業を削減
-
cmreport がビルドごとにレポートを自動生成。Cobertura XMLやSonarQube XMLとして外部ダッシュボードに出力可能
CoverageBrowser ではビルドを並べて比較
-
カバレッジの不足をリリース直前の問題ではなく、管理可能なバックログとして把握
チームやプラットフォームを問わず、同じ測定基準を適用
SonarQubeやCodecovと組み合わせ、時系列の傾向をダッシュボードで確認
コンプライアンス・安全担当者
バリュージャーニー
監査をクリア
エビデンスを整備
ツール認定を完了
-
ユースケース
-
Cocoの機能
-
得られる効果
-
導入初期
監査で認められるカバレッジエビデンスを生成
-
実際のランタイム実行から MC/DC、条件カバレッジ、デシジョンカバレッジ を測定
CoverageBrowser から、規格に準拠したHTML、XML、CSV形式のレポートを出力
-
静的解析ではなく、実際の実行結果に基づくエビデンス
規格で求められる形式のレポートを再フォーマットなしで作成
SGS TÜV Saar認証済みのツールチェーンにより、監査担当者にも認められる信頼性を確保
-
ツール認定
数か月ではなく、数日でツール認定を完了
-
ツール認定キット (TQKs) が、規格別のドキュメント、作成済みのテストケース、安全マニュアルを提供。MCC と MC/DC で最高レベルのインテグリティ要件にも対応
-
ISO 26262、DO-178C、IEC 61508、EN 50128向けの認定資料をすぐに提出可能
テストとコード間の完全なトレーサビリティを確保
社内で認定プロセスをゼロから構築する必要なし
開発者・
SEチーム
SEチーム
バリュージャーニー
リスクを可視化
確信を持ってリリース
開発を加速
-
ユースケース
-
Cocoの機能
-
得られる効果
-
導入初期
コミット前に、テストでカバーされているコードを把握
-
CoverageBrowser が、テスト済み/未テストのコードをソースコード上で色分けして表示。 ステートメントブロック および デシジョンカバレッジ を使用
-
マージ前の確認
マージ前に、すべての変更による影響を把握
-
パッチカバレッジ分析 が差分と既存のカバレッジデータを照合し、カバーされている行、されていない行、それらのパスを実行するテストを特定
テストスイート全体を再実行する必要なし
-
レビュー前に、変更した行のうちカバーされている箇所を正確に把握
テストをすべて再実行することなく、パッチをカバーする既存テストを特定
複雑なロジックでは、MC/DC により各条件が独立して実行されていることを検証
DevOps・
CI エンジニア
CI エンジニア
バリュージャーニー
パイプラインに統合
すべてを自動化
規格への準拠を徹底
-
ユースケース
-
Cocoの機能
-
得られる効果
-
導入初期
カバレッジデータを今すぐパイプラインに統合
-
完全自動化
手作業をなくし、規格への準拠を自動化
-
CoverageScanner がビルド時にインストルメンテーションを実行
cmreport がコマンドラインからレポートを生成し、パッチカバレッジ分析 がすべての差分に対して実行
CIシステムが出力を読み取り、しきい値を適用
-
ビルドごとにカバレッジを自動で収集・レポートし、手作業をゼロに
Cocoがデータを提供し、CIシステムがゲートを適用
SonarQubeやCodecovと組み合わせ、カバレッジの推移をダッシュボードで可視化
SEマネージャー・技術リーダーシップ
バリュージャーニー
リスクを特定
チームの認識を統一
意思決定
-
ユースケース
-
Cocoの機能
-
得られる効果
-
導入初期
組織全体のソフトウェアリスクを可視化
-
CRAP指標 が複雑度とカバレッジギャップを組み合わせ、リスクの高い関数を特定。
CoverageBrowser と cmreport により、すべてのチームで一貫した測定が可能
-
「十分にテストされているはず」という感覚を客観的なデータに置き換え
コードベースのどこに未テストのリスクが集中しているかを把握
すべてのチームで共有できる、測定可能な品質基準を確立
-
戦略的計画
カバレッジデータを投資とリリースの意思決定に活用
-
cmreport でモジュールごとのカバレッジギャップを分析
Cobertura XMLとSonarQube XMLをリーダー向けダッシュボードに出力し、CoverageBrowser でビルドを比較
-
リリース間のカバレッジを比較し、改善状況を把握
測定可能な品質データに基づいて、テストへの投資を判断
Coco の出力を SonarQube や CI システムと連携し、時系列ダッシュボードで推移を確認
組み込み・
MCU エンジニア
MCU エンジニア
バリュージャーニー
ターゲットを計測対象に
実データを収集
ビルド全体へ展開
-
ユースケース
-
Cocoの機能
-
得られる効果
-
導入初期
シミュレーターではなく、実機から実際のカバレッジを取得
-
CoverageScanner が既存のコンパイラ(ARM GCC、IAR、Green Hills、HighTecなど)と連携し、ツールチェーンを移行することなく利用可能
ベアメタルおよびRTOSターゲットで、ステートメントブロック 、デシジョンカバレッジ と 関数カバレッジを測定
-
データ収集
あらゆるターゲットからカバレッジを取得し、1つのレポートに統合
-
CoverageScanner のカスタムI/O機能がGDB、シリアル、TCP/IP、CANバス、ARM semihostingに対応
Qt for MCUsでは、 cmcsexeimport の --qul-port によりMCUターゲットからワンクリックでインポート
cmmerge と cocoqmlscanner により、C++とQMLのデータを1つのデータベースに統合
-
特定の転送方法に依存せず、既存のハードウェア環境をそのまま活用
すべてのターゲットとテスト実行の結果を1つのレポートに統合
ビルドからレポートまで、エンドツーエンドのワークフローをスクリプトで自動化
気づいていなかったカバレッジの
ギャップを見つける方法
Qt Group のシニアソフトウェアエンジニア James Vance が、Coco のコードカバレッジインターフェースを紹介し、
カバレッジの計測方法と未テストコードの特定方法を解説します。
「コードカバレッジとテストカバレッジを把握して初めて、ソフトウェア品質を正しく評価できます。そのため、Cocoのコードカバレッジ機能は私たちにとって重要なツールです。」
Jaakko Palokangas氏, Metso のデジタルテクノロジー開発ディレクター
お使いの環境で動作するコードカバレッジツール
Coco は、CI/CD、IDE、品質ツールに組み込まれ、カバレッジに関するインサイトを、お使いの環境でそのまま活用できるようにします。テストデータから品質改善までの道のりを、シンプルにします。
どこにでもデプロイ
Coco はネイティブに実行することも、あらゆるターゲットへクロスコンパイルすることもでき、デスクトップからベアメタルの組み込みシステムまでをカバーします。
開発・ビルドをより速く
ツールを変更したり、コードをリファクタリングしたりする必要はありません。Coco はそのまま組み込めます。
Visual Studio
Eclipse
Qt
CMake
MSBuild
QML
C Languages
Tcl/Tk
レポート作成とコンプライアンス対応
お使いのチームと監査担当者がすでに知っている形式でエクスポート可能です。
SonarQube
Cobretura
JUnit
HTML 5
お使いのフレームワークでそのままテスト
Coco は GoogleTest、Boost.Test、NUnit といった既存のフレームワークと並行して動作します。
Boost
Nunit
自動化とリリース
CI/CD パイプライン内で、自動化されたカバレッジフィードバックを取得します。
Jenkins
GitHub
Gitlab
組み込みシステム・MCU 向けコードカバレッジ
MCU 向け Coco
あらゆるマイクロコントローラープロジェクトのコードカバレッジ
Coco は、シリコンベンダー、RTOS、アプリケーションフレームワークを問わず、あらゆる C・C++ MCU プロジェクトで動作します。ビルド時に既存のコンパイラをラップするため、ツールチェーンの移行もソースコードの変更も不要です。カバレッジデータは実際のターゲット上で収集され、CoverageBrowser で解析されます。
ほとんどの MCU プロジェクトには、データ収集を助けるファイルシステムも OS もありません。Coco は、テスト実行中にカバレッジデータを取得し、ハードウェアがすでに備えている通信チャネルを通じてそれを取り出すことで、これに対応します。
- Qt for MCUs でビルドしている場合、C++ と QML 両方の完全なカバレッジ、デバイス検出、ワンクリックでのデータインポートに対応した専用統合が利用できます。
- Qt を使用していない場合も、GDB、シリアル、TCP/IP、CAN バス、ARM セミホスティングを通じて、まったく同じ方法で動作します。
シリコン:NXP · Infineon · Renesas · STM32 · Microchip · TI · AURIX
コンパイラ:ARM GCC · IAR · Green Hills · HighTec · Clang · Diab
OS:ベアメタル · FreeRTOS · QNX · VxWorks · Zephyr · SafeRTOS
MCU 向けコードカバレッジの計測方法
- ビルド時に計測
Coco は既存のコンパイラをラップします。計測済みバイナリは、通常通りにビルド・書き込まれます。 - 実機でテストを実行
テストは、ベアメタルまたは RTOS の実際の MCU ターゲット上で実行されます。カバレッジデータは、実行中にデバイス上で取得されます。 - 利用可能なチャネル経由でデータを取得
Coco は、お使いのハードウェア向けに実装するカスタム IO 関数を提供します。対応する転送経路:- GDB 変数ダンプ(あらゆるターゲット)
- Serial / COM ポート(一般的)
- TCP/IP(ネットワーク接続されたターゲット)
- CAN バス(自動車向け)
- ARM セミホスティング (ARM Cortex-M/R)
- Qt for MCUs DeviceLink(Qt for MCUs プロジェクト向け)
- マージ、解析、レポート作成
複数のテスト実行・ターゲットからの結果は、1つの CoverageBrowser レポートにマージされます。ワークフロー全体は、CI 統合のためコマンドラインから完全にスクリプト化できます。
Qt for MCUs 統合
C++ と QML を、そのまま完全にカバー
Qt for MCUs でビルドするチーム向けに、Coco は C++ と QML(Qt Quick Ultralite)の両方を1つのワークフローでカバーする専用統合を提供します。対応する Qt for MCUs ツールチェーン向けのコンパイラプロファイルは標準で含まれているため、手動設定は不要です。C++ と QML のカバレッジ結果は、1つのデータベースにマージされ、アプリケーション全体のカバレッジを総合的に把握できます。
- CoverageBrowser 上で、ボードからのデバイス検出とワンクリックでのカバレッジインポートが可能
- テスト実行中のデバイス出力を監視するデバッグ出力コンソール
- --qul オプションによる QML 計測が、プロジェクト統合を自動的に処理
- データ取得にデバッガーやカスタム IO 関数は不要
Qt for MCUs バージョン 2.12.1 以降に対応
規制対象業界
監査担当者が検証できるカバレッジエビデンス
MCU ソフトウェア向けの安全規格は、特定のレベルでの構造的カバレッジエビデンスを求めています。Coco は、関数カバレッジやステートメントカバレッジから、ブランチ、コンディション、MC/DC まで、そうした規格が求めるすべてのレベルに対応しています。レポートは監査対応済みで、お客様の規格に沿った形式です。完全なツール認定が必要なプロジェクト向けには、ISO 26262、DO-178C、IEC 62304、EN 50128 向けの規格別認定キットを別途提供しています。
ISO 26262(ASIL D まで)・DO-178C・IEC 62304・IEC 61508・EN 50128
SGS TÜV Saar により独立認定済み、証明書番号 FS/71/220/26/2113
「Coco は、コードとテストの間に存在していたギャップを埋めてくれました。当初は一般的なコードカバレッジツールのように見えましたが、実際に使い始めると非常に高度な機能を備えていることが分かりました。」 」
InnovMetric 社
規制対象業界向けツール認定
数ヶ月に及ぶ手作業を削減
ソフトウェアを認証する必要があるなら、ツールも認定する必要があります。
Coco の認定キットは、安全性が重視される開発において Coco が安全かつ信頼できることを証明するために必要な、すべてを提供します。テストスイートをゼロから構築したり、正当性を一から書いたりする必要はありません。
-
構築済みのテストケースと期待結果
-
ツール分類と安全マニュアル
-
ISO 26262、DO-178C、IEC 62304、EN 50128 などに対応
幅広い業界をサポートするよう設計されており、Coco はすぐに使える妥当性確認レポート、プロセス文書、認証テンプレートを提供することで、コンプライアンスと品質保証をシンプルにします。
ツール認定キットについて詳しく見る
最新リリース ― Coco 7.5
- CRAP 指標: サイクロマティック複雑度とコードカバレッジを1つのリスクスコアに統合し、バグを含む可能性が最も高い C++ 関数の優先順位付きリストを提供。パーセンテージを追いかけるのをやめ、本当に重要な箇所の修正に集中できます。
- cmimport: Python の coverage.py レポートを Coco の形式に変換し、Python と C++ のカバレッジを1つの統合レポートにマージ。スタック全体で別々のツールを維持する必要がなくなります。
- Coco セットアップ: コンパイラツールチェーンを自動検出し、カバレッジスキャナー用のラッパーを生成します。数日かかっていた設定作業を、ガイド付きの5分間のセットアップに短縮します。
- Qt for MCUs: 組み込みターゲットデバイス上で動作する C++ と QML の両方を計測し、Device Link プロトコルを使ってカバレッジデータを自動転送します。デバッガーのスクリプト作成なしに、実機からフロントエンドからバックエンドまでの完全なカバレッジレポートが得られます。
ブログ
コードカバレッジ70%で十分?80%?90%?それとも100%?
70%、80%、あるいは100%といった数字は、すべてを語ってくれるわけではなく、時には誤った安心感を生むこともあります。今回のブログでは、こうした指標が実際には何を示しているのか、そしてなぜ100%のステートメントカバレッジでも危険なギャップが残り得るのかを掘り下げます。
チュートリアル
AI コードアシスタントでユニットテスト生成とカバレッジ最大化
本記事では、GitHub Copilot + Coco コードカバレッジ を使ってテストカバレッジを65% から 78% まで向上させる方法と、この手法を他のフレームワークや業界、安全性が重視される分野にも応用する方法をご紹介します。