2010/01/28 JaSST'10 Tokyo

単体テスト設計手法「要素分析」と標準プロセス化ツールについて～大規模開発向け単体テストツール「ユニットマスター」の紹介～

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

1

2010/01/28 JaSST'10 Tokyo

ガイオテクノロジーのプロフィール

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

2

2010/01/28 JaSST'10 Tokyo

ガイオ・テクノロジーとは？
■ 組み込み開発ツールの開発および販売
クロスコンパイラ/テストツール/仮想検証ツー
ル/プロトタイピングツール/解析ツール■ テスト・検証に関わるサービスやコンサルテーシ
ョン■ 受託開発ガイオ・テクノロジー株式会社
GAIO TECHNOLOGY CO., LTD. 東京・日本橋 愛媛・松山
■ 設立
1980年
■ 資本金2億9800万円■ 従業員80名■ 本社：
横浜■ 事業所： 東京、松山■ 子会社： GAIO INC（USA）

横浜・本社

2009年度の事業計画で挙げた事業ドメイン

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

3

2010/01/28 JaSST'10 TokyoNew

ガイオの商材2009
カバレッジマスター

Ver.Up・静的解析したい・プログラムを可視化したい
・MISRA-Cチェックしたい・テストシナリオ品質向上
・SW品質指標が欲しい

MC-Checker

単体テスト代行サービス

カバレッジ測定ツール

仮想テストツール

CasePlayer2

SCS
No.1
システム
シミュレータユニットマスター

VECU-G・大規模ソフトウェアの単体テストを実現したい
・SWテストを効率的に実施したい

・仮想テスト装置を構築したい

リバースモデリング代行

クロスコンパイラ・レガシーコードをモデルに移行したい
・単体テストを中心に導入効果を ・モデルベース開発に移行したいが担当がいない
経営視点で示したい、計測したい
MBD開発サービス・品質観点で単体テストの効果を明示したい

・搬送路メカの動きをビジュアルに見たい

・HILSコストを低減したい
・プラントモデルと連携してシミュレーション
ECUシミュレータ

経営視点のSW品質改善診断

クロスコンパイラ・モデルとコードが一致しているか確認したい

・第３者認証により品質を高めたい
・検証工数の確保

・複数ECUの連携ロジックを確認したい
・IGNオン時の振る舞いのデバッグ

VMPF-G

ガイオプロセッサコア
デジタル制御電源向け開発ツール

G-VPM

・デジタル電源制御のツールを導入したい
・デジタル電源開発の分野に参入したい

・廉価なマイコンIPでコストを圧縮したい・IPを使ってFPGAベースの開発をしたい

ASLS-G

プリンターエンジン向け
シミュレーション

VESS-G

・検証を自動化したい
・ECU間通信部の確認をしたい
複数ECUシミュレータ

VSFS-G
RtFT

システム全体（メカ/エレキ/ソフト）をシミュレーションしたい

MFSS-G

FlexRayシミュレータ
・ASICの検証にマイコンの出力を使いたい

・実機を使った検証を自動化したい

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

4

2010/01/28 JaSST'10 Tokyo

ガイオの単体テストツールとソリューション■ カバレッジマスター• マイコンシミュレータ搭載型単体テスト
自動化ツール■ 単体テスト代行サービス• カバレッジマスターをベースにした単体テスト委託サービス■ MC-Checker• MATLAB/Simulink連携型モデル
ベース開発（MBD）用単体テストツール■ 単体テストセミナー• 単体テストスキル向上セミナー• eラーニング■ 新単体テストツール「ユニットマスター」• 大規模アプリ向け単体テスト標準化プロセスツール
本日の講演のメイン製品
Copyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

5

2010/01/28 JaSST'10 Tokyo

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

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

6

2010/01/28 JaSST'10 Tokyo

winAMSの販売実績■ リリースからの販売伸び率と主な販売サイト
自動車ECU
空調、デバイス、ガス機器、計器、医療機器
鉄道交通、FA機器、プリンター
自動車ITS
デジタル家電
携帯電話
エネルギー
2004年

