モデルベースドテストの...

58
モデルベースドテストの 技術動向と研究事例 モデルベースドテストの モデルベースドテストの 技術動向と研究事例 技術動向と研究事例 ソフトウェアテストシンポジウム 2007 東京 2007年1月30日 小川 秀人 株式会社 日立製作所) Andreas Hoffmann (Fraunhofer FOKUS) Ina Schieferdecker (Fraunhofer FOKUS)

Upload: nguyenanh

Post on 30-Apr-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

モデルベースドテストの技術動向と研究事例

モデルベースドテストのモデルベースドテストの技術動向と研究事例技術動向と研究事例

ソフトウェアテストシンポジウム 2007 東京

2007年1月30日

小川 秀人 (株式会社 日立製作所)

Andreas Hoffmann (Fraunhofer FOKUS)

Ina Schieferdecker (Fraunhofer FOKUS)

Page 2: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

謝辞謝辞謝辞

本講演でご紹介するモデルベースドテスト研究事例は、Fraunhofer FOKUSと

(株)日立製作所の共同研究によるものです。

本講演資料の一部は、Fraunhofer FOKUSによる下記講演資料の和訳です。

講演資料の転載をご快諾いただいたFraunhofer FOKUSの皆様に感謝いたします。

“Model Transformers for Test Generation from System Models”Presenter: A. Hoffmann

Authors: M. Busch, R. Chaparadza, Z. R. Dai, A. Hoffmann, L. Lacmene, T. Ngwangwen,

G. C. Ndem, H. Ogawa, D. Serbanescu, I. Schieferdecker, J. Zander-Nowicka

Presented at CONQUEST 2006.

Page 3: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

目次目次目次

1. モデルベースドテストとは何か

2. テストのモデリング

3. システムモデルからのテストの生成

4. 研究事例紹介

5. まとめ

Page 4: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデルベースドテストとは何かモデルベースドテストとは何かモデルベースドテストとは何か

Model-based testing isSoftware testing in which test cases are derived in whole or in part from a model that describes some (usually functional) aspects ofsystem under test (SUT) [Wikipedia]

モデルベースドテストとは、

テスト対象システム(SUT)の性質を記述したモデルから

全部または一部のテストケースが生成される

ソフトウェアテスト

1 1 -- 11

Page 5: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデル

抽象的なテスト 実行可能なテスト

システム

部分的な記述

抽象化

生成される 実行できる

[Wikipedia]より和訳

モデルベースドテストの構成要素モデルベースドテストの構成要素モデルベースドテストの構成要素1 1 -- 22

Page 6: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデルベースドテストの技術要素モデルベースドテストの技術要素モデルベースドテストの技術要素

モデル

抽象的なテスト 実行可能なテスト

システムシステムのモデル化

テストのモデル化

テストの

生成

システム開発

テストの実装

テストの実行

[Wikipedia]に加筆

テスト要求テスト要求

シス

テム

情報

シス

テム

情報

1 1 -- 33

モデルベースド開発モデルベースド開発

モデルベースドテストモデルベースドテスト

①テストのモデル化①テストのモデル化②システムモデルから②システムモデルから

のテスト生成・実装のテスト生成・実装

Page 7: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

目次目次目次

1. モデルベースドテストとは何か

2. テストのモデリング

3. システムモデルからのテストの生成

4. 研究事例紹介

5. まとめ

Page 8: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストのモデリングテストのモデリングテストのモデリング

テストを(抽象的に)表現

テストデータ

テストデータを抽象的に表現しよう

テストの振る舞い

テスト動作を表現しよう

テストの結果の評価

成功か失敗かの判断を表現しよう

テストの構造

テストを構造化しよう

2 2 -- 11

Page 9: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストモデリング言語の例テストモデリング言語の例テストモデリング言語の例

TTCN-3“Testing and Test Control Notation Version 3”ETSI, ITU-Thttp://www.ttcn-3.org/2001.6 ver.1.1.2 → 2005.6 ver.3.1.1

U2TP“UML 2.0 Testing Profile”Object Management Group http://www.omg.org/technology/documents/formal/test_profile.htm2005.7 formal

xUnit ?テストツールの専用言語?汎用言語によるテスト記述?

2 2 -- 22

Page 10: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3の概要TTCNTTCN--33の概要の概要

“Testing and Test Control Notation Version 3”ETSI Technical Committee MTS (Methods for Testing and Specification)により開発、継続的にメンテナンス

