JaSST‘2013 Tokyo

C/C++ 組込み開発向け単体テストツール
C0/C1/MCDCカバレッジ計測 テストデータ生成をサポート
自動車機能安全規格ISO26262 ツール認証取得

カバレッジマスター winAMS

カバレッジマスターwinAMS/ゼネラル、CasePlayer2は、第三者認証機関であるドイツのテュフズードより自動車向け機能安全規格 ISO 26262のツール認証を取得しました。

ガイオ・テクノロジー（株） 営業部
Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

1

JaSST‘2013 Tokyo

ガイオ・テクノロジーとは？
・組込み系開発ツールのメーカー（コンパイラ/検証・テスト・解析ツール/プロトタイピングツール等）
・MBDやMDDなどのモデル開発事業とテスト・検証に関するサービスやコンサルテーションを展開
・30年のツール開発や販売のノウハウを活かしツール開発・供給を拡大・加速させてゆく
■ 設立
■ 資本金
■ 従業員

ガイオ・テクノロジー株式会社
GAIO TECHNOLOGY CO., LTD.

■ 本社：
■ 事業所：
GAIO：ポルトガル語で快活な、楽しそうな、抜け目のないの意■ 子会社：

1980年
2億9800万円
80名

ツール関連事業の1例
カバレッジテストツール（営業10名 技術者60名 支援要員 10名）

横浜東京、松山
GAIO INC（USA）

お客様の「エンジニアリング能力（競争力）」向上を支援
仮想検証ツール/MBD向けテストツール

自動テストツール

ツール事業

先進品質技術 ソリューション事業

モデル中核開発事業

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

2

JaSST‘2013 Tokyo

単体テストを自動化する
カバレッジマスターwinAMS

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

3

JaSST‘2013 Tokyo

ガイオ カバレッジマスター winAMS 特長■ 組込みソフトをターゲットとした 単体テストツール■ マイコンシミュレータ（ISS）を使用して 「実機コード」をテスト– マイコン仕様、コンパイラなどの、ターゲットへの実装時の問題を含めた評価が可能– 単体テストのソースコード、ビルド環境は、製品開発のものをそのまま適用可能– テスト用のソース書き換え（テストドライバ等）は一切不要■ テストデータ（関数、変数名）は全てCSVファイルで入出力■ 実行後のパスカバレッジ結果を自動レポート■ 自動車向け機能安全規格 ISO 26262のツール認証を取得－ 日本国内 自動車分野では事実上のデファクトツール
テストデータ・結果
マイコンシミュレータ（ＩＳＳ）
winAMSユニット（仮想テスト装置）

実機マイコン
動作と等価な
テスト環境

入出力データC0/C1カバレッジ

内部連携●評価対象の組み込みオブジェクトコード（実装ROMコード）を実行●テストデータ（ＣＳＶ）入出力●カバレッジ結果の作成

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

4

JaSST‘2013 Tokyo

実装コードがそのまま動く単体テストとは？
■ 単体テスト、カバレッジ計測のためのフックコード追加は必要なし– 計測用コード挿入のない、製品実装コードそのものを実行して単体テストを実行– 計測の仕組みはコードではなく、シミュレータ本体に機能実装– マイコン依存問題、クロスコンパイラコード展開、最適化処理を含めた高信頼性テスト• ターゲットと異なる要素を全て排除した 最も信頼性が高いテストとなる

カバレッジマスターwinAMS
計測用フックコード
計測用テストドライバ

製品実装と同一のコード

C

テストCSV
データ作成

テスト実行
期待値評価
レビュー

スタブ作成
スタブ自動作成

C0/C1/MCDC
カバレッジ計測
レビュー

不要！

CPP
ASM

OBJ
CODE

BIN
LIB
評価対象の製品実装組込みコード

クロスコンパイラ※他社利用可能実装
マイコンコード

マイコンシミュレータ

実装コードがそのまま動く単体テスト

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

5

JaSST‘2013 Tokyo関数への入出力テスト方法（仕組み）■ 「カバレッジマスター winAMS」 モジュール単体入出力テスト– クロスコンパイルした 組み込みオブジェクトをそのまま使用– 関数名、変数名、テストデータをCSVで入出力– 期待値との照合結果を自動レポート

テスト入力データ CSV

