ホーム > 製品・サービス情報 > 組込み開発ツール > カバレッジマスターwinAMS

自動車機能安全規格ISO26262のための検証ツールとして、単体テストツールをご検討の皆様へ
ガイオの「カバレッジマスターwinAMS」の特長やサービスを下に一覧でご紹介いたします。
●コンセプト : 計測用コード追加を使わない、実装コードがそのまま動く、組込み向け単体テストツール
●機能 : テスト環境作成不要、組込みマイコン完全対応!実装に依存する問題を検出、スタック消費量など
実マイコンならではの機能あり!
●機能安全対応: ISO26262で要求される、「実装コードがそのまま動く単体テスト」が簡単に可能!
●販売網 : 欧米含めワールドワイドで購入可能!
●国産 : 国産ツールなので日本人でも安心して使えます
●サポート : 日本各地どこでもメーカーダイレクトサポート!オンサイト検証サービスもあり!
●アライアンス: 半導体各社と技術提携、管理ツールとも連携可能
●拡張性 : フォールトインジェクション、仮想ECU検証、モデルベース開発に利用可能!
●信頼性 : 品質にシビアな自動車系大手メーカーがこぞって採用!半導体メーカーが推薦する単体テストツール!
●実績 : 日産自動車、デンソー、アイシン精機、パナソニック、日立、その他各社 (敬称略)
品質にシビアな自動車系大手メーカーがこぞって採用!
●価格 : 一括購入には大幅な購入特典(最大70%値引き)あり
![]()
システムテスト、結合テストだけでは発見できない「潜在化した不具合」を検出する方法として、組込み開発の広い分野で、「単体テスト」が注目されています。また、自動車ソフト機能安全(ISO26262)の分野では、認証項目の1つに単体テストの実施が要求されています。
「カバレッジマスター winAMS」は、クロスコンパイラで生成した「実装マイコンコード」をそのまま使用して、マイコンシミュレータで単体テスト実行を行います。Cソースの論理レベルでの単体テストに留まらず、組込み特有のマイコンへの実装に依存した問題点を含めた、信頼性の高いホワイトボックステスト、単体テストが可能です。
他社の単体テストツールにありがちな、評価対象のソースコードに計測用コードやテストドライバを追加する方法の場合、テスト時のコードが製品へ実装するコードと異なってしまいます。「論理動作は同じはず」と考えがちですが、組込みの視点では、クロスコンパイラの最適化等により、生成されるコード展開が変化してしまうため、最終製品の品質を確認することにはなりません。カバレッジマスターは、「テスト対象コードに一切手を加えない」テストが可能な業界唯一のツールであり、特に安全性が要求される分野では、高い評価を頂いています。

カバレッジマスターwinAMSでは、テストドライバなど、テスト用ソースの追加修正は一切必要なく、製品へ実装する実機コードをそのまま使用して、中に含まれる単数の単体評価が可能なツールです。製品開発と共通のクロス開発環境を単体テストに利用できるため、テスト専用のソース管理や他の環境でのビルドは必要ありません。そのため、ソース管理が容易で、テスト環境の立ち上げも短期間で実施可能です。
カバレッジマスターwinAMSは、テスト用コードの挿入は行わず、実装コードをそのまま使用して単体テストを実行します。関数に対する入出力テストを実施するためのテストデータは、汎用的なCSV形式のファイルを使用します。テスト実行後の出力データや、期待値判定結果も、同じフォーマットのCSV形式のファイルで出力されます。
入出力テストを行うことで、これによるソースコード上でのテスト網羅率を示すC0/C1カバレッジ結果を自動レポートします。テストデータとソース上の実行パスの対応を表示するビューを搭載しており、テスト結果の解析に利用できます。オプションで、MC/DCカバレッジ計測にも対応可能です
ISO26262は、機能安全規格のメタスタンダードであるIEC61508から、自動車分野へ派生した機能安全規格です。この中のPart.6-9「ソフトウエア単体テスト」に、ソフトウエアの構造網羅テスト、カバレッジテストに関する項目が規定されています。自動車安全度水準ASILに応じて、ステートメントカバレッジ、ブランチカバレッジ、MC/DCカバレッジの計測が推奨事項となっています。
この中で、もう1つの推奨事項に、
「単体テストの環境はターゲット環境に可能な限り合わせること」
が規定されています。(原文:9.4.6 The test environment for software unit testing shall correspond as closely as possible to the target environment.)
もしもターゲット環境と異なる環境で単体テストを行う場合は、ソースコードと実行オブジェクトコードとの差異、ターゲット環境とテスト環境の差異を示す必要があります。そのため、ターゲットマイコンとは異なるPCでコンパイル、動作を行う他社の一般的な単体テストツールでは、この要求を満たすことは困難です。
他社の単体テストツールで、クロス環境、コンパイラをサポートし、ターゲット環境で動作可能なものもありますが、これらは全て、テスト時に計測用コードを挿入してコンパイルし実行するものであり、ターゲットコードとは異なる状態でのテストしか行えません。
この中で、ガイオの単体テストツール「カバレッジマスターwinAMS」は、
●組込みマイコンに完全対応したマイコンシミュレータ環境を使用
●計測用コード挿入を行わず 実装マイコンコードをそのまま動作
の特長を持ち、ISO26262の必要事項を満たす機能性を持っています。ガイオの「カバレッジマスターwinAMS」は、
ISO26262で要求される「実装コードがそのまま動く単体テスト」が可能な業界唯一のツールです。
カバレッジマスターwinAMSとCasePlayer2は、2012年6月に、TUV-SUDより、ISO26262認証を取得予定です。
開発したソースコードの構造ベースのテストとして、全てのコードを一度は動作させて、意図しない構造がソースに含まれないことを確認するための「構造カバレッジ」計測が行われています。その指標としては、一般的な組込みソフトの単体テストではC1(ブランチ)カバレッジ計測が、自動車機能安全規格ISO26262の安全度水準ASIL-DではMC/DC計測が要求されています。
しかし、C1カバレッジ、MC/DCのように、ソースコードの全ての構造を網羅するテストを行うためには、条件文や複合条件式の論理解析を行い、テストケースを作成しなければなりません。この設計は手作業では非常に困難で、ミスの発生や作成工数の増大などのリスクを伴います。
カバレッジマスターには、ソース解析ツール「CasePlayer2」との連携により、if、switch、for、whileなど、条件分岐の構造を解析することで、C1、MC/DCを100%網羅して実行するためのテストケースを自動生成する機能が備わっています。
データ作成ビューには、検証対象の関数に含まれる条件文(if文、switch文など)がリストアップされます。各条件をクリックすると、その条件文に関わる変数を自動検索し、さらに、条件文に設定された境界値の情報から、カバレッジに必要なデータを自動生成します。