2005年

2006年

2007年

2008年

■ 2004年～2007年と2008年以降の業界毎の販売比率
2004年～2007年

2008年～現在

自動車ECU

48.3％

30.6％

自動車ITS

4.5％

19.1％

鉄道/交通

3.7％

3.5％

エネルギー

2.3％

4.7％

デジタル家電

3.2％

22.6％

携帯電話0.2％

1.2％

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

7

2010/01/28 JaSST'10 Tokyo

ガイオの単体テストの強み■ ツール開発からテストサービスまでを提供可能な稀有なベンダー■ いろんな確度からソフトウェアの品質向上を見つめ直しています。

品質意識の品質意識の高いユーザ
高いユーザ

ツール開発
ツール開発

ソフトウェア品質ノウハウ
テストサービス
テストサービス

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

パートナー
パートナー

8

2010/01/28 JaSST'10 Tokyo

単体テストとソフトウェア

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

9

2010/01/28 JaSST'10 Tokyo

モジュール単体テストは「最初」で「最小」■ コーディングしたソフトウェアの最初の品質確認テスト■ コーディングしたソフトウェアの最小単位における品質確認テスト
モジュール単体テストのイメージ

V字モデル
要求分析入力入力
テスト
テスト
データ
データ

受け入れテスト

基本設計

システムテストハードウェア
ソフトウェア

機能設計

結合テスト

モジュール
モジュール
（関数）
（関数）

機能タスク
モジュール
モジュール
（関数）
（関数）

詳細設計

単体テスト

コーディング

出力
出力
テスト
テスト
データ
データ

モジュール
モジュール
（関数）
（関数）
モジュール
モジュール
（関数）
（関数）

入出力テスト期待値との比較

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

カバレッジ

テストの網羅性確認102010/01/28 JaSST'10 Tokyo

単体テストの意味と目的■ 検証の前倒しで手戻りの無い効率的な検証が実現可能■ 後工程では発見困難な潜在不具合を無くすことができる■ 定量的、客観的な単体テストを実施し、プログラマー個人依存部分を排除■ モジュール再利用時の品質確保を行うため• 最近の不具合傾向として、モジュールの再利用時、部分修正で発生することが多い■ 国際認証に向けたテストエビデンス（カバレッジ基準）への対応

単体テストは、全てのコードを動作させることができる
単体テストは、全てのコードを動作させることができる
最初で最後の工程!!
最初で最後の工程!!
Copyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

11

2010/01/28 JaSST'10 Tokyo

ソフトウェア品質と単体品質の位置づけ■ V字モデルの携わる開発者のスキルと人数について• V字モデルの下位層ほど携わる人が多い• V字モデルの下位層ほどスキルのバラツキが大きい

その道のプロフェッショナルが力を発揮する（差別化をはかる）部位

能力が不明確なたくさんの「人」がかかわる部位

単体テストの成功には組織的取り組みとしての、「標準化」というキーワｰドが必要
Copyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

12

2010/01/28 JaSST'10 Tokyo

一般的な単体テストの課題－コードカバレッジのみのテスト指針－

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

13

2010/01/28 JaSST'10 Tokyo単体テストで必要なテスト観点と検出可能な不具合
機能性テスト
機能性テストカバレッジテスト
カバレッジテスト

コード不具合テスト
コード不具合テスト

テスト観点

テスト観点

テスト観点

仕様とソースの一致性

コード網羅性
テストスペック的な要素大モジュール構造的堅牢性
静的解析ツール得意領域

ブラックBOX

ホワイトBOX

仕様不一致

コーディング初歩的ミス
デッドコードNULLポインタ/ゼロ割
キャスト
メモリリーク/不正アクセス
オーバ、アンダーフロー

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

14

2010/01/28 JaSST'10 Tokyo

単体テストとコードカバレッジ100％■ 単体テストにおけるカバレッジ指標を手段では無く、目的にしてしまい、工数に見合った効果が出ていない
入出力データは設計者（テスター）まかせ
ソースコード

