カバレッジマスターwinAMS
(Windows開発環境向けユニットテストツール)
組込みソフト開発向け単体テスト
"みんなが使っている"カバレッジ計測ツール

  • 対象業界:自動車/FA/家電/医療/OA等の業界
  • 対象部門:組込みソフトウェア開発部門
  • 規  格:ISO 26262 / IEC 61508
課題

組込みソフトウェア開発の課題

  • 組込みソフトウェア開発経験の浅い技術者が多く、ソフト品質の確保が難しい
  • 再利用性したソフトウェアの中にバグが入っている可能性がある
  • コーディング後の単体テスト実施に大きな工数がかかっている
解決

単体テスト自動化ツール
カバレッジマスターwinAMSが品質の課題を解決します。

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

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

クロスコンパイラにより生成された実機コードの実行と、単体テストのテストケースの作成の流れを示しています。
実機コードとCSVテストケースを使用したテストの流れ
  • 特長 1
    マイコンに最も忠実な 「実機コードベース」の単体テストを実行、効率化へと導く
    「カバレッジマスターwinAMS」は、クロスコンパイラで生成した「実装マイコンコード」をそのまま使用して、マイコンシミュレータで単体テスト実行を行います。一般の単体テストツールにありがちなCソースの論理レベルでの単体テストに留まらず、組込み特有のマイコンへの実装に依存した問題点を含めた、マイコンコードに最も忠実で信頼性の高い単体テストを実施します。
  • 特長 2
    C0、C1、MC/DCカバレッジに加え 結合フェーズの関数/コールカバレッジ計測をフルサポート
    コードカバレッジ計測の標準であるC0(Statement Coverage)、C1(Branch Coverage)、機能安全認証で要求されるMC/DC(Modified Condition Decision Coverage)をフルにサポートし、さらに機能安全(ISO 26262)の結合テストで要求される、関数/コール(Function/Call)カバレッジ計測もサポートしています。
  • 特長 3
    ホワイト/ブラックボックス観点からテストデータを効率的に生成
    単体テスト受託サービスを通じて確立した単体テストデータ設計手法を使用し、関数の要求仕様からのテストデータ設計を効率的に行う「テストデータ分析エディタ」を搭載。自動生成されたテストデータと、要求仕様書とを照らし合わせながらテスト設計を行う事で、要求仕様確認であるブラックボックステストと、コードの構造確認であるホワイトボックステストを効率的に進めることが出来ます。
  • 特長 4
    ツール内でカバレッジ網羅テストのデータ作成&実行/確認をシームレスに実施
    「テストデータジェネレータ」により関数単体のテストデータの生成率が向上。さらにサブ関数を含めた結合レベルテストデータの自動生成が可能となりました。また自動生成未達箇所(ソース行)の確認と、テストデータ手動追加をツール内で実行出来るため、カバレッジ網羅テスト作業の更なる効率化を実現します。
  • 特長 5
    Back to Backテストを効率的に実施するためのオプションをご用意
    モデルベース開発に求められるBack to Backテスト(以下BtoBテスト)も、『カバレッジマスターwinAMS MBTオプション』があれば効率的に実施が可能です。 カバレッジマスターwinAMSの標準機能に加え、BtoBテストを効率的に実施するためにMILS実行操作やレポート出力など7つの機能を提供します。BtoBテスト自動実行環境の構築を容易にし、BtoBテストにかかるテスト工数の削減に貢献します。
    『カバレッジマスターwinAMS MBTオプション』紹介ページはこちら
カバレッジマスターwinAMSの機能

カバレッジマスターwinAMSが品質の課題を解決します

  • 機能 01

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

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

      ・ C0: ステートメントカバレッジ
      ・ C1: ブランチカバレッジ
      ・ MC/DC
      ・関数カバレッジ
      ・コールカバレッジ
    • 「コードカバレッジ測定」機能
  • 機能 02

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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と連携することで一般ファイルへのアクセスを実現できるため、画像データの取り込みも可能です。

      AUTOSAR Adaptive Platform ソフト単体テストツール
      Quality Town for Embedded grade(QTE)
    • C++ 11/14対応とAUTOSAR-AP向け単体テスト実行環境構築のご支援
  • 機能 09

    カバレッジマスターwinAMSと「PLAS-Qlite」のツール連携で机上でのパフォーマンス検証を実現

    • カバレッジマスターwinAMSで利用可能なマイコンシミュレータを使用し、「PLAS-Qlite」と連携することで机上でのパフォーマンス検証を実現
      詳細はこちら >
    • PLAS-Qliteとの連携

各種機能

コードカバレッジ計測 ステートメント(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 に対応したツール認証を取得、安全マニュアル(リファレンスワークフロー)をユーザーへ発行

おすすめコンテンツ

GAIO CLUB「要素分析による単体テストの標準化と定着運用」

本特集では、「単体テスト」をプロセス化し、定着運用させる際の大きな課題の1つである、単体テストデータ設計の標準化について取り上げます。

GAIO CLUB「単体テストを実施して単体品質を向上するための課題」

いまや、単体品質を確認するための「単体テスト」は、製品の分野を問わず、組込みソフト開発の基本事項となっています。単体テスト導入に成功したお客様の情報を基に、単体テストを運用しプロセス化するためにクリアすべき課題について解説します。

GAIO CLUB「組込みソフト品質を改善する基本検証「単体テスト」の重要性と C1カバレッジに対応した”カバレッジマスターwinAMS”」

ガイオの単体テストツール「カバレッジマスターwinAMS」でサポートさたC1カバレッジ機能を取り上げ、テストデータ作成手法や効率的な単体テスト実施方法について解説致します。