SlideShare a Scribd company logo
Submit Search
Upload
テストの視点からのモデリング(公開用) #wacate
Report
Kinji Akemine
Software Test Engineer, Software Test Architect and Software Test Automater.
Follow
•
6 likes
•
4,569 views
1
of
52
テストの視点からのモデリング(公開用) #wacate
•
6 likes
•
4,569 views
Download Now
Download to read offline
Report
Engineering
WACATE 2018 冬の講演資料です。
Read more
Kinji Akemine
Software Test Engineer, Software Test Architect and Software Test Automater.
Follow
Recommended
WACATE2017冬 直交表に触れてみよう
Masanori Namiki
3.5K views
•
60 slides
cloudpack負荷職人結果レポート(サンプル)
iret, Inc.
2.6K views
•
21 slides
みんなどんな書式でテストケース書いているの
kauji0522
451 views
•
15 slides
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
29.8K views
•
83 slides
テストを分類してみよう!
Kenji Okumura
29K views
•
89 slides
探索的テスト入門
H Iseri
31.4K views
•
40 slides
More Related Content
What's hot
モデリングもしないでアジャイルとは何事だ
Iwao Harada
36.3K views
•
73 slides
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications
14K views
•
69 slides
Kpt×ナース(公開版)
Noriyuki Nemoto
7.1K views
•
23 slides
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
10.6K views
•
65 slides
アジャイル開発を支えるアーキテクチャ設計とは
Yusuke Suzuki
26.9K views
•
56 slides
DDDを実践できるエンジニアを育成するための取り組みについて
BIGLOBE Inc.
16.6K views
•
40 slides
What's hot
(20)
モデリングもしないでアジャイルとは何事だ
Iwao Harada
•
36.3K views
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications
•
14K views
Kpt×ナース(公開版)
Noriyuki Nemoto
•
7.1K views
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
•
10.6K views
アジャイル開発を支えるアーキテクチャ設計とは
Yusuke Suzuki
•
26.9K views
DDDを実践できるエンジニアを育成するための取り組みについて
BIGLOBE Inc.
•
16.6K views
ソフトウェアにおける 複雑さとは何なのか?
Yoshitaka Kawashima
•
1.1K views
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
Yasuharu Nishi
•
24.8K views
テスト計画の立て方 WACATE2019 夏
Naoki Nakano
•
5.3K views
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
•
37K views
レガシーコードとの付き合い方とテストでの話
H Iseri
•
27.3K views
概説 テスト分析
崇 山﨑
•
31.7K views
例外設計における大罪
Takuto Wada
•
68.5K views
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
•
20.2K views
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
•
29.3K views
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~
A AOKI
•
25.5K views
ソフトウェアテスト入門
Preferred Networks
•
15.5K views
フィーチャモデルの描き方
H Iseri
•
12.3K views
テスト観点に基づくテスト開発方法論VSTePの概要
Yasuharu Nishi
•
9.6K views
TDD のこころ @ OSH2014
Takuto Wada
•
15.8K views
Similar to テストの視点からのモデリング(公開用) #wacate
MySQLアーキテクチャ図解講座
Mikiya Okuno
26.3K views
•
34 slides
Modeling Workshop
You&I
540 views
•
36 slides
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
20.9K views
•
59 slides
なぜ、いまリレーショナルモデルなのか
Mikiya Okuno
5.2K views
•
56 slides
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
Tomoharu ASAMI
74 views
•
35 slides
プロダクトにおけるScala
Yuto Suzuki
735 views
•
32 slides
Similar to テストの視点からのモデリング(公開用) #wacate
(15)
MySQLアーキテクチャ図解講座
Mikiya Okuno
•
26.3K views
Modeling Workshop
You&I
•
540 views
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
•
20.9K views
なぜ、いまリレーショナルモデルなのか
Mikiya Okuno
•
5.2K views
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
Tomoharu ASAMI
•
74 views
プロダクトにおけるScala
Yuto Suzuki
•
735 views
2015.08.29 JUS共催勉強会資料
umidori
•
1.2K views
DDDをScrumで廻す あるいは ScrumをDDDで廻す
Kiro Harada
•
16.1K views
Use Japanese with vcd/vcdExtra package
Tsuda University Institute for Mathematics and Computer Science
•
1K views
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
Yusuke Suzuki
•
9.9K views
ModelingCafe
Iwao Harada
•
1.3K views
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
yoyamasaki
•
2.1K views
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」
Makoto SAKAI
•
381 views
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
Yusuke Suzuki
•
5.4K views
動的モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第6回】
Tomoharu ASAMI
•
180 views
More from Kinji Akemine
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
Kinji Akemine
3.9K views
•
66 slides
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
Kinji Akemine
3.4K views
•
48 slides
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
Kinji Akemine
1.6K views
•
36 slides
60分でわかった気になるISO29119 #wacate
Kinji Akemine
19.5K views
•
124 slides
ICST 2015 まるわかりDay! -Model
Kinji Akemine
1.8K views
•
28 slides
モデル検査入門 #wacate
Kinji Akemine
15.7K views
•
56 slides
More from Kinji Akemine
(11)
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
Kinji Akemine
•
3.9K views
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
Kinji Akemine
•
3.4K views
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
Kinji Akemine
•
1.6K views
60分でわかった気になるISO29119 #wacate
Kinji Akemine
•
19.5K views
ICST 2015 まるわかりDay! -Model
Kinji Akemine
•
1.8K views
モデル検査入門 #wacate
Kinji Akemine
•
15.7K views
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
Kinji Akemine
•
41.8K views
第1回キーワード駆動テスト勉強会
Kinji Akemine
•
6.6K views
Astahプラグイン開発勉強会
Kinji Akemine
•
8.3K views
TABOK Skill Category2解説
Kinji Akemine
•
1.2K views
Beginning Java EE 6 勉強会(2) #bje_study
Kinji Akemine
•
8K views
Recently uploaded
図解で理解するvetKD
ryoo toku
81 views
•
22 slides
【NSP】人材紹介事業_会社紹介資料.pptx
sotozumi
148 views
•
10 slides
3Dプリンタでロボット作るよ#1_黎明編
Yoshihiro Shibata
17 views
•
7 slides
how query cost affects search behavior translated in JP
Tobioka Ken
9 views
•
16 slides
知能工学実験 last report.pdf
2120072gotou
7 views
•
15 slides
robotics42.pptx
Natsutani Minoru
149 views
•
18 slides
Recently uploaded
(8)
図解で理解するvetKD
ryoo toku
•
81 views
【NSP】人材紹介事業_会社紹介資料.pptx
sotozumi
•
148 views
3Dプリンタでロボット作るよ#1_黎明編
Yoshihiro Shibata
•
17 views
how query cost affects search behavior translated in JP
Tobioka Ken
•
9 views
知能工学実験 last report.pdf
2120072gotou
•
7 views
robotics42.pptx
Natsutani Minoru
•
149 views
AIで始めるRustプログラミング #SolDevHub
K Kinzal
•
19 views
lt.pptx
tomochamarika
•
33 views
テストの視点からのモデリング(公開用) #wacate
1.
テストの視点からの モデリング WACATE実行委員 朱峰 錦司@kjstylepp
2.
自己紹介 ■ 朱峰錦司(あけみねきんじ)@kjstylepp ■ 本業 –
あじゃいるとらんすふぉーめーしょんこんさる – でじたるさーびすすたーとあっぷこんさる ■ 趣味 – テストエンジニアとエンジニアリングの話をすること
3.
宣伝(1) ■ NaITE #28
7/21(土)午後@川崎らへん ■ アジャイル開発におけるサービス企画の考え方や開発 プロセスとの統合に関するプラクティスについて話しま す ■ タイトル(仮) – 「プロダクトオーナーシップそーゆーことね 完全に理解した←わかってない」
4.
宣伝(2) ■ twitterで「#きんぢラーメン大賞」で検索
5.
なんでWACATEでモデリング? ■ 仕様書が古い ■ 仕様書が膨大すぎる ■
仕様書が読みづらい ■ 仕様書がない
6.
ゴール ■ 様々なモデリング観点/記法があることを理解する ■ 汎用的な記法としてUMLがあることを理解する ■
モデルをテストに活用できることを理解する – 仕様理解 – テストケース抽出 ■ モデルをかくためのツールを知る
7.
目次 1. モデル 2. UML 3.
モデルベースドテスト 4. UML記述ツール
8.
1. モデル
9.
1.1 モデルとは ■ 対象物の振る舞いや性質を特定の観点で抽象化し、 それを特定の文法で表現したもの ■
ひとつのモデルで全ての振る舞いや性質を表現するこ とは不可能 ■ モデルへ抽象化する作業を「モデリング」と呼ぶ – 「絵を描く」はただの「モデルの記述」 ■ モデリングではない
10.
1.2 モデルの記法 ■ まずは観点 –
例:対象物の「状態」とその「変化」に着目 ■ それを表現するための言語/文法 – 例:UMLダイアグラム形式 – 例:表形式 – 例:テキスト形式
11.
1.2 観点 と
文法
12.
1.2 観点 と
文法
13.
1.2 観点 と
文法
14.
1.3 テストエンジニアがふれるモデル記法 ■ 仕様モデル記法 –
テスト対象となる仕様を抽象化、整理したもの ■ テスト独自のモデル記法 – テスト観点や、テスト目的等を抽象化、整理したもの ■ 結果として仕様の情報が含まれることも多い
15.
1.4 仕様モデル記法の例 ■ UML ■
SysML from UML ■ 原因結果グラフ
16.
1.4.1 SysML ■ Systems
Modeling Language ■ UMLから派生したシステム設計用の言語 – 一部のUMLの記法を再利用 – さらに文法を制限することでとっつきやすく
17.
1.4.2 原因結果グラフ ■ 数理論理モデル ■
英語ではCEG – cause effect graph
18.
1.5 テスト独自のモデル記法 ■ NGT@VSTeP ■
FV表/FL表/ラルフチャート@HAYST法 ■ テスト分析マトリクス@ゆもつよメソッド
19.
1.5.1 NGT ■ Notation
for Generic Testing has-a 関係 組み合わせ 出典:Viewpoint-basedTest Architecture Design, MaSST 2012
20.
1.5.2 FV表 ■ Function
Verification表 No. 目的機能 検証内容 テスト技法 4-1 冬の通学路で学生が百人 一首を聞きたい。それは、 ライバルに勝つためだ。 シャッフル機能 早送り 気温/温度 雪 音質 手袋つけて操作 : : 組合せテスト 雪 音質 : シナリオテスト シャッフル 長押し : 出典:ユーザーストーリーとFV表, JaSST’18Tohoku
21.
1.5.3 テスト分析マトリクス ■ 機能×テストタイプ/カテゴリ 機能テスト
ロード テスト 堅牢性 テスト データ互換 テスト ボタン 押下 センサー 反応 内部 メモリ 状態 遷移 外部 メモリ 画面 表示 長時間起動 条件 組合せ メディア 互換 システム 電源管理 ○ ○ ○ ○ ○ ○ リセット ○ ○ ○ ○ ○ 撮影 通常撮影 ○ ○ ○ ズーム撮影 ○ ○ ○ 連続撮影 ○ ○ ○ ○ 再生 通常再生 ○ ○ 設定 撮影設定 ○ ○ ○ 再生モード設定 ○ ○ ○ データ メモリ装着 ○ ○ ○ ○ ○ ファイルコピー ○ ○ ○ ○
22.
モデリングの注意点 ■ 「記法」だけ覚えても効果が薄い – むしろ細かい記法はあとでOK ■
学習/実践を繰り返して「抽象化」能力を磨く ■ 「方法論」として整理された洗練された様々な抽象化手 順/手法が存在 – 例)RDRA ■ リレーションシップ駆動要求分析 ■ JaSST’18 Hokkaidoのキーノート
23.
2. UML
24.
2.1 UMLとは ■ Unified
Modeling Language – OMG(Object Management Group)によって策定 – 現在v2.5.1 ■ ISO国際規格にもなっている – ISO/IEC 19505-1:2012 – UML v2.4.1がベース
25.
2.2 UMLの代表的なモデル 1. 構造モデル –
クラス図 2. 振る舞いモデル – ユースケース図 – アクティビティ図 – 状態遷移図 3. 相互作用モデル – シーケンス図 ブラックボックステ スト向き ホワイトボックステ スト向き 静的解析向き
26.
2.2.1 クラス図
27.
2.2.2 ユースケース図
28.
2.2.3 アクティビティ図
29.
2.2.4 状態遷移図
30.
2.2.5 シーケンス図
31.
2.3 UMLをかくときの注意点 ■ [改めて]
細かい文法にとらわれすぎない ■ 多少のカスタマイズもOK – ただしチーム内で合意
32.
2.4 UMLの文法/メタモデル ■ モデリングにおいて「文法」自体をモデルとして表記す ることが可能である ■
このようなモデル表記された文法を「メタモデル」という ■ たとえば、UMLの全ての図は「構造」をもつため、その 構造のルールを構造の表現が可能な「クラス図」でメタ モデリングできる。
33.
2.4 UMLの文法/メタモデル ■ 状態遷移図のメタモデル
34.
3. モデルベースド テスト
35.
3.1 モデルベースドテストとは ■ モデル変換技術の一種 ■
仕様モデルから機械的なルールを用いてテストケース モデルを抽出する技術 テストケース モデル 仕様モデル システム テストケース 開発 詳細化 抽出 実行
36.
3.2 モデルベースドテストの例 ■ ユースケーステスト/シナリオテスト ■
状態遷移テスト ■ デシジョンテーブル生成
37.
3.2.1 ユースケーステスト/シナリオテスト ■ ユースケースのインタラクションから、一定のルールに 基づき、テストパターンを抽出 ■
アクティビティ図から、一定のルールに基づき、テスト パターンを抽出
38.
3.2.2 状態遷移テスト ■ 状態遷移図や遷移表から、一定のルールに基づき、テ ストパータンを抽出
39.
3.2.3 デシジョンテーブル生成 ■ 原因結果グラフから、一定のルールに基づいて、テス トパターン(デシジョンテーブルのルール)を抽出
40.
3.3 モデルベースドテストの注意点 ■ そもそも仕様モデルが必要 –
いちからモデル描いてまでやるメリットがあるかどうか考え よう ■ 基本、Checkingに該当するテストケースが対象 – 別途、Testingもしっかりやろう
41.
4. UML記述ツール
42.
4.1 無料で使える代表的なツール ■ astah*
community ■ PlantUML + お好きなエディタ
43.
4.2 astah* community ■
日本発のモデル記述ツール astah*シリーズ ■ communityは限定的な機能を無料で利用可能 – v6.9までは商用利用も可 ■ まだちゃんと公式サイトでもダウンロード可能 – v7.0以降は商用利用は不可 ■ 現在の最新版はv7.2 ■ 仕事で使いたい場合は有償版を買いましょう
44.
4.2 astah* community ■
communityで基本的なUMLは全て記述できる ■ 有償版になると、UML以外にも様々なモデルを記述で きる – SysML – データベース設計 – マインドマップ – 各種業務図
45.
4.3 PlantUML ■ エンジニアリング業界全体的にきている「プレーンテキスト記述」 の波 –
Markdown – Sphinx – Re:VIEW ■ プレーンテキストのメリット – 不要の環境固定化の排除 ■ 好きなサポートツールでレンダリング – 版管理の容易性 ■ ドキュメント自体の版管理が容易 – 容易な差分チェック ■ ソースコード/テストコードの版管理と同期可能
46.
4.3 PlantUML ■ PlantUML –
テキストでUMLを記述可能な”DSL”定義 ■ 記述はお好みのエディタを使う – Emacs – Vim – Atom – Visual Studio Code – 記述されたモデルの文法チェック – 画像出力
47.
4.3 PlantUML ■ WindowsでVisual
Studio Codeにインストール – https://qiita.com/couzie/items/9dedb834c5aff09ea7b2
48.
おわりに
49.
ゴール(再掲) ■ 様々なモデリング観点/記法があることを理解する ■ 汎用的な記法としてUMLがあることを理解する ■
モデルをテストに活用できることを理解する – 仕様理解 – テストケース抽出 ■ モデルをかくためのツールを知る
50.
今後に向けて ■ WACATE中 – しっかりと手を動かして以下を実践してみてください ■
UMLモデリング ■ モデルベースドテスト ■ WACATE後 – ぜひPlantUMLでUMLを描いてみてください
51.
今後に向けて @startuml ramen_state [*] -->
生きてる: 産声をあげる state 生きてる { [*] -> ラーメン食べたい ラーメン食べたい --> ラーメンもういい: ラーメン食べる ラーメンもういい --> ラーメン食べたい: 30分たつ } 生きてる --> 死んでる: 生き途絶える @enduml
52.
Let’s modeling!