SlideShare a Scribd company logo
1 of 20
Download to read offline
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と連携
・テストケース構造を示すような記法や例は現在ない
データとテストケースの連携もよくわかんない
システムテストは無理やりっぽい感じ

More Related Content

What's hot

テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
Preferred Networks
 

What's hot (20)

アプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みアプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組み
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
 
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなし
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例
 
ワタシはSingletonがキライだ
ワタシはSingletonがキライだワタシはSingletonがキライだ
ワタシはSingletonがキライだ
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCI
 
Introducing ODC analysis for Redmine Osaka community
Introducing ODC analysis for Redmine Osaka communityIntroducing ODC analysis for Redmine Osaka community
Introducing ODC analysis for Redmine Osaka community
 

More from Noriyuki Mizuno

Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Noriyuki Mizuno
 

More from Noriyuki Mizuno (20)

現状分析→価値開発→仕様化&テスト設計の展開事例解説:仕様&テスト編
現状分析→価値開発→仕様化&テスト設計の展開事例解説:仕様&テスト編現状分析→価値開発→仕様化&テスト設計の展開事例解説:仕様&テスト編
現状分析→価値開発→仕様化&テスト設計の展開事例解説:仕様&テスト編
 
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性
 
Jasst東京21 チュートリアル 仕様サンプル(一部)
Jasst東京21 チュートリアル 仕様サンプル(一部)Jasst東京21 チュートリアル 仕様サンプル(一部)
Jasst東京21 チュートリアル 仕様サンプル(一部)
 
伝統的食品工場エンジニアリング会社が挑むDXへのビジネスアイデアをRDRAによる要件定義でプロダクト開発へつなぐ~Side:要件定義
伝統的食品工場エンジニアリング会社が挑むDXへのビジネスアイデアをRDRAによる要件定義でプロダクト開発へつなぐ~Side:要件定義伝統的食品工場エンジニアリング会社が挑むDXへのビジネスアイデアをRDRAによる要件定義でプロダクト開発へつなぐ~Side:要件定義
伝統的食品工場エンジニアリング会社が挑むDXへのビジネスアイデアをRDRAによる要件定義でプロダクト開発へつなぐ~Side:要件定義
 
RDRA+プロトタイピングおよび仕様化時に役立つ技術、事例紹介
RDRA+プロトタイピングおよび仕様化時に役立つ技術、事例紹介RDRA+プロトタイピングおよび仕様化時に役立つ技術、事例紹介
RDRA+プロトタイピングおよび仕様化時に役立つ技術、事例紹介
 
PFD(Process Flow Diagram)の書き方紹介
PFD(Process Flow Diagram)の書き方紹介PFD(Process Flow Diagram)の書き方紹介
PFD(Process Flow Diagram)の書き方紹介
 
「提案」が断られないか検証する技術
「提案」が断られないか検証する技術「提案」が断られないか検証する技術
「提案」が断られないか検証する技術
 
Stac2017-2_LTテストカタマリー公開用
Stac2017-2_LTテストカタマリー公開用Stac2017-2_LTテストカタマリー公開用
Stac2017-2_LTテストカタマリー公開用
 
納得できるテストをつくるアプローチ(JaSST'17 Kansai向け)
納得できるテストをつくるアプローチ(JaSST'17 Kansai向け)納得できるテストをつくるアプローチ(JaSST'17 Kansai向け)
納得できるテストをつくるアプローチ(JaSST'17 Kansai向け)
 
企画~実現までの体験学習
企画~実現までの体験学習企画~実現までの体験学習
企画~実現までの体験学習
 
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
 
CCPMカレーワークショップ(共有版)
CCPMカレーワークショップ(共有版)CCPMカレーワークショップ(共有版)
CCPMカレーワークショップ(共有版)
 
Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~
Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~
Agile Japan 2016 札幌サテライト 本当に必要な問題解決に集中しよう!~CCPMを活用した現場改善のケーススタディ~
 
Warai160109 テストアーキテクチャのおはなし
Warai160109 テストアーキテクチャのおはなしWarai160109 テストアーキテクチャのおはなし
Warai160109 テストアーキテクチャのおはなし
 
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャSTAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
 
広島ソフトウェアテスト勉強会1511
広島ソフトウェアテスト勉強会1511広島ソフトウェアテスト勉強会1511
広島ソフトウェアテスト勉強会1511
 
CCPM折り紙ワークショップ(共有版)
CCPM折り紙ワークショップ(共有版)CCPM折り紙ワークショップ(共有版)
CCPM折り紙ワークショップ(共有版)
 
AAA2015 関西風と欧米風 2つのTest Automation Patterns
AAA2015 関西風と欧米風 2つのTest Automation PatternsAAA2015 関西風と欧米風 2つのTest Automation Patterns
AAA2015 関西風と欧米風 2つのTest Automation Patterns
 
Et west テスト自動化_公開版
Et west テスト自動化_公開版Et west テスト自動化_公開版
Et west テスト自動化_公開版
 
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
Asian Automation Alliance システムテスト自動化構築時の考え方と進め方の一例
 

UTP(UML Testing Profile)概要紹介