SSTManagerは、カバレッジマスターwinAMSの単体テストプロジェクトの管理、テストデータ作成を行うアプリケーションです。マイコンシミュレータ(ISS)を使用するためのテスト実行環境の設定から、最終テスト結果レポートまでを統合管理します。
カバレッジマスターwinAMSは、テスト用コードの挿入は行わず、実装コードをそのまま使用して単体テストを実行します。関数に対する入出力テストを実施するためのテストデータは、汎用的なCSV形式のファイルを使用します。テスト実行後の出力データや、期待値判定結果も、同じフォーマットのCSV形式のファイルで出力されます。
入出力テストを行うことで、これによるソースコード上でのテスト網羅率を示すC0/C1カバレッジ結果を自動レポートします。テストデータとソース上の実行パスの対応を表示するビューを搭載しており、テスト結果の解析に利用できます。

MC/DCカバレッジの計測機能は、オプションで提供されています。カバレッジマスターでは、C0/C1カバレッジは、実機に組込むコードをそのまま使用して計測可能ですが、MC/DC計測のためには、条件式に含まれる複合条件を分解して実行する必要があるため、条件式を分解するためのフックコードを自動挿入して、テスト実行します。このMC/DC計測時には、実機に組み込むコードと異なってしまうため、実機に組込むコードも並行して実行し、両者の期待値が一致することを確認して、フックコードの妥当性を検証する仕組みとしています。
※右の例では、2つめのif文の複合条件式の「gb_c>30」のFALSEケースがテストされていないことを示しています。C1のカバレッジ基準ではOKとなりますが、MC/DC基準では、NGとなります。
※C++コードでは、MC/DCカバレッジ計測には未対応です。
CasePlayer2の生成するフローチャートやモジュール構造図(関数呼び出し構造図)とリンクして、単体テストのためのソースコード解析作業に利用することもできます。
ソース解析ツール「CasePlayer2」との連携により、検証対象の関数が使用する外部変数を自動検索することができます。従来必要だったソースコードをトレースしながら、入力条件となる変数を探す作業を短縮することができます。また、変数指定忘れ、漏れと言ったヒューマンエラーを防ぐことができます。

C++コードの単体テストに対応しました。クラスの定義を元に、テスト時にクラスオブジェクトを指定メモリエリアに自動生成したり、コードに存在する静的オブジェクトを指定したりしながら、クラス内の関数(メソッド)を単体テストすることができます。

クラス内に定義されたメソッドに対して、カバレッジ計測を行うことが可能です。

ルネサス社製統合開発環境「High-performance Embedded Workshop」からカバレッジマスターを起動、カバレッジ結果とHEW上のソースへのリンクを行うことが可能です。ルネサス社製マイコンソフトの開発において、シームレスなモジュール単体、カバレッジテストが可能です。

対応MPUについて : 対応表より、「カバレッジマスター」の項目をご覧下さい。
推奨動作環境
IBM PC/AT互換機
Pentium(相当) 2GHz 以上のCPU
メモリ 2GB 以上を推奨
ディスプレイ解像度 XGA(1024*768 ピクセル)以上を推奨
動作OS
Windows XP SP2以降
Windows Vista
Windows 7
※32ビットOS及び64ビットOS 対応
マイコン非依存の汎用型単体テストツール「カバレッジマスター ゼネラル」
即効性のある ソフト品質改善のご提案(ソフト品質改善のための 開発上流での3つの方法)
他の単体テスト手法・ツールとの比較と カバレッジマスターのアドバンテージ
カバレッジマスターwinAMS体験セミナー(CM1:モジュール単体・カバレッジテスト入門コース)のご案内
単体テスト自動化システムの運用によるソフト品質改善 パイオニア株式会社に見る開発工程での単体テスト実施事例
(GAIO CLUB 2008/2月号より抜粋)
組込みソフト品質を改善する基本検証「単体テスト」の重要性と C1カバレッジに対応した「カバレッジマスターwinAMS V2.2」
(GAIO CLUB 2006/12月号より抜粋)
潜在化するバグを未然に防ぐ「モジュール単体テスト」とテストデータ作成機能を追加した「カバレッジマスター Ver.2」
(GAIO CLUB 2006/2月号より抜粋)
「フェリカネットワークス モジュール単体テスト」についての事例紹介!
(GAIO CLUB 2005/12月号より抜粋)

カバレッジマスターwinAMS テストデータ自動生成機能の技術解説
カバレッジマスター説明デモビデオ(音声入り))
※再生にはAdobe社の「FlashPlayer (9以上)」が必要です。
※上のリンクをクリック後、「実行」→「実行する」ボタンを押して下さい。