試験対象のソースコード
base(int a, int b, int c){
if (a == 1){if (b == 1){
idx = 0; // data[0]if (c == 1)
pos = 0; // data[0].str[0]：：}// 結果の設定
data[idx].c = data[idx].str[pos];value = data[idx].str[pos]; //- 1;}

・組み込みソースをそのまま使用
・コンパイラも現在お使いのものを利用可能
・バッチ処理で自動テスト

マイコンシミュレータ

・対象の関数名
・入力変数名＆入力データ・出力変数名＆期待値

テスト結果出力 CSV
winAMSユニット

カバレッジマスターwinAMS パッケージ

・出力変数名＆変数結果出力・期待値との比較結果（OK or NG）

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

6

JaSST‘2013 Tokyo

構造ベースのテスト： テストデータ自動生成機能を適用■ ISTQBに定義された単体テストの要因• ISTQBに定義されたテスト設計技法から― 仕様ベース ： 仕様書を起点としたブラックボックステスト» 境界値分析、デシジョンテーブルテスト、同値分割法、状態遷移テスト、ユースケーステスト― 構造ベース ： 設計した構造通りに実装できており、これが動くことを確認するホワイトボックステス
ト（パスカバレッジ計測により意図しない構造が含まれないことを確認）» コードカバレッジ、デシジョンカバレッジ、ステートメントカバレッジ― 欠陥ベース ： 予測される潜在的な問題を中心にテストを設計する― 経験ベース ： 過去の問題経験からテストを設計する（欠陥ベースと同義）» 探索的テスト、(フォールト)攻撃■ 開発者の要求は： 構造ベースのテストは 工数をかけないで済ませたい• 単に動作することの確認のため、最小工数で作業が行えることが望ましい• カバレッジデータ設計ツール、カバレッジ計測ツールの適用が必要となっている

カバレッジマスターのテストデータ自動生成機能を適用
Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

7

JaSST‘2013 Tokyo

カバレッジマスターのテスト設計自動化機能■ 構造カバレッジ（C1、MC/DC）計測のためのテストデータ設計を自動化
 関数入出力変数を解析し、（テストCSV雛形を自動作成
 条件文を解析して C1、MC/DCを満たす最少数のデータを生成
直ぐに構造カバレッジ
結果が見られます！

テスト対象
関数を選択

関数入出力変数の自動設定

C1、MC/DCテストデータ
自動生成

単体テストの自動実行と結果出力

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

8

JaSST‘2013 Tokyo

選択テストデータを一斉自動実行■ 管理ツールSSTManagerで選択したデータを自動実行– 指定したCSVデータ（関数）を自動バッチ実行– 結果表示まで 全て自動実行

入出力テスト結果表示

テストデータを選択

C0/C1カバレッジ結果表示

テスト開始ボタン

自動テスト実行ダブルクリックで各結果詳細表示へ

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

9

JaSST‘2013 Tokyo

カバレッジ自動レポート■ 「カバレッジマスター winAMS」 カバレッジ結果を自動レポート– 条件分岐によるコードパスの網羅テストで品質を保証– 「winAMS」により テスト実行後に 実行したソース行を色表示– 組み込みソフトのC0/C1/MCDCカバレッジの自動テストを実現

winAMS シミュレータ

カバレッジ結果表示

実行後

入出力CSV
データ

C0

C1

MC/DC
クリックしたテストデータによる実行ソース行を色表示

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

10

JaSST‘2013 Tokyo

自動車機能安全規格ISO26262
ツール認証について

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

11

JaSST‘2013 Tokyo

ISO26262ツール認証をTUV SUDより取得■ 第三者認証機関であるドイツのテュフズード（TUV SUD）より
自動車向け機能安全規格 ISO 26262のツール認証を取得– ツール認証取得製品 （2012/6/28に 取得）• カバレッジマスターwinAMS/ゼネラル ： 単体テストツール• CasePlayer2 ： プログラム解析ツール– 静的解析およびユニットテストフェーズにおいて、全ての安全度水準（ASIL）に対応したツールであることがテュフズードにより認められました。
– 最も煩雑なツール認定作業が必要となるTCL3に設定した場合にも適用されます• ユーザ様は、TCLによらずツール認定に関わる作業を省略することが可能です

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

12

JaSST‘2013 Tokyo

リファレンスワークフロー（RWF）とは？
■ ISO 26262に適合した静的解析、単体テストを行うのに必要なガイオツールの使用方法（ワークフロー）を定義した文書■ TCLによらずツール認定に関わる作業を省略可能– ISO26262は開発に用いるソフトウェアツール毎に設定するTCL (Tool Confidence Level)に応じた開発ツール認定レポートの作成を ユーザーに要求します– 「カバレッジマスターwinAMS/ゼネラル」「CasePlayer2」はTUV認証取得済み– 最も煩雑なツール認定作業が必要となるTCL3に設定した場合にも適用可能※参考イメージ図

この使い方に沿えば、機能安全のツールとして使えますよ。TUVの認証がありますよ。

TUVの認証を基にして、ツールの認定をしましたよ。

納品物
ツール クオリフィケーション レポート

OEM

RWFに沿わない部分
は、自分でツールの認定をして、レポートに入れましたよ。

ECU
サプライヤ

リファレンス
ワークフロー

TUVの認証テクニカルレポート発行
認証マーク発行
OK

ツール
ベンダー

RWFに沿わない部
分は、機能安全に沿ったプロセスが既にあるなら、それで良いですよ。

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

認証機関
TUV

リファレンス
ワークフロー13

JaSST‘2013 Tokyo

導入実績・発表事例

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

14

JaSST‘2013 Tokyo

カバレッジマスターwinAMSの導入実績/事例■ 導入実績
自動車業界、鉄道、デバイス関連、通信機器、空調関連、メカトロ機器、プリンター複写機、FA機器、計器関連、エネルギー関連、交通機器関連、等々■ 多数のユーザ事例を発表
・不二越（株）・パナソニック（株）
・パイオニア（株）
・ソニーLSIデザイン（株）
・日産自動車（株）
・アイシン精機（株）
・フェリカネットワーク（株）：2011/01 GAIO CLUB ONLINEに事例紹介：2009/06 「ガイオ品質向上セミナー」にて発表：2008/02 組込み情報誌「ガイオ倶楽部」記事にて発表：2007/11 「単体試験の賢い選択・活用セミナー」 にて発表
：2006/08 「組込みソフト単体テスト成功事例セミナー」にて発表：2006/08 「組込みソフト単体テスト成功事例セミナー」にて発表：2005/12 組込み情報誌「ガイオ倶楽部」記事にて発表

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

15

JaSST‘2013 TokyoEND■ 最新情報はWEBサイトから www.gaio.co.jp※会社名・商品名は各社の商標または登録商標です。
※本テキストの内容は、予告無く変更される場合があります。
※本書記載の誤りにより生ずる問題や損失に対して弊社は責任を負いません。
※本資料の無断転載、複写はお断りします。
ガイオ・テクノロジー株式会社
営業部〒103-0013 東京都中央区日本橋人形町3-12-8
TEL.（03）3662-3041
FAX.（03）3662-3043
Email info＠gaio.co.jp ・・ご質問はこちらまで

Copyright © 2012 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

16