SlideShare ist ein Scribd-Unternehmen logo
1 von 35
1© 2017. 2018. Saori Egawa
お弁当QAのあみだくじ
〜時系列のイベントを洗い出す〜
Japan Symposium on Software Testing JaSST東京実行委員
http://jasst.jp/about.html#tokyo
Local Arrangement Committee Member ICST2017
http://aster.or.jp/conference/icst2017/organization/local_arrange_comm.htm
Twitter @EgaSaQA
Blog やわらかテスタ日記 http://yawarakatester.blogspot.jp/
えがさ
© 2017. 2018. Saori Egawa 2
テストしたもの
プリンタ、携帯電話、セキュリティパッケージ
検索エンジン、コンテンツ配信
データベース製品 ほか
引いて楽しいあみだくじ?
3© 2017. 2018. Saori Egawa
https://www.bing.com/images/search?view=detailV2&ccid=CIf
diOwp&id=3429CF7A0CB0456B72D059A57BE510370E721DA7
&thid=OIP.CIfdiOwp5vUsz0P7oKh1QQHaHc&q=%e3%81%82%e
3%81%bf%e3%81%a0%e3%81%b0%e3%81%b0%e3%81%82&si
mid=608041357016893302&selectedIndex=4&ajaxhist=0
https://www.youtube.com/watch?v=bv0d_XnhL5A
オレたちひょうきん族 タケちゃんマン
vsアミダばばあ アミダクジ対決集
あみだでテストケースを決める?
4© 2017. 2018. Saori Egawa
す
ご
い
テ
ス
ト
技
法
あみだでテストケースを決める?
5© 2017. 2018. Saori Egawa
すみません、何の話でしたっけ。
6© 2017. 2018. Saori Egawaもちろん、そんな阿弥陀の話ではありません。
時系列のイベントを整理する
お刺身モデルの話でした。
7© 2017. 2018. Saori Egawaもちろん、そんな阿弥陀の話ではありません。
お弁当QAとは?
Webフロントのテストを手早くやるためのテストセット
• おにぎりテスト(UIをスイッチにたとえた0スイッチテスト)
⇒属人性を排除して一定の基本動作の保証が得られる
• おかずテスト(UIをスイッチにたとえたnスイッチテスト)
⇒テストパターンを予め用意して、判断ミスを減らす
• 冷凍庫(テストテンプレートセット)
⇒おにぎりテストでつかう
⇒おかずテストでもつかう
⇒チェックシートとして使う
• お刺身モデリング(今日の発表です)
以下、続く。
8© 2017. 2018. Saori Egawa楽しんで作る。
お刺身モデリングを必要とした背景
UML / シーケンス図
• 1つ1つ一意に表現できる
• 件数が多いとページ数がかさばる
• 記載にも時間がかかる
状態遷移図
• 遷移の状態を表現できる
• トレースミスを保証しづらい
• INPUTのテスト条件を表現しづらい
9© 2017. 2018. Saori Egawa
お刺身モデリングを必要とした背景
UML / シーケンス図
• 1つ1つ一意に表現できる
• 件数が多いとページ数がかさばる
• 記載にも時間がかかる
状態遷移図
• 遷移の状態を表現できる
• トレースミスを保証しづらい
• INPUTのテスト条件を表現しづらい
© 2017. 2018 Saori Egawa 10時間ないの、じかん;-;
仕様
11ためしに、モデリングして比較してみます。
仕様
1. 映画の配信サービス
2. 月額課金(サブスクリプション)によって、見られる本数が違う
3. プランAの視聴可能本数は、以下の通り
• オプション1(一般タイトルから、毎月2本)
• オプション2(一般タイトルから、毎月5本)
4. プランBの視聴可能タイトルは、以下の通り
• オプション3(特殊タイトルが月3本)
• オプション4(特殊タイトルが見放題)
5. プランAとBは、それぞれ一つずつ契約可能
念のため
12最近、いきなりステーキが気になっている。
サブスクリプションとは
新聞などの定期購読を指します。
例えば・・・
1か月契約で毎日新聞を届けてもらいます
3か月契約で週に2回牛乳を届けてもらいます
1か月契約で月に2本映画がみれます
こんな画面でした。
13
http://www.nec.co.jp/
press/ja/0601/1701.html
UML / シーケンス図
14
下に長く続く。
状態遷移図
15
分岐の条件となるオプションを
表現しづらい
いきなり、お刺身モデリング
16最近、いきなりステーキが気になっている。
特徴
イベントの追加がしやすい
すぐ書けて扱いやすい
複雑な条件の考慮がしやすい
17
向いている内容
• 保険
• 映画・新聞などのサブスクリプション
• 契約期間によって、サービスの内容が変わる製品 など
• 複数のサービス間で、時系列の変化を追う必要があるもの
© 2017. 2018. Saori Egawa手書きでじゅーぶん。
では実際に あみだくじを 書きましょう。
18最近、いきなりステーキが気になっている。
サンプル仕様 おかわり
仕様
1. 映画の配信サービス
2. 月額課金(サブスクリプション)によって、見られる本数が違う
3. プランAの視聴可能本数は、以下の通り
• オプション1(一般タイトルから、毎月2本)
• オプション2(一般タイトルから、毎月5本)
4. プランBの視聴可能タイトルは、以下の通り
• オプション3(特殊タイトルが月3本)
• オプション4(特殊タイトルが見放題)
5. プランAとBは、それぞれ一つずつ契約可能
19© 2017. 2018. Saori Egawa
モデリングの目的
サブスクリプションを購入した場合の、
ユーザーの視聴権限テストパターンを、
お刺身モデリングで洗い出す
20© 2017. 2018. Saori Egawa
書き方
1. ステークホルダーを洗い出す
2. イベントを矢印で記入していく
3. オプションがある場合はバックスラッシュで枝を書く
4. ステークホルダーを跨いで影響のあるものは長い
矢印で記載する
5. イベントが起こる場合と起こらない場合があるときは
点線、もしくは色分けなどで線を表現する
21© 2017. 2018. Saori Egawa
書き方*1.ステークホルダーを洗い出す
22© 2017. 2018. Saori Egawa
書き方*2.イベントを矢印で記入していく
23© 2017. 2018. Saori Egawa
書き方*3.オプションがある場合はバックスラッシュで枝を書く
24© 2017. 2018. Saori Egawa
コンフリクトする条件は同じ線に載せます
書き方*4.ステークホルダーを跨いで影響のあるものは長い矢印で記載する
25© 2017. 2018. Saori Egawa
書き方*5.イベントが起こる場合と起こらない場合があるときは点線で表現する
26© 2017. 2018. Saori Egawa
完成。
27© 2017. 2018. Saori Egawa
説明。
28© 2017. 2018. Saori Egawa
ユーザーの状態にかかわるイベント
これに置き換えてもいいかも
29© 2017. 2018. Saori Egawa
手書きがおススメ
手書きなら5分。
使い方
1. あみだくじのように、ラインを選択していく
2. Currentの、矢印が交差しているところに注目する
3. Currentより、前に起こっているイベントを意識する
4. イベントの選択肢をテストに起こす
5. Currentを動かしながら、現在・過去・未来の状態をテ
ストに起こす
• マトリクスに起こして組み合わせを洗い出す
• 時間がないときは、そのままテストケースにする
30© 2017. 2018. Saori Egawa
Currentの位置を、定規を使って移動します。
31
メリット・デメリット
メリット
1枚で遷移のフローがオプションごとに表現できる
すぐ書きやすい、変更仕様の追加がしやすい
仕様の抜け漏れを洗い出しやすい
デメリット
使い方を覚えるのに若干トレーニングが必要
32© 2017. 2018. Saori Egawa
おまけ。
Q. なんでお刺身なんですか
A. スライスしてるから?
Q. ハムじゃダメなんですか?
A. だめです。和食がいいです。
Q. お刺身ってお弁当にいれませんよね。
A. スライド直すのが大変だから今日はお刺身でよいです。
33© 2017. 2018. Saori Egawa
課題
排他制御を文章ではなく図で表現したい
多様な書き方ができるので、表現が固定できるようにしたい
34© 2017. 2018. Saori Egawa
35© 2017. 2018. Saori Egawa

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

