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

Osashimi