15年以上*にわたり、標準化や産業界での利用実績

ETSIにおける 適合テストの実装

Session Initiation Protocol (SIP) for Voice over IP (VoIP), IPv6 (Core, Mobility, Security), Digital Mobile Radio (DMR) ,WiMax (HyperLan), 3GPP IP Multimedia Subsystem (IMS) など

産業界での利用

通信、自動車、鉄道、金融など様々な分野で利用

特に、欧州の通信機器メーカでの利用事例が多く発表されている

TTCN-3 Users Conferenceなど

テストの種類

ソフトウェアモジュールテスト

レイヤ/モジュールテスト

統合テスト

分散システムのテスト * TTCN-1 からの実績を含む

2 2 -- 33

Page 11: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3の主な特徴TTCNTTCN--33の主な特徴の主な特徴

コア言語と多様な表現形式

テストケース

システムを評価する動作の記述

テンプレートとマッチング

テストデータの記述と、値のパターンマッチング

バーディクト

テスト結果のハンドリング

モジュール化

テスト・コンフィグレーション

SUTとのインタフェース定義

テストコンポーネントの動的生成

並行、分散テストの記述

2 2 -- 44

Page 12: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3の言語TTCNTTCN--33の言語の言語

Presentation Format n

Graphical Format

Tabular Format

Other Types & Values 2

ASN.1 Types & Values

Other Types & Values n

Presentation Format m

TTCN-3Core

Language

2 2 -- 55

Page 13: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3のテストデータTTCNTTCN--33のテストデータのテストデータ

ユーザ定義型type record MyRecordType {integer field1 optional,charstring field2,boolean field3

}

テンプレート

値に名前をつけて取り扱う

テストデータの抽象化・再利用

template MyRecordType test_data1 := {field1 := ?,field2 := pattern “JaSST in * 20*",field3 := true

}

マッチング

テスト結果の判定のためにテストデータを評価

ワイルドカード(*, ?)

2 2 -- 66

Page 14: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3のバーディクトTTCNTTCN--33のバーディクトのバーディクト

バーディクト: テスト結果をハンドリングする仕組み

none < pass < inconc < fail < error

各テストコンポーネントがローカル・バーディクトを持つ

コンポーネントが読み書き

各テストケースは、グローバル・バーディクトを持つ

テストコンポーネント1 テストコンポーネント2 テストコンポーネントn

…ローカル

バーディクト1

ローカルバーディクトn

ローカルバーディクト2

グローバルバーディクト

FF PP II

FF

2 2 -- 77

Page 15: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3のテストケースTTCNTTCN--33のテストケースのテストケース

SUT

Port1.Send(Stimulus) Port2.Recieve(Response)

レスポンスの評価

バーディクトのセット

port1.send(Stimulus_Template);

alt {[ ] port2.receive(operationComplete_Type:

{response, true, ?}) { setverdict(pass); }

[ ] port2.receive(operationComplete_Type:?) -> value erroneous{ setverdict(fail); }

[ ] ...}

ポートポート

2 2 -- 88

Page 16: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3のモジュール化TTCNTTCN--33のモジュール化のモジュール化

SUT

ポート

メイン・テスト・コンポーネント

テスト・コンポーネント

テスト・コンポーネントテスト・

コンポーネントテスト・コンポーネント

生成

テストケース記述

コンフィグレーション

テストケース記述

生成

2 2 -- 99

Page 17: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

TTCN-3のテストシステムTTCNTTCN--33のテストシステムのテストシステム

