組込みソフト単体テスト、カバレッジ計測ツールのデファクトスタンダード

カバレッジマスターwinAMS

カバレッジマスターwinAMS

組込みソフト単体テスト、カバレッジ計測ツールのデファクトスタンダード

機能安全規格ISO 26262 / IEC 61508に準拠し、ステートメント、ブランチ、MC/DC、関数コールなどのコードカバレッジ計測可能な、組込みソフト向けC/C++ソフトウエア単体テストツールです。マイコンシミュレータを内蔵し、コンパイルされたオブジェクトコードを実行して単体テストを行います。一般の単体テストツールにありがちなCソースの論理レベルでの単体テストに留まらず、組込み特有のマイコンへの実装に依存した問題点を含めた、マイコンコードに最も忠実で信頼性の高い単体テストを実施します。(※C++ 11/14対応。詳細は下記参照)

マイコンに最も忠実な 「実機コードベース」の単体テストを実行、効率化へと導く

「カバレッジマスターwinAMS」は、クロスコンパイラで生成した「実装マイコンコード」をそのまま使用して、マイコンシミュレータで単体テスト実行を行います。一般の単体テストツールにありがちなCソースの論理レベルでの単体テストに留まらず、組込み特有のマイコンへの実装に依存した問題点を含めた、マイコンコードに最も忠実で信頼性の高い単体テストを実施します。


C0、C1、MC/DCカバレッジに加え 結合フェーズの関数/コールカバレッジ計測をフルサポート

コードカバレッジ計測の標準であるC0(Statement Coverage)、C1(Branch Coverage)、機能安全認証で要求されるMC/DC(Modified Condition Decision Coverage)をフルにサポートし、さらに機能安全(ISO 26262)の結合テストで要求される、関数/コール(Function/Call)カバレッジ計測もサポートしています。


ホワイト/ブラックボックス観点からテストデータを効率的に生成。

単体テスト受託サービスを通じて確立した単体テストデータ設計手法を使用し、関数の要求仕様からのテストデータ設計を効率的に行う「テストデータ分析エディタ」を搭載。自動生成されたテストデータと、要求仕様書とを照らし合わせながらテスト設計を行う事で、要求仕様確認であるブラックボックステストと、コードの構造確認であるホワイトボックステストを効率的に進めることが出来ます。


ツール内でカバレッジ網羅テストのデータ作成&実行/確認をシームレスに実施

「テストデータジェネレータ」により関数単体のテストデータの生成率が向上。さらにサブ関数を含めた結合レベルテストデータの自動生成が可能となりました。また自動生成未達箇所(ソース行)の確認と、テストデータ手動追加をツール内で実行出来るため、カバレッジ網羅テスト作業の更なる効率化を実現します。



実機コードとCSVテストケースを使用したテストの流れ

クロスコンパイラにより生成された実機コードの実行と、単体テストのテストケースの作成の流れを示しています。

「コードカバレッジ測定」機能

テスト対象の関数ごとに作成するテストデータ(CSVファイル)により、関数のテスト網羅度を示す指標、コードカバレッジを自動計測します。

 ● C0: ステートメントカバレッジ
 ● C1: ブランチカバレッジ
 ● MC/DC
 ● 関数カバレッジ
 ● コールカバレッジ


関数単体テストデータ自動生成/編集エディタ機能

プログラム解析ツール「CasePlayer2」との連携により、構造カバレッジ(C1、MC/DC)計測のためのテストケースを自動生成します。

 【if、switch、for、whileなどの条件分岐構造解析】
  C1、MC/DCを100%網羅して実行するための
   テストケースを自動生成します。

 【データ作成ビュー】
  検証対象の関数に含まれる条件文(if文、switch文など)を
   リストアップ。
  条件文に設定された境界値の情報から、
   カバレッジに必要なデータを自動生成します。


テストデータ分析エディタ機能

専用エディタで仕様確認テストデータ作成を効率化。

 ・ソースコードからの自動生成を補助的に使用し、
   仕様観点データを作成
 ・仕様網羅を考慮した自由な組み合わせで、
   テストデータを作成

