1
UML Testing Profile
概要紹介
TEF道勉強会(2017/04/14)より抜粋
+簡単にスライド単体向けに説明追加
本内容は、UTP1.2と関連した情報を調べた結果を勝手に解釈して
まとめたものです。なので、あってない可能性もあるので注意してね。
みずのり(みずののりゆき)
2
UTP(UML Testing Profile)
・Unit Test Patternじゃないよ。
・テスト用のUMLと考える方がよいかも。
※UTPの立ち位置らしきものは次スライドにて
・情報少ない、まだ全然できてない感じもする。
・用語に対して概念と直感的じゃない部分があって、
関連が分かりづらい。
参考アドレス:
・UTPデータ
http://www.omg.org/spec/UTP/
・関連した説明データ(本スライドで一部引用)
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
3
UTP(UML Testing Profile)
UTPの立ち位置らしきもの
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
UTPの立ち位置として
関連するフレームワークを
示しているっぽい図。
※左の内容はUTP2.0の想定らしい
UML2.0、Junitなどのテスティング
フレームワークに加えて、
TTCN3(Testing and Test Control
Notation Version3)も関連している。
4
UTP(UML Testing Profile)
ひとことでのポイント:
現状、「どの環境でどうテスト手順を実行するか?」
に特化していると考えると考えやすい
+テストデータも表せるかな、くらい
テストの
システム
(環境)
テストの手順
(ふるまい)
まあ、JavaのプログラムとJunitのテストの双方をあわせてUMLで表現できるよ、
という目的に対してはそれなりにイメージしやすいのかも。
5
UTP(UML Testing Profile)
現状、「どの環境でどうテスト手順を実行するか?」
に特化していると考えると考えやすい⇒例
リモコン/パネル
シミュレータ
センターインタフェース
シミュレータ
楽曲管理ファイル、楽曲データ、
映像データ等(楽曲DB)
コインBOX
シミュレータ
マイク
シミュレータ
テスト対象:カラオケシステム
楽曲DB
制御ツール
ログ確認
結果判定
ツール
(テスト実行向けのシステムの例)
メモ:こちらの図はUTPでは無く、
システムテストの環境を記法関係
なく表現したものです。
「カラオケシステム」のテストに
おける環境を想定しております。
6
UTP(UML Testing Profile)
現状、「どの環境でどうテスト手順を実行するか?」
に特化していると考えると考えやすい⇒例
リモコン/パネル
シミュレータ
センターインタフェース
シミュレータ
楽曲管理ファイル、楽曲データ、
映像データ等(楽曲DB)
コインBOX
シミュレータ
マイク
シミュレータ
テスト対象:カラオケシステム
楽曲DB
制御ツール
ログ確認
結果判定
ツール
(テスト実行向けのシステムの例)
<<ユーザ接点機能>>
予約をする
<<ユーザ接点機能>>
検索をする
<<ユーザ接点機能>>
SE操作をする
<<ユーザ接点機能>>
オーナー設定をする
操作系テスト
<<ストレージアクセス>>
<<ユーザ接点機能>>
バックアップをする
メモ:↑の「操作系テスト」の
UTPっぽい表現を次ページより紹介。
テストには、リモコンシミュレータ
と楽曲DB制御ツールを使います。
7
UTP(UML Testing Profile)
現状、「どの環境でどうテスト手順を実行するか?」
に特化していると考えると考えやすい⇒例
<<ユーザ接点機能>>
予約をする
<<ユーザ接点機能>>
検索をする
<<ユーザ接点機能>>
SE操作をする
<<ユーザ接点機能>>
オーナー設定をする
操作系テスト
<<ストレージアクセス>>
<<ユーザ接点機能>>
バックアップをする
<<TestContext>>
Class 操作系テストSuite
<<TestComponent>>
リモコン/パネル
シミュレータ
<<TestComponent>>
楽曲DB
制御ツール
<<SUT>>
テスト対象(SUT):
カラオケシステム
メモ:テスト対象(SUT)のカラオケ
システムをテストするために、ツール
やシミュレータと接続している状況を
表現しております。
こんなのを
表せるの例
8
UTP(UML Testing Profile)
現状、「どの環境でどうテスト手順を実行するか?」
に特化していると考えると考えやすい⇒例
<<ユーザ接点機能>>
予約をする
<<ユーザ接点機能>>
検索をする
<<ユーザ接点機能>>
SE操作をする
<<ユーザ接点機能>>
オーナー設定をする
操作系テスト
<<ストレージアクセス>>
<<ユーザ接点機能>>
バックアップをする
<<ユーザ接点機能>>
予約をする
リモコン/パネル
シミュレータ
楽曲DB
制御ツール
テスト対象(SUT):
カラオケシステム
データ初期化
予約実行(XXX)
表示(予約結果XX)
3秒以内
判定実施
OK
メモ:テスト対象(SUT)とカラオケ
システムとツールやシミュレータとの
やりとりに関して、シーケンス図で表
すことができます。
※↓の図は正式な表現ではありません。
こんなのを
表せるの例
9
UTP(UML Testing Profile)
現状、「どの環境でどうテスト手順を実行するか?」
に特化していると考えると考えやすい⇒例
<<ユーザ接点機能>>
予約をする
<<ユーザ接点機能>>
検索をする
<<ユーザ接点機能>>
SE操作をする
<<ユーザ接点機能>>
オーナー設定をする
操作系テスト
<<ストレージアクセス>>
<<ユーザ接点機能>>
バックアップをする
操作系テスト
<<TestComponent>>
リモコン/パネル
シミュレータ
<<TestComponent>>
楽曲DB
制御ツール
カラオケシステム
<<SUT>>
テスト対象(SUT):
カラオケシステム
<<TestContext>>
操作系テストSuite
??
<<testCase>>予約をする
<<testCase>>検索をする
・・・
メモ:テストタイプ/レベルのような
ものを示すためにパッケージ的に
まとめることができます。
どのようにまとめるか?テストケース
の構造化などはUTP1.2では詳しく
書いていないようにも見えます。
こんなのを
表せるの例
10
UTP(UML Testing Profile)
ポイントとなる用語(ここがわかりづらいので)
Test Context:
テストケースやらいろいろ持ってる何でも入るハコ。
抽象化しすぎていて正式に何が入るか分かりづらい。
SUT(System/Software Under Test):
テスト対象のシステムなりソフトウェア。
Test Component:
テストに必要な治具的なもので考えると良さそう
シミュレータ、エミュレータ
Test Configuration:
テストのシステム構造的なもの
11
UTP(UML Testing Profile)
いちおうこれが各項目を
比較的思い出しやすい。
※UTP1.2の文書の
P120、Fig F.1
12
UTP(UML Testing Profile)
残りは他資料を参照して説明します。
PickUpする例:
・テスト対象のシステムをUMLで表現
・テストでのシステム構成を表現
・テストのふるまいを表現
・テストデータも表現
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
13
UTP(UML Testing Profile)
・テスト対象のシステムをUMLで表現
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
こちらは「UML」でのモデル。
説明は省きます。
右下図は「Money」パッケージ内の
クラス図を表しています。
14
UTP(UML Testing Profile)
・テストでのシステム構成を表現
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
「Money」パッケージをテストする
ためのテストケース群を
「MoneyUnitTest」で表現してます。
ここで、TestContextがテストケース
がいくつも入る便利な(?)入れ物
になっているっぽい。
(TestContextイマイチでは。。)
15
UTP(UML Testing Profile)
・テストのふるまいを表現
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
これは、テストケースのふるまいを
シーケンス図で表したもの。
テスティングフレームワークと
UMLの双方を知っていれば、
パッと見で理解できるはず。
16
UTP(UML Testing Profile)
・テストデータも表現
参照しているデータ(前頁までのデータとここだけ異なります):
http://www.model-based-testing.de/mbtuc11/presentations/Wendland_etal-UTP-Tutorial_1.pdf
有名な三角形のロジックを
データ構造として示したもの。
なお、テストケースとの関連は
よく分かりませんでした。
17
UTP(UML Testing Profile)
システムテストも表現しています。その①
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
テスト対象のパッケージ(右下)と
ATMTestという(多分)テストレベル
を表現したもの(左上)。
18
UTP(UML Testing Profile)
システムテストも表現しています。その②
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
テストで使用するツールとあわせた
環境を表現したもの。
19
UTP(UML Testing Profile)
システムテストも表現しています。その③
参照しているデータ:
http://folk.uio.no/oysteinh/Schieferdecker-Haugen-ECOOP2004-U2TP.pdf
テストケースのふるまいを
アクティビティ図(左上)と
シーケンス図(右下)で表現したもの
20
UTP(UML Testing Profile)
ざっくりまとめ
・テストでのシステム構成を表現
・テストのふるまいを表現
・テストデータも表現
・テストタイプ/レベルをついでのように表現できる
・UMLやTTCN3と連携
・テストケース構造を示すような記法や例は現在ない
データとテストケースの連携もよくわかんない
システムテストは無理やりっぽい感じ

UTP(UML Testing Profile)概要紹介