[http://www.ttcn-3.org/Testsystems.htm]

Test System Executor

Test Control Logging Codecs

TTCN-3 Executable

SUT Adapter Platform Adapter

System Under Test (SUT)

TCI

TRI

TCI = TTCN-3 Control InterfaceTRI = TTCN-3 Runtime Interface

TTCN-3 Test System

2 2 -- 1010

Page 18: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

U2TPの概要U2TPU2TPの概要の概要

“UML 2.0 Testing Profile”

UML 2.0 にテストコンセプトを導入

U2TPの構成要素

テスト・アーキテクチャ

テストコンポーネント、テストコンフィグレーション、テストコントロールなど

テスト・ビヘイビア

デフォルト、テストケース、バーディクト、テストログなど

テスト・データ

ワイルドカード、データプール、データパーティションなど

テスト・タイム

タイマ、タイムゾーンなど

2 2 -- 1111

Page 19: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

システムの例:銀行ATMシステムの例:銀行システムの例:銀行ATMATM

[U2TP]

2 2 -- 1212

SUT

Page 20: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

U2TPの例:ATMテストパッケージU2TPU2TPの例:の例:ATMATMテストパッケージテストパッケージ

[U2TP]に加筆

2 2 -- 1313

SUT

SUTに対

する

テス

テス

トコンテ

キス

模擬

コンポ

ーネ

ント

模擬

コンポ

ーネ

ント

バー

ディクト

テス

トケー

テス

トデー

Page 21: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

U2TPの例:テストコンテキストU2TPU2TPの例:テストコンテキストの例:テストコンテキスト

[U2TP]

2 2 -- 1414

テス

トシス

テム

構成

テス

ト動作

テス

トケー

テス

トケー

Page 22: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

U2TPの例:テストケースU2TPU2TPの例:テストケースの例:テストケース

[U2TP]

2 2 -- 1515

SUT

メッセー

ジン

結果

テス

トケー

タイマ

Page 23: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

目次目次目次

1. モデルベースドテストとは何か

2. テストのモデリング

3. システムモデルからのテストの生成

4. 研究事例紹介

5. まとめ

Page 24: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

システムモデルからのテスト生成システムモデルからのテスト生成システムモデルからのテスト生成

生成するもの

テストの内容

テスト動作

テスト入力と期待出力

結果出力の評価

テスト結果の評価

テストシステムの構造

テストシステムとSUTとの間のインタフェース

テストシステムの実行方法

テストシステム内の構造

3 3 -- 11

Page 25: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストケースの生成テストケースの生成テストケースの生成

システムのモデル → テストケース広い意味では、従来のテスト技法も該当する

従来テスト技法の例:テストデータの生成同値クラス → 限界値・境界値

従来テスト技法の例:テストデータの組合せの生成因子、水準 → 直行表、All-Pair

クラス 値域

立見あり 101 ≦ N ≦ 130

着席 1 ≦ N ≦ 100

聴衆なし N = 0

テストデータ-1, 0, 1, 100, 101, 130, 131…

聴衆 気温 笑い

立見あり 高 あり

なし着席 適正

聴衆なし 低

# 聴衆 気温 笑い

1

2

3

あり

なし

なし

… … …

立見あり 高

着席 高

聴衆なし 適正

3 3 -- 22

結果

盛況

睡眠

悲哀

Page 26: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストケースの生成 (続き)テストケースの生成テストケースの生成 ((続き)続き)

従来テスト技法の例:原因結果グラフ → 決定表

従来テスト技法の例:状態遷移モデル → パステスト

モデルベースドテストは、これらの歴史を踏まえながら、より統合的、形式的、標準的に

# 1 2 3 …

券種 1日券 1日券 2日券 …

支払い方法 振込 カード 振込 …

メール送付 ○ ○ ○ …

請求書印刷 ○ × ○ …

カード決済 × ○ × …

1日券

2日券

銀行振込

カード払い

確認メール送付

請求書印刷

カード決済

OROR

OROR

ANDAND

ANDAND

3 3 -- 33

Page 27: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストケース生成の手法テストケース生成の手法テストケース生成の手法

有限状態機械(FSM)、状態遷移システム

シナリオベーステストケース生成

定理証明を用いたテストケース生成

制約論理を用いたテストケース生成

モデルチェッキングを用いたテストケース生成

シンボル実行を用いたテストケース生成

3 3 -- 44

Page 28: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストシステムの構造の生成テストシステムの構造の生成テストシステムの構造の生成

SUTシステムモデル

テストケーステストケース

テストケース

テストケースの解釈実行

SUTとのコミュニケーション

データ入出力・変換

テスト実行の制御

ユーザインタフェース

3 3 -- 55

Page 29: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデルベースドテストの研究例モデルベースドテストの研究例モデルベースドテストの研究例

IRISA, VERIMAG: TGV (Test Generation with Verification)IOLTS (Input/Output Labeled Transitions Systems)

IBM: AGEDIS (Automated Generation and Execution of Test Suites in Distributed Component-based Software)

AGEDIS Modeling Language(UMLベース;オブジェクトダイアグラム, ステートダイアグラム,IFアクション言語)

Microsoft: AsmL Test Tool, Spec ExplorerAsmL: Abstract State Machine Language

Telelogic: TauSDL: System Description Language

Conformiq: Conformiq QtronicUML ステートダイアグラム

ISPRAS: UniTesK専用仕様記述言語

Reactive Systems: ReactisMatlab/Simulink, Stateflow 等々

さらに興味のある方は[Wikipedia] [MBTHP]等を参照

3 3 -- 66

Page 30: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

目次目次目次

1. モデルベースドテストとは何か

2. テストのモデリング

3. システムモデルからのテストの生成

4. 研究事例紹介

5. まとめ

(注)本章のスライドは,[CONQUEST2006]の日本語訳に

一部のスライドを追加したものです.

Page 31: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデルベースドテスト研究事例の紹介モデルベースドテスト研究事例の紹介モデルベースドテスト研究事例の紹介

OMG MDA(Model Driven Architecture)の概念をテストに拡張

システムモデル

PIM (Platform Independent Model): UML2.0

PSM (Platform Specific Model) : EJB

実行コード : Java/EJB, Java/WSDL

テストモデル

PIT (Platform Independent Test): UML2.0 Testing Profile

PST (Platform Specific Test) : TTCN-3

テストコード : Java

モデル変換

OMG MOF (Meta-Object Facility)

4 4 -- 11

Page 32: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

目的:システムとテストの早期の統合設計ミスや実装間違いをシステム開発の早期に摘出

開発時間とコストを短縮

Model-Driven Architecture (MDA)プラットフォーム非依存モデルからプラットフォーム依存モデルへのリファインメント

メタモデルに基づいたモデル変換器によるモデル変換

しかし、テストに関しては言及なし => MDAを拡張

MDAへのテストの統合MDA, MOF, UML 2.0 UML 2.0 の記法を、システムとテストの両方のプラットフォーム

非依存モデルに利用

EJBとWSDLシステム向けのテスト実行

目的と背景目的と背景目的と背景[CONQUEST2006]

4 4 -- 22

Page 33: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

シス

テム

開発

PIM

SystemCode

Platform1

PSM to CodeTransformer1PIM to PSM

Transformer1 PSM1Platform1

SystemCode

Platformn

…PSM to CodeTransformern

PIM to PSM Transformern

PSMnPlatformn

プラットフォーム非依存モデル (PIM; Platform Independent Model)ターゲットプラットフォームの詳細に依存せず、システム機能を記述

1つのPIMから多くのターゲット向けの実装を生成

インタラクティブなリファインメントを行う

プラットフォーム依存モデル(PSM; Platform Specific Model)への変換ターゲットプラットフォームごとの変換器半自動/自動的な変換

実行コードの生成

変換の完全性は、モデルと変換器の完全性に依存

Model-Driven Architecture [MDA]ModelModel--Driven ArchitectureDriven Architecture [MDA][MDA][CONQUEST2006]

4 4 -- 33

Page 34: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テス

ト開

発 PIT

TestCode

Platform1

PST to Test CodeTransformer1

TestCode

Platformn

PSM to Test CodeTransformern

PIT to PSTTransformer1

PST1Platform1

…PIT to PST Transformern

PSTnPlatformn

テストにシステムモデリングと同様の抽象化

プラットフォーム非依存テスト (PIT; Platform Independent Test)

プラットフォーム依存テスト (PST; Platform Specific Test)

1つのPITから複数のPSTへ変換

PSTからテストコードの生成

MDAベースのテストモデリングMDAMDAベースのテストモデリングベースのテストモデリング[CONQUEST2006]

4 4 -- 44

Page 35: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

変換器によるテスト生成の意味変換器によるテスト生成の意味変換器によるテスト生成の意味[CONQUEST2006]

なぜシステムモデルからテストを生成するのか?

システムモデルの持つシステム情報をテストモデルに再利用

ブラックボックステストにとってのシステム情報の有効性

システム構造、コンフィギュレーション

システムのコンポーネントポートで、システムの振る舞いを観察可能

型システム

データの具体値

4 4 -- 55

Page 36: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テス

ト生

成シ

ステ

ム開

発テ

スト

開発

Test ExecutionagainstSUT

…SystemCode

Platform1

PSM to CodeTransformer1

SystemCode

Platformn

PSM to CodeTransformern

PIM to PSMTransformer1 PSM1

Platform1…

PIM to PSM Transformern

PSMnPlatformn

PIM to PITTransformer

PIM

PIT

TestCode

Platform1

PST to Test CodeTransformer1

TestCode

Platformn

PSM to Test CodeTransformern

変換器によるテストの生成変換器によるテストの生成変換器によるテストの生成[CONQUEST2006]

PIT to PST Transformern

PSTnPlatformn

PIT to PSTTransformer1

PST1Platform1

4 4 -- 66

Page 37: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テス

ト生

成シ

ステ

ム開

発テ

スト

開発

Test ExecutionagainstSUT

…SystemCode

Platform1

PSM to CodeTransformer1

SystemCode

Platformn

PSM to CodeTransformern

PIM to PSMTransformer1 PSM1

Platform1…

PIM to PSM Transformern

PSMnPlatformn

PIM

TestCode

Platform1

PST to Test CodeTransformer1

TestCode

Platformn

PSM to Test CodeTransformern

PSM to PST Transformern

…PSM to PST Transformer1

…PSTn

Platformn

PST1Platform1

変換器によるテストの生成変換器によるテストの生成変換器によるテストの生成[CONQUEST2006]

4 4 -- 77

Page 38: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

テストは必要なのか

システムコードはシステムモデルから自動的に生成されるのに?

テストコードがシステムと同じモデルから生成されるのに?

システムコードとテストコードがPIMやSIMの持つ同じ情報をベースに

しているのに?

しかし、システムのテストは必要:

システムモデルは完全でない(詳細が省略されている)

変換器が検証されていない、正しくない

変換器が完全でない

コードレベルでの変更

ターゲット環境で実行することで機能が追加され、リソースを共有する

コード自動生成におけるテストの意味は?コード自動生成におけるテストの意味は?コード自動生成におけるテストの意味は?

[CONQUEST2006]

4 4 -- 88

Page 39: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

プラットフォーム非依存モデルプラットフォーム非依存モデルプラットフォーム非依存モデル[CONQUEST2006]

UML2.0によるシステムとテストの非依存モデル: PIM ← eUML (essential UML)PIT ← eTML (essential Test Modeling Language)

eUMLUML 2.0 の部分集合

UML 2.0 全体では範囲が広い

UML 2.0 の持つパッケージ・マージ機構の実装が難しい

UNL 2.0 の持つ13種類の図のうち、主要な5図を利用

eTMLeUMLを拡張し、テストモデルを導入

OMG標準のUML 2.0 Testing Profileの部分集合

4 4 -- 99

Page 40: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

プラットフォーム依存モデルプラットフォーム依存モデルプラットフォーム依存モデル[CONQUEST2006]

PSTとしてTTCN-3を利用

テスト仕様記述・実装のための言語

広く利用されている

ETSIにより標準化・メンテナンス

多くのベンダから強力なツールが提供されている

様々なターゲットシステム、OS、実装言語向けの実行可能テスト

の自動生成がサポートされている

TTCN-3 は、UMLによるプラットフォーム非依存モデル

からの生成開発アプローチに有用である

4 4 -- 1111

Page 41: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

Java

TestCode

WSDLTest Adapter

Generic EJBTest Adapter

TTCN-3Compiler

TTwb

UML-basedPIM to PIT TransformerMedini MTG

a d C us to m e rO rde r

C E :C us tom e rEm u la to r

ge tM e nu(:: )

M e n u

s e le c tM e nuI te m(:: )

M e n u I te mm a ke Se le ct io n

s ho w M e n u

c on fi rm O rde r(: : )

L o ca lC o n ta ctDa ta

cu sto m e rId

ge tC us tom e rO rde rs(: :)

cu sto m e rId

O rd e rs

s ho w Cu s tom e rO rd e rs

A ct iv i t yFi n a l

re turn p a s s

« Sto p T i m e rA ct io n »

tim e r1(: :)

A ct i v it yIn i t ia l

« S ta rtT i m e rA cti o n »

tim e r1 (2 .0 )(: :)

« S ta rtT i m e rA ct io n »

tim e r2 (2 .0 )(: : )

« S to p T i m e rA ct io n »

tim e r2(: : )

« S ta rtT i m e rA cti o n »

g e n e ra lTim e r(: :)

« S to p T i m e rA cti o n »

g e ne ra lTim e r(: :)

o v e ra l lD e fa u lt :Cu s tom e rE m ula tor

« T i m e O u tA ct io n »g e n e ra lT i m e r

re tu rn fa il

Act i v i tyF in a l

Ac ti v i ty In it i a l

« T i m e O u tA ct io n »t i m e r1

re tu rn fa il

Act i v i tyF i n a l

« T i m e O u tA ct io n »t i m e r2

re tu rn fa il

Act i v it yF in a l

« L i te ra lA n y OrN u l l»*

re tu rn inc o nc

Ac ti v i ty Fi n a l

[ t ru e ]

[ fa l se ] « De fa u l tA p p li ca ti o n »

UML2UML2eTML

PIT

EJBJava/EJB

Java/WSDL

cd P izzaShop Behav iour

PS :P izzaServ ice

D :Deliv erer

C :Customer

getM enu(::)

M enu

Activi tyIn i tia l

selectM enuItem(::)

MenuItem

m akeS election

show M enu

confirmOrder(::)

LocalContactData

custom erId

getCustomerO rders(::)

custom erId

Orders

show CustomerOrders

A ctivi tyFina l

getM enuAcceptCall

createM enuData

Menu

getM enuReply

M enu

selectMenuItemAcceptCall

MenuItem

M enuItem

M anageBasket

M enuItem

selectM enuItemReply

confirmO rder

AcceptCall

LocalContactData

LocalContactData

createOrder

LocalContactData

custom erId loca lContactData

i temsT oDel iver

to ta lPrice

noti fyOnPendingOrder

loca lContactData

i tem sT oDel iver

to talP rice

confirmO rderReply

custom erId

noti fyO nPendingOrder

[true]

[fa lse]

UML2eUML

PIM

PSMEJB

Medini Rep.

SystemCode

SystemCode

TTCN-3

PIT to PST Transformer

Medini MTG

TTCN-3 Editor

PSTTTCN-3 Medini Rep.

Test Execution

against SUTTTwb

JointEditor Joint

Rep.eTML supporteUML support

rep. sync.eUML/eTMLMedini Rep.

ツール・チェインツール・チェインツール・チェイン[CONQUEST2006]

4 4 -- 1212

Page 42: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

例:ピザショップシステム例:ピザショップシステム例:ピザショップシステム

PizzaShop

C :Customer

usePS

PS :PizzaService

providePS

useDN

D :Deliverer

provideDN

cd PizzaShop Behav iour

PS :PizzaServ ice

D :Deliverer

C :Customer

getMenu(::)

Menu

ActivityInitial

selectMenuItem(::)

MenuItem

makeSelection

showMenu

confirmOrder(::)

LocalContactData

customerId

getCustomerOrders(::)

customerId

Orders

showCustomerOrders

ActivityFinal

getMenuAcceptCall

createMenuData

Menu

getMenuReply

Menu

selectMenuItemAcceptCall

MenuItem

MenuItem

ManageBasket

MenuItem

selectMenuItemReply

confirmOrder

AcceptCall

LocalContactData

LocalContactData

createOrder

LocalContactData

customerId localContactData

itemsToDeliver

totalPrice

notifyOnPendingOrder

localContactData

itemsToDeliver

totalPrice

confirmOrderReply

customerId

notifyOnPendingOrder

[true]

[false]

SUT

4 4 -- 1313

Page 43: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

eUML モデルから、eTMLモデルへの変換ルール

変換ルール1:eUMLモデルの全要素を、eTMLモデルの初期状態に

変換ルール2:システムモデルと並列してテストパッケージを生成

→“TestPackagesDiagram“UML-basedPIM to PIT Transformer

a d C us to m e rO rde r

C E :Cu s tom e rEm u la to r

ge tM e n u(:: )

M e n u

s e le c tM e n uI te m(: : )

M e n u I te mm a ke S e l e cti o n

s ho w M e n u

c onfi rm O rde r(: : )

L o ca l C o n ta c tD a ta

cu sto m e rId

g e tCu s tom e rOrd e rs(:: )

cu sto m e rId

O rd e rs

s ho w Cu s tom e rO rde rs

A cti v i t yFi n a l

re turn p a s s

« S to p T i m e rAc ti o n »

tim e r1(: :)

A ct iv i t yIn i ti a l

« S ta rtT i m e rAc ti o n »

tim e r1 (2 .0 )(: :)

« S ta rtT i m e rA ct io n »

tim e r2 (2 .0 )(: : )

« S to p T i m e rA cti o n »

tim e r2(: :)

« S ta rtT i m e rA cti o n »

g e ne ra lTim e r(: :)

« S to p T i m e rAct i o n »

g e ne ra lTim e r(:: )

ov e ra l lDe fa ul t :Cu s tom e rE m u la to r

« T i m e Ou tA ct i o n »g e n e ra l T i m e r

re turn fa i l

A cti v i t yFi n a l

A ct iv i t yIn i ti a l

« T i m e Ou tA ct i o n »ti m e r1

re tu rn fa i l

A cti v i t yFi n a l

« T i m e Ou tA ct i o n »t i m e r2

re tu rn fa il

Act i v i tyF i n a l

« L ite ra l A n yO rNu ll »*

re turn inc on c

A ct iv it yFi n a l

[ t ru e ]

[ fa lse ] « D e fa u ltA p p l i ca t io n »

UML2UML2eTML

PIT

cd P izzaShop Behav iour

P S :PizzaS erv ice

D :Deliv erer

C :Customer

getM enu(::)

M enu

Activi tyIn i tia l

selectM enuItem(::)

M enuItem

m akeS election

showM enu

confirmOrder(::)

LocalContactData

custom erId

getCustomerOrders(::)

custom erId

Orders

show CustomerOrders

A ctivi tyFina l

getM enuAcceptCall

createM enuData

M enu

getM enuReply

M enu

selectM enuItemAcceptCall

M enuItem

M enuItem

M anageBasket

M enuItem

selectM enuItemReply

confirmOrder

AcceptCall

LocalContactData

LocalContactData

createOrder

LocalContactData

custom erId loca lContactData

i tem sT oDel iver

to ta lPrice

noti fyOnPendingOrder

loca lContactData

i tem sToDel iver

to ta lPrice

confirmOrderReply

custom erId

noti fyOnPendingOrder

[true]

[fa lse]

UML2eUML

PIM

変換ルール変換ルール変換ルール[CONQUEST2006]

4 4 -- 1414

Page 44: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

変換ルール3:テストパッケージの内部にパッケージを作成 →

“UMLComponentLevelTests_package“.

各テスト可能なUMLクラスに対して、サブパッケージを作成

変換ルール:テストモデル構造の生成変換ルール:テストモデル構造の生成変換ルール:テストモデル構造の生成[CONQUEST2006]

4 4 -- 1515

Page 45: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

変換ルール4:各“UMLComponentLevelTests_package “クラスの内部に、

<<TestContext>>ステレオタイプのクラスを作成

→“UMLClassNameTestContextPackage“

(UMLClassName の部分は適切なクラス名が入る)

変換ルール:テストコンテキストの生成変換ルール:テストコンテキストの生成変換ルール:テストコンテキストの生成[CONQUEST2006]

4 4 -- 1616

Page 46: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

変換ルール:テストコンフィグレーション・テストコンポーネントの生成

変換ルール:テストコンフィグレーション・変換ルール:テストコンフィグレーション・テストコンポーネントの生成テストコンポーネントの生成 [CONQUEST2006]

他の変換の概要:変換ルール5:テストコンテキストに対するテストコンフィグレーションを生成

変換ルール6:テストコンフィグレーションとそれに関係するクラスをテストコ

ンテキストの対応するパッケージ内に配置

変換ルール7:SUTコンポーネントを生成

変換ルール8:テストコンポーネントを生成

変換ルール9:テストコンフィグレーションのクラスに<<TestComponent>>か

<<SUT>>ステレオタイプを割り当てる

変換ルール10:<<TestContext>>ステレオタイプクラスを生成

変換ルール11:“ClassNameEmulator_TestComp“クラスを生成

そのほかテストの振る舞いの生成

eTML から TTCN-3 への変換

4 4 -- 1717

Page 47: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

変換ルール:全体構成変換ルール:全体構成変換ルール:全体構成[CONQUEST2006]

4 4 -- 1818

Page 48: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

Test components

SUT

変換ルール:テストコンフィグレーション変換ルール:テストコンフィグレーション変換ルール:テストコンフィグレーション[CONQUEST2006]

4 4 -- 1919

Page 49: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

変換ルール:模擬コンポーネント変換ルール:模擬コンポーネント変換ルール:模擬コンポーネント[CONQUEST2006]

4 4 -- 2020

Page 50: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

システムモデルのアクティビティ図

CustomerCustomer PizzaServicePizzaService DelivererDeliverer

テスト動作の生成のヒントテスト動作の生成のヒントテスト動作の生成のヒント

SUTテストコンポーネント

テストコンポーネント

SUTの外部から見た期待する振舞い

Customer EmulatorCustomer Emulator

主要なポイントで結果の評価を行うことでテストケースとして作用

4 4 -- 2121

Page 51: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

MDAの文脈でのモデル・ベースド・テストOMGのMDAをテスト・モデルに関して拡張

システムとテストのプラットフォーム非依存モデルをUML2.0とすることで、テスト開発とシステム開発を早期に容易に統合できる

テストのモデリングへのモデリング言語の利用:PITとして、UML2.0とU2TPをベースとしたeTML(essential Test ModellingLanguage)を利用

PSTとして、言語が柔軟でテスト実行ツールが提供されているTTCN-3を利用

サンプル開発への適用ツール・チェインを実現、テストモデルと実行可能なテストコードを自動的に生成

より多くのUMLダイアグラムを扱い、テストの振る舞いを洗練するため、変換ルールの更なる改善が必要

研究事例のまとめ研究事例のまとめ研究事例のまとめ[CONQUEST2006]

4 4 -- 2222

Page 52: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

目次目次目次

1. モデルベースドテストとは何か

2. テストのモデリング

3. システムモデルからのテストの生成

4. 研究事例紹介

5. まとめ

Page 53: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデルベースドテストのまとめモデルベースドテストのまとめモデルベースドテストのまとめ

期待してはいけないこと

完璧なテスト

「生成したテストを実施すれば完璧」

完全な自動化

「ボタン1つでテストが終了」

全能的な汎用性

「ツールを買えばどんなシステムもテストできる」

テストの特質:

完璧なテストというものはない

どのようなテストをすべきか(テスト要求)は、人の持つ知恵

システムごとに適切なシステムやテストのモデリング・実装は異なる

5 5 -- 11

Page 54: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

モデルベースドテストのまとめ(続き)モデルベースドテストのまとめ(続き)モデルベースドテストのまとめ(続き)

それでも、モデルベースドテストに取り組む意義はある

モデルベースドテストテストのモデリング

システムモデルからのテストモデルの生成

テストをモデリングして嬉しいことテストの意味的側面を表現できる

テストを再利用できる

テストを実行できる

テストをシステムモデルから生成して嬉しいことSUTに適合したテストシステムの構造ができる

SUTの詳細を開発する前にテストができる

SUTの基本的な機能を自動的に動作可能なテスト

5 5 -- 22

Page 55: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

おわりにおわりにおわりに

『モデルベースドテストっていいかも』と思われた方へ

意図を汲み取っていただいて,ありがとうございます

でも,飛びついても役に立たないかもしれません

システムをモデル化するところから始めないといけませんよ

どんなテストをしたいか決めないと,意味のあるテストはできませんよ

機械任せで済むと思ったら,痛い目に会いますよ

『モデルベースドテストってダメかも』と思われた方へ

長時間お付き合いいただいたのに,説明がヘタでごめんなさい

でも,部分的にでも役に立つことがあるかもしれません

テストをモデリングするだけでも,テスト品質の向上に役に立ちますよ

テストシステムを構成するだけでも,コストは削減しますよ

早期に基本的な動作テストができるだけでも,期間は短縮できますよ

5 5 -- 33

Page 56: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

おわりにおわりにおわりに

本質的には,

システムの仕様を適切に表現すること

行いたいテスト内容(方針・戦略・要件)を明らかにすること

それらに従い,システム仕様に対して,体系的にテストを設計すること

設計したテストを実行できるよう,適切に実装すること

テストを実行し,テスト結果を管理し,適切に処置すること

設計資産と同様に,テストを貴重な資産として取り扱うこと

テストの質を向上するため,何をすべきか議論していきましょう

Page 57: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

JaSST '07 in Tokyo, 2007.1.30 Copyright (C) Hitachi Ltd. and Fraunhofer FOKUS, 2007

参考文献参考文献参考文献

[CONQUEST2006] A. Hoffmann et.al., “Model Transformers for Test Generation from System Models”, CONQUEST 2006

[TTCN-3] http://www.ttcn-3.org/

[U2TP] “UML Testing Profile, v 1.0” , http://www.omg.org/technology/documents/formal/test_profile.htm

[Wikipedia] Wikipedia,

http://en.wikipedia.org/wiki/Model-based_testing

[MBTHP] “Model-Based Testing Home Page”,

http://www.model-based-testing.org

Page 58: モデルベースドテストの 技術動向と研究事例jasst.jp/archives/jasst07e/pdf/D4-2.pdfモデルベースドテストの 技術動向と研究事例 ソフトウェアテストシンポジウム2007

モデルベースドテストの技術動向と研究事例

モデルベースドテストのモデルベースドテストの技術動向と研究事例技術動向と研究事例

ソフトウェアテストシンポジウム 2007 東京

2007年1月30日

ご清聴ありがとうございました