自動生成されたテストデータと要求仕様書を照らし合わせることで、要求仕様確認であるブラックボックステストと、コードの構造確認であるホワイトボックステストを効率的に進めることが出来ます。


テストデータジェネレータ機能

 ・ホワイトボックス観点から自動生成率の高い
   C1、MC/DCカバレッジテストデータを作成
 ・サブ関数を含めた結合レベルテストデータを自動生成
 ・自動生成未達箇所(ソース行)の確認
 ・テストデータ手動追加

これらをワンツールで実行し、
カバレッジ網羅テスト作業の効率化を実現します。


ソース参照・解析作業を効率化するプログラム解析ツール「CasePlayer2」との連携

CasePlayer2の生成するフローチャートやモジュール構造図(関数呼び出し構造図)とリンクして、単体テストのためのソースコード解析作業に利用することができます。検証対象の関数が使用する外部変数の自動検索機能により、入力条件となる変数の設定作業を効率化し、また変数指定忘れ、漏れと言ったヒューマンエラーを防ぐことができます。


CLI(Command Line Interface)機能によりテスト実行工程を自動化

テストの手順を記載したスクリプト(Windows標準のバッチコマンド )を使用して、カバレッジマスターを制御、操作することでテスト管理、実行を容易に行う事が可能です。
ソースコードの修正、追加、変更箇所の影響を確認する「レグレッションテスト」や、組込みソフト開発一般の流用開発、自動車分野でのAUTOSARなどのプラットフォーム化により、同一ソースコードを多品種(車種)に実装する際に行われる「同テストの繰り返し」を、人のUI操作を介在すること無く、完全自動化します。


「関数カバレッジ、コールカバレッジ」計測機能

結合レベルでの構造カバレッジ計測機能をサポートしています。自動車機能安全規格ISO 26262の結合テスト(Part.6-10)が要求する、指定したソースファイル内の関数が網羅されて実行されたかを示す「関数カバレッジ」、指定した関数内のサブ関数コールが網羅されてコールされたかを示す「コールカバレッジ」の計測が可能です。

 【関数カバレッジ】
 機能コンポーネントの最上位関数にテストケースを与えて関数を駆動することで、機能コンポーネントを構成するサブ関数を網羅して実行したかを計測します。

 【コールカバレッジ】
 テスト対象の関数にテストケースを与えて関数を駆動することで、その関数内のサブ関数コール位置を網羅して実行(関数コール)したかを計測します。


C++ 11/14対応とAUTOSAR-AP向け単体テストソフトウエアキット

AUTOSAR Adaptive Platform ソフト単体/結合テストに対応するため、従来のC++ 03に加えてC++11(ISO/IEC 14882:20119)及び、C++14(IEC 14882:2014)言語規格にも対応。
更にソフトウェアキットを活用することでSTL、POSIX APIによる利用環境にもサポート。開発者が作成したテストフレームワーク(Google Test、Google Mock)の結果をそのまま利用することや、
Windows DLLと連携することで一般ファイルへのアクセスを実現できるため、画像データの取り込みも可能です。




各種機能

コードカバレッジ計測ステートメント(C0)、ブランチ(C1)、MC/DC、関数、コール
マイコンシミュレータAltera、ARM、Cypress、Infineon、JRC、Melexis、NXP、Panasonic、Renesas、Sony、ST Microelectronics、Texas Instruments、Toshiba など多数の組み込みマイコンをサポート
(詳細は下記関連リンク内を参照)
テストデータ自動生成分岐条件解析に基づいたC0、MC/DCカバレッジデータ
コマンドライン実行バッチファイルによるテスト実行機能(CLI = Command Line Interface)
機能安全認証ISO 26262(TCL1~TCL3)、IEC 61508 に対応したツール認証を取得、安全マニュアル(リファレンスワークフロー)をユーザーへ発行

関連リンク



scroll back to page top