機能安全でGoogleTestを活用するためのユニットテストツール「C/C++test CT」を新たにリリース

ツール認証済みのGoogleTestを搭載。カバレッジ計測やトレーサビリティ確保、MCPサーバーによるAI連携などを実現

 

機能安全開発向けGoogleTest活用支援ツール「C/C++test CT」を2026年3月30日にリリースしました。

C/C++test CTは自動車、産業機器、医療機器などのセーフティ・セキュリティクリティカルなソフトウェア開発におけるGoogleTestの活用を支援します。ユニットテストにおける「コードカバレッジ計測」、「トレーサビリティ確保」などの機能により、効率的な機能安全規格への対応を可能にします。

また、C/C++test CTはGoogleTestをパッケージとして含み、全体のソリューションとして第三者認証機関であるTÜV SÜD社よりツール認証済みであるため、C/C++test CTおよびパッケージしているGoogleTestの「動作の安全性・信頼性」が保証されています。さらに、AI連携機能としてMCP (Model Context Protocol) サーバーを搭載しており、AIエージェントと連携したスムーズなツール利用を実現します。

GoogleTestのツール認証を取得、機能安全開発での活用を支援

C/C++test CTはツール認証取得済みのGoogleTestをパッケージとして含み、ソリューション全体として第三者認証機関であるTÜV SÜD社よりツール認証を取得しています。

C/C++test CTは認証済みのGoogleTestを提供する新しいアプローチを採用したツールです。
ユニットテストフレームワーク自体の認証のないツール利用は、「ユニットテスト自体は正しく書かれていても、フレームワーク内部の不具合により誤ったテスト結果を招き、安全基準を満たさないリスクがある」ことを意味します。Parasoft社によってGoogleTestのAPI一つ一つに対して妥当性の検証を行い、機能安全開発に使用可能な (妥当性が証明されている) APIリストを提供します。APIリストは購入ユーザーに提供可能なFunctional Safety Distribution Packageに含まれ、GoogleTestの認証およびAPIの妥当性を証明するエビデンスとなります。これにより、開発者が安心してテストを設計・実装できることをサポートし、安全要求遵守の強力な後押しとなります。

ユーザー自身がツール適格性評価を行う場合も、その作業は1回限りではありません。GoogleTestのバージョンを見直すたびに同様に多大な時間とコストを払い、検証およびドキュメントの準備が必要となります。C/C++test CTは今後、GoogleTestの新しいバージョンがリリースされた場合も、最新バージョンに追従してツール認証を取得していく計画です。

※C/C++test CT 2025.2はGoogleTest 1.17.0をパッケージとして含みます。

 

<認証取得済みの機能安全規格>

  • IEC 61508-3:2010
  • IEC 62304:2015
  • ISO 26262-8:2018
  • EN 50716:2023

 

GoogleTestなどのテスト実行における「MC/DCを含む8種類のコードカバレッジ計測」

C/C++test CTはGoogleTest、Boost.Test、CppUnitやCppUTestなどのオープンソースのユニットテストフレームワークのテスト実行におけるカバレッジを計測可能です。これらのユニットテストフレームワークにはカバレッジ計測機能は含まれておらず、gcovなどのオープンソースのカバレッジ計測ツールを使うことが一般的ですが、MC/DCなどの機能安全規格で要求されるカバレッジすべてを計測できません。C/C++test CTは代表的なコードカバレッジであるC0 (命令網羅率) 、C1 (分岐網羅率) 、C2 (条件網羅率) 、MC/DC、関数カバレッジなどを含む8種類のコードカバレッジを計測します。また、C/C++test CTが出力するレポートでは、カバレッジをハイライトして可視化、カバレッジごとに詳細なカバレッジ計測結果を確認可能です。

判断文カバレッジ、単純条件カバレッジ、MC/DCカバレッジにおいては、インラインコメントを展開してヒントを表示することができます。どの条件値がテストされたか、テストされていない条件をカバーするためにどの条件を満たす必要があるかを提示します。また、複雑なMC/DCカバレッジの最小論理組み合わせの理解にも役立ちます。

 

<計測できるカバレッジの種類>

  • 行カバレッジ
  • ステートメントカバレッジ
  • ブロックカバレッジ
  • 判断文カバレッジ
  • 単純条件カバレッジ
  • MC/DCカバレッジ
  • 関数カバレッジ
  • コールカバレッジ

図1. ソースコードアノテーション付き詳細HTMLレポート

GoogleTestテストケースにおける「テスト管理・テストトレーサビリティ確保」

ソフトウェア開発プロセス全体の統合的な管理を行うソリューションであるALM (Application Lifecycle Management) ツールとの連携をサポートしています。
GoogleTest単独ではテスト結果を管理することや、要件とテストを関連付けて管理することはできません。C/C++test CTを用いてテストしたGoogleTestのテストケースは、テスト結果とカバレッジ結果を付属ツールのParasoft DTP上で管理・集計します。日々の開発におけるテストやカバレッジの推移が確認できるとともに、Parasoft DTPを経由してALMツールのテスト要件と、GoogleTestのテストケースを関連付け、要件のテスト実施状況のモニタリングが可能です。機能安全規格で求められる要件とテストケースの双方向トレーサビリティをC/C++test CTとParasoft DTP、ALMツールで実現できます。これにより、開発成果物を相互にリンクすることでトレーサビリティ管理を可視化し、変更管理の効率化、品質向上、問題の早期解決を支援します。

 

図2. Parasoft DTPと連携したテストトレーサビリティの確保

 

AIエージェントとの連携を強化するMCPサーバーを搭載

C/C++test CTはMCPサーバーを標準搭載しています。MCPサーバーはAIエージェントが外部のシステムやデータにアクセスできるよう「ブリッジ」の役割となる仕組みです。 C/C++test CTのカバレッジデータやユーザーガイドといった構造化データをMCPサーバーがAIエージェントに提供することで、AIエージェントだけでは持ちえない情報を得ることができ、これらの情報を加味した回答生成や提案ができるようになります。例えば以下のようなことをAIエージェントが回答できるようになります。
  • 不足する行カバレッジを満たすテストケースの自動生成
  • 到達不可能なコードへの注釈や抑制理由の自動適用
  • ツールの使用方法の確認など開発者支援
※C/C++test CT には LLM プロバイダーの利用契約は含まれておりません。利用者が個別に契約する必要があります。また、AI の利用に関しては必ずお客様の組織のポリシーをご確認ください。

 

図3. MPCサーバーとAIエージェントによる効率的なテストの実施

 

※GoogleTestはGoogleによって開発されたオープンソースのユニットテストフレームワークです。 また、C/C++test CTはGoogleにより提携されているものではありません。

最後に

C/C++test CTをもっと知りたい・試してみたいという方のために、体験版をご用意しています。是非ご利用ください。

 

Parasoft C/C++test CTについて

機能安全開発向けGoogleTest活用支援ツール Parasoft C/C++test CT

C/C++test CTは、セーフティクリティカルな開発でのGoogleTestの活用をサポートします。単体テストにおけるカバレッジ計測やテスト要件のトレーサビリティ確保などの機能により、効率的な機能安全対応を可能にします。

ツール認証済みのGoogleTestをパッケージとして含み、機能安全規格におけるツールの妥当性検証が不要です。さらに、MCPサーバーを用いたAI連携機能を搭載し、AIエージェントと連携したスムーズなツール利用も実現します。

Top