SnapmartにおけるCameraRollから写真の複数枚アップロードの実装
SnapmartにおけるCameraRollから写真の複数枚アップロードの実装SnapmartにおけるCameraRollから写真の複数枚アップロードの実装
SnapmartにおけるCameraRollから写真の複数枚アップロードの実装
 
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
 
WordFes Nagoya 2013: 進化する WordPress 3.7 & 3.8 の開発動向
WordFes Nagoya 2013: 進化する WordPress 3.7 & 3.8 の開発動向WordFes Nagoya 2013: 進化する WordPress 3.7 & 3.8 の開発動向
WordFes Nagoya 2013: 進化する WordPress 3.7 & 3.8 の開発動向
 
エンタープライズ領域へのテスト効率化推進 - 5年間いろいろやってみました -
エンタープライズ領域へのテスト効率化推進 - 5年間いろいろやってみました -エンタープライズ領域へのテスト効率化推進 - 5年間いろいろやってみました -
エンタープライズ領域へのテスト効率化推進 - 5年間いろいろやってみました -
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
 
20190117 teamup
20190117 teamup20190117 teamup
20190117 teamup
 
エンタープライズとHTML5〜エンタープライズでHTML5って本当に必要なのか?〜
エンタープライズとHTML5〜エンタープライズでHTML5って本当に必要なのか?〜エンタープライズとHTML5〜エンタープライズでHTML5って本当に必要なのか?〜
エンタープライズとHTML5〜エンタープライズでHTML5って本当に必要なのか?〜
 