とりあえずC1カバレッジ100％を目指そう

出力 I/F

入力 I/F

入力データ

とにかくコードカバレッジ100％だけは遵守
カバレッジが達成できていれば入出力データは重要視していない・・・

出力データ

カバレッジ100％だからOK■ 不具合を検出するためのテストデータの内容（精度）については担当者任せ• コードカバレッジを100％にして必ず発見できる不具合は「デッドコード」のみ• 単体テストに必要な組織的な標準化というキーワードとは縁遠い• 単体テストをしても不具合の検出ができないというユーザはこの傾向が強い
Copyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

15

2010/01/28 JaSST'10 Tokyo

単体テスト品質を向上させるためには■ テストデータの中身をカバレッジ重視型からモジュール品質確認重視型へ移行• 機能性（仕様一致性）のテスト• カバレッジのテスト• コード不具合（モジュール構造的堅牢性）のテスト設計者依存になりがち■ 開発者スキルに依存させないために、テストデータ設計をプロセス化する① モジュール入出力要因の抽出－ 引数や参照変数、リターン値などのモジュール入出力要因を抽出する② モジュール入出力要因への要素（付与値/期待値）の洗い出し－ ブラック/ホワイトBOX視点におけるテスト付与値を漏れなく設定する。

③ 要素を組み合わせてモジュールテストパターンを作成－モジュールやモジュール入出力要素の特性、テスト観点や指針に応じて、設定した各入出力要素の付与値を組み合わせて、モジュールテスト用のデータを作成する。

■ 単体テスト設計の各プロセスでのレビューを容易にする
単体テスト設計手法「要素分析」を用いて、実現!!
単体テスト設計手法「要素分析」を用いて、実現

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

16

2010/01/28 JaSST'10 Tokyo

開発技術者の「スキル」に依存しない単体テスト設計を可能にする「要素分析」手法

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

17

2010/01/28 JaSST'10 Tokyo

要素分析とは？
■ モジュールに対する入出力やテスト要素を漏れなく抽出して 明確にすること••

入出力の種類ごとのテスト要因を漏れなく抽出することによって関数に対しての入出力データの不足をなくすことを目的とする単体テストに含めなければならない「要素」を明確にする■ 単体テスト設計の内容を示す「要素分析表」を作成① 引数、外部変数、戻り値などの入出力要因を抽出② 入出力要因に対して、与えるべき要素（付与値/期待値）を抽出③ 要素を組み合わせてテストパターンを作成
要素分析表
詳細設計書
詳細設計書
詳細設計書
詳細設計書
ソースコードソースコード

洗い出し
洗い出し

入力要素
inA
0
境界条件
1149
150 境界条件
151
255 最大値
0 最小値
75 代表値

テストパターン
inB
0
境界条件
1149
150 境界条件
151
255 最大値
0 最小値
75 代表値

入出力要因の抽出と明示化
入出力要素の抽出と明示化

機能性確認のベクター
カバレッジ観点のベクター

組み合わせ
組み合わせ

コード不具合のベクター
要素分析表から必要な観点毎のテストパターンを作成。
入出力要素を漏れなくテスト実施

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

18

2010/01/28 JaSST'10 Tokyo

ガイオの提案する「要素分析手法」のメリット■ 設計時に見逃してしまう入力条件を 確実にテストに含める• テスト担当者の判断によらないテスト設計が可能• 仕様に関わる不具合検出を容易にする― 例：誤って参照すべきグローバル変数とは違う変数を参照する不具合■ テスト担当者のスキルや判断に依存しない テストの標準化を実現する• テスト設計指針書（データの設計方法）を明確に定めることができる• テスト設計は、指針書に従い「機械的に」行うことができる■ 要素分析表を参照することで テストのレビューを容易にする• 実施した単体テストに含まれているテスト要因が明確になる• テストの品質が「客観的」に判断するエビデンスとして利用できる

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

19