昨日Ucp advanced受験してみた!
昨日Ucp advanced受験してみた!昨日Ucp advanced受験してみた!
昨日Ucp advanced受験してみた!
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
エンジニアが起業するとき気を付けること
エンジニアが起業するとき気を付けることエンジニアが起業するとき気を付けること
エンジニアが起業するとき気を付けること
 
フロリダより愛をこめて
フロリダより愛をこめてフロリダより愛をこめて
フロリダより愛をこめて
 
実践!RPA のテクノロジーを活用した自動テスト
実践!RPA のテクノロジーを活用した自動テスト実践!RPA のテクノロジーを活用した自動テスト
実践!RPA のテクノロジーを活用した自動テスト
 
Jasst16 tokyo 参加報告
Jasst16 tokyo 参加報告Jasst16 tokyo 参加報告
Jasst16 tokyo 参加報告
 
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
An Agile Way As an SET at LINE ~プロダクトオーナーシップ編~
 
XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
 
20150704 Innovation Egg
20150704 Innovation Egg20150704 Innovation Egg
20150704 Innovation Egg
 
E.G.G.卒業生コメント
E.G.G.卒業生コメントE.G.G.卒業生コメント
E.G.G.卒業生コメント
 
バグ票システム立ち上げに必要なコト
バグ票システム立ち上げに必要なコトバグ票システム立ち上げに必要なコト
バグ票システム立ち上げに必要なコト
 
pmi発表資料
pmi発表資料pmi発表資料
pmi発表資料
 

Ähnlich wie Osashimi

Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
Masakazu Muraoka
 

Ähnlich wie Osashimi (20)

ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
 
島田商業 12班 掛川市
島田商業 12班 掛川市島田商業 12班 掛川市
島田商業 12班 掛川市
 
SD2018Tokyo Scratchの最新動向
SD2018Tokyo Scratchの最新動向SD2018Tokyo Scratchの最新動向
SD2018Tokyo Scratchの最新動向
 
Dynamic frameworks tips
Dynamic frameworks tipsDynamic frameworks tips
Dynamic frameworks tips
 
An Agile Way As an SET at LINE
An Agile Way As an SET at LINEAn Agile Way As an SET at LINE
An Agile Way As an SET at LINE
 
Heroku meetup#15 lt
Heroku meetup#15 ltHeroku meetup#15 lt
Heroku meetup#15 lt
 
3分で実装完了!エッジ AI デモ
3分で実装完了!エッジ AI デモ3分で実装完了!エッジ AI デモ
3分で実装完了!エッジ AI デモ
 
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
 
[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光
[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光
[DojoCon Japan 2018]自分にできる貢献のしかたを見つけよう by CoderDojo光
 
Azure MediaServices 最新情報160924
Azure MediaServices 最新情報160924Azure MediaServices 最新情報160924
Azure MediaServices 最新情報160924
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
 
TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
 
エンタープライズ向けクラウドサービスにおける ID 連携の有用性
エンタープライズ向けクラウドサービスにおける ID 連携の有用性エンタープライズ向けクラウドサービスにおける ID 連携の有用性
エンタープライズ向けクラウドサービスにおける ID 連携の有用性
 
Code for Niigataの活動あれこれ
Code for Niigataの活動あれこれCode for Niigataの活動あれこれ
Code for Niigataの活動あれこれ
 
20150417 kintoneユーザー会発表資料
20150417 kintoneユーザー会発表資料20150417 kintoneユーザー会発表資料
20150417 kintoneユーザー会発表資料
 
PowerApps+Excelで作る 一番簡単な業務アプリ
PowerApps+Excelで作る 一番簡単な業務アプリPowerApps+Excelで作る 一番簡単な業務アプリ
PowerApps+Excelで作る 一番簡単な業務アプリ
 
オンライン勉強会「物体検出を体験してみよう!」(PyDATA.Fukui共同開催 )
オンライン勉強会「物体検出を体験してみよう!」(PyDATA.Fukui共同開催 )オンライン勉強会「物体検出を体験してみよう!」(PyDATA.Fukui共同開催 )
オンライン勉強会「物体検出を体験してみよう!」(PyDATA.Fukui共同開催 )
 
JDBCで繋がるSaas連携
JDBCで繋がるSaas連携JDBCで繋がるSaas連携
JDBCで繋がるSaas連携
 
IoTビジネス共創ラボ 第2回ドローンWG勉強会(2018/07/25)
IoTビジネス共創ラボ 第2回ドローンWG勉強会(2018/07/25)IoTビジネス共創ラボ 第2回ドローンWG勉強会(2018/07/25)
IoTビジネス共創ラボ 第2回ドローンWG勉強会(2018/07/25)
 

Osashimi