2010/01/28 JaSST'10 Tokyo

要素分析表を使ったテスト設計例

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

20

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計： サンプル関数仕様とコード■ func5() 関数仕様
• 入力仕様：― unsigned char型 引数 inA, inB― 入力値レンジ 0～150

テスト対象関数unsigned char
func5( unsigned char inA, unsigned char inB ){unsigned char tmp;// 入力範囲の確認
if( inA > 150 ){return 0; // 入力レンジエラー}
if( inB > 150 ){return 0; // 入力レンジエラー}• 戻り値 unsigned char型：― ２入力inA, inBの加算値― 条件：
入力値がレンジ外の時は0
加算値が200以上の時は200// 加算処理
tmp = inA + inB;// 加算結果が200以上なら以上なら 200 を返す
加算結果がif( tmp >= 200 ){return 200;}// それ以外は加算結果を返す
return tmp;}

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

21

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 入力分析表を作成■ 入力変数に関する テスト指針の例↓
 変数が境界条件を持つ場合、境界値に対して、[境界値-1], [境界値], [境界値+1]の３値を付与すること
 変数の型に対して、[最大値], [最小値]を付与すること
 同値分割により範囲が定められたときは、有効なレンジの中心値を代表値として付与する

入力要素
変数レンジの下限値0への境界条件→
型がunsignedのため [境界値-1]は設定しない
変数レンジの上限値150への境界条件→

変数の型（unsigned char）の最大最小値→
変数レンジの中間値→

inA0
境界条件
1149
150 境界条件
151
255 最大値
0 最小値
75 代表値

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

inB0
境界条件
1149
150 境界条件
151
255 最大値0 最小値
75 代表値22

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 入力要素組み合わせ作成■ 入力要素の組合せ方法は 「テスト指針書」に従う• どの様な組合せをテストに含めるかは 指針書に明記する■ 入力要素の組み合わせに関する テスト指針の例↓• 境界条件値は、対象付与値の全数組み合わせを作成する― 全パスを網羅するため• 最大値、最小値は、対象付与値の全数組み合わせを作成する― 演算のデータカバレッジを網羅するため• 代表値がある場合は、少なくとも１度はテストパターンに含まれるようにする
入力要素
inA
0
境界条件
1149150 境界条件
151
255 最大値
0 最小値
75 代表値

inB
0
境界条件
1149
150 境界条件
151
255 最大値
0 最小値
75 代表値

境界条件は全数組み合わせを作成

最大最小値は全数組み合わせを作成
代表値は少なくとも１度使われるように

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

232010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 出力分析表を作成■ 出力として確認すべき期待値の表を作成• 期待値として確認しておくべき値を 表にまとめておく― 例外条件として規定されている出力値― 特異な演算結果など■ この期待値が 組合せデータの期待値として得られるかを確認• 結果がこの期待値となるテストが行えるかを確認する• 組み合わせたテストデータから 想定した期待値が得られるかを確認する―条件：
入力値がレンジ外の時は0
加算値が200以上の時は200

出力要素戻り値
0
下限値
200
上限値

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

24

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 組み合わせを作成■ テスト指針書に従って正しく組み合わせを作成

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

25

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 期待値設定、出力要素確認■ 組み合わせたテストベクターに対する期待値を設定• 期待値は関数仕様を元に設定（ソースコードから逆算してはならない）■ 出力要素分析表の期待値が全て含まれていることを確認

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

26

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 実行後 期待値比較を行うと・・・■ ２つの入力要因の最大値同士の組合せで 期待値と異なる結果になる• No14のデータ [inA=149、inB=149] で結果が200にならない

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

27

2010/01/28 JaSST'10 Tokyo（参考）単体テスト設計例： 潜在不具合が発見された！
■ 「最大値同士の組合せ」の入力要因がなければ この不具合は発見できない
この要因は技術者の判断でなく、「テスト指針」により機械的に設計されているテスト設計者の判断やスキルに依存することなく 不具合を検出できる••

unsigned char func5( unsigned char inA, unsigned char inB ){unsigned char tmp;// 入力範囲の確認
if( inA > 150 ){return 0; // 入力レンジエラー}
if( inB > 150 ){return 0; // 入力レンジエラー}// 加算処理
tmp = inA + inB;// 加算結果が200以上なら以上なら 200 を返す
加算結果がif( tmp >= 200 ){return 200;}// それ以外は加算結果を返す
return tmp;

変数tmpがunsigned char のため、255以上の演算結果がオーバーフローしてしまう}
Copyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

28

2010/01/28 JaSST'10 Tokyo

ユニットマスター
ツール構成・機能紹介

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

29

2010/01/28 JaSST'10 Tokyo

ユニットマスターは３つの機能を個別に提供■ C/C++コードの評価に対応した単体テストスイート■ 設計・実行・結果の3つの工程を 個別のアプリケーションとして提供■ 個別に機能を導入可能• データ設計・作成機能（テストデータデザイナー）― 不具合検出目的のテスト設計プロセス― テスト設計レビュー• テスト実行（テストランチャー）― 汎用的（PCアプリケーション、シミュレータ、実機等）な環境におけるテスト実行環境• テスト結果（テストレポーター）― 単体テスト実行結果を、テスト実施者と管理者が閲覧/管理できるビューを搭載
テストデータデザイナー

テストランチャーテストレポーター

テスト設計

テスト実行

テスト結果

テスト設計プロセス
テスト設計レビュー

汎用的テスト
実行環境

テスト合否表示
結果/進捗表示Copyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

30

2010/01/28 JaSST'10 Tokyo

ユニットマスター 画面イメージ図■ 統合化された環境で効率的な単体テスト作業が可能• 組込み以外のユーザー層のユースケースに合わせたGUI構成に

テスト結果

テスト設計

テスト実行

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

31

2010/01/28 JaSST'10 Tokyo

テストデータデザイナーとは■ 開発者スキルに依存しない標準化されたテストデータ作成支援アプリ• 単体テストの品質を明確にする「モジュール入出力表（要素分析表）」を利用• テスト設計過程を記録し、客観的なテストデータ設計を実現■ 不具合検出のためのテスト観点を整理しデータ化• 仕様書情報からブラックボックス観点のテストデータを整理し設定• ソースコードからホワイトボックス観点のテストデータを整理し設定• 組合せパターン（テストベクター）の生成と網羅性管理

仕様情報

ソース
コード

仕様からの仕様からの抽出・定義
抽出・定義

モジュール
入出力表

組み合わせ組み合わせ

テストパターン

入出力要因

ソースからのソースからの抽出・定義
抽出・定義

テストデータCopyright © 2010 GAIO TECHNOLOGY CO., LTD. ALL RIGHTS RESERVED.

32

2010/01/28 JaSST'10 Tokyo

テストデータデザイナー：モジュール入出力表のイメージ■ モジュール（関数）への入出力変数に与えるテストデータの管理• 変数毎にテストの観点とテストデータを整理して設定― 境界条件値、最大最小値、オーバーフロー要因など、その他不具合の要因■ テストの品質を客観的に示すエビデンスとなる

変数名を整理

入出力要因

テスト
データ

テスト観点によりテストデータを整理

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

33

2010/01/28 JaSST'10 Tokyo

テストデータデザイナー：テストパターンの作成■ モジュール入出力表で設計したテストデータからテストパターンを生成• 総組み合わせ• デシジョンテーブル• 直交表• 最大値/最小値におけるアンダー/オーバフローの確認データ• カバレッジ網羅データ

手動
手動

自動自動

モジュール入出力表

テストパターン

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

34

2010/01/28 JaSST'10 Tokyo

テストデータデザイナー：カバレッジ網羅データの作成支援■ ソースコードの解析による モジュール入出力表作成の支援機能サポート• モジュールの入出力要因を自動抽出• ソースコードからテストデータをリバース作成• ソースパス網羅（カバレッジ）に着目したテストデータ作成を支援
詳細設計書
詳細設計書
詳細設計書
詳細設計書

モジュール入出力表（要素分析表）

ブラックボックス
ブラックボックス
観点要素
観点要素

カバレッジ網羅テストベクター

ソース
コード

ソース
解析情報

ホワイトボックス
観点入力要素観点入力要素カバレッジ
観点組み合わせ組み合わせ
観点

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

35

2010/01/28 JaSST'10 Tokyo

テストランチャーとは■ 組込みプラットフォームに依存しない単体テスト実行を実現• ネイティブアプリ、WindowsCEエミュレーション、カバレッジマスター等実機コード などのテスト実行環境を汎用的にサポート• ソースコードベースのテスト環境を実現• Visual Studioなどの開発プロジェクトからのビルド情報を取得■ テストドライバ自動作成機能• ソースコードへのカバレッジ計測用等フックコードの自動埋め込み• 実行モジュールを作成

テストパターン

テストドライバ

ビルド
ビルド実行モジュール

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

テスト結果

36

2010/01/28 JaSST'10 Tokyo

テストレポーターとは■ テスト実施者、テスト管理者個別にテスト結果、進捗を確認する機能• 出力結果の合否判定― 期待値と出力値をチェックして合否結果表示― 様々なアウトプット形式• HTML, SQLDB, XML, テキスト形式で出力可能― 差分結果の表示― 過去のテスト結果との差分表示

期待値「５」に対して出力値が「４」の為エラーの結果が表示されている

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

37

2010/01/28 JaSST'10 Tokyo

テストレポーター：カバレッジ結果表示■ テストランチャーで取得した カバレッジ結果の表示• C0,C1,MC/DCのカバレッジ結果の表示• 複数モジュールのカバレッジ結果の表示も可能

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

38

2010/01/28 JaSST'10 Tokyo

テストレポーター：管理者向け機能■ プロジェクト全体、各テスト実施者の進捗、テスト結果を集中管理• リレーショナルDBをサポート― 複数の担当者が作成した情報を1箇所で集約し― プロジェクト全体の管理業務をサポート可能• 全ての情報をRDBへ送信、プロジェクト単位で保存― 進捗管理やテスト結果の収集に利用可能― 構成管理ツールでの管理が可能

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

39

2010/01/28 JaSST'10 Tokyo

ユニットマスターの全体図 まとめ
テスト設計
テスト設計

テスト実行
テスト実行

スキルに依存しないテスト設計の実現
ホワイトボックス
観点（カバレッジ）（危険コｰﾄﾞ）

テスト結果
テスト結果

プラットフォームに依存しない実行環境

テスト実行結果レポート（エビデンス）

テストパターンテストパターン

テスト管理

ブラックボックス
観点（仕様一致）

テスト結果
テスト結果
汎用的なテスト実行環境
PC アプリケーション実行

テストビュー/管理ビュー
テストビュー 管理ビュー

不具合検出目的のテスト設計

WinCEエミュレータ
WinCEエミュレータ

テスト結果分析
テスト結果
結果レポートテスト
結果レポート

テスト設計プロセス

マイコンシミュレータ（カバレッジマスターwinAMS
カバレッジマスター winAMS等）
winAMS等）

テスト進捗管理テスト設計レビュー

実機

テストパターン
テストパターン

テスト結果
テスト結果

GUI

マイコン知識やアセンブラスキルが不要なユーザビリティの実現

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

ツール連携（構成管理ツール等）

40

2010/01/28 JaSST'10 Tokyo

END
最新の製品情報はhttp://www.gaio.co.jp/※会社名・商品名は各社の商標または登録商標です。
※本資料の無断転載、複写はお断りします。
ガイオ・テクノロジー株式会社
日本橋事業所 営業部〒103 東京都中央区日本橋人形町3-12-8
TEL.（03）3662-3041
FAX.（03）3662-3043
Email info＠gaio.co.jp ・・ご質問はこちらにお願いします。

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

41