Slide 1

Slide 1 text

ソフトウェアテストチョットデキタ! ―テスト設計コンテストで学んだこと― 2015年6月21日 チーム名:しなてす あみー、めい、まえたさん、はるはる 1 しなてす WACATE2015夏 モーニングセッション@三浦海岸マホロバマインズ

Slide 2

Slide 2 text

チーム紹介 しなてす 「しなてす」です 拠点は品川 まえたさん はるはる あみー めい

Slide 3

Slide 3 text

チーム紹介 しなてす 2012年9月時点 まえたさん はるはる あみー めい

Slide 4

Slide 4 text

チーム紹介 4 しなてす まえたさん はるはる あみー めい 2012年9月時点

Slide 5

Slide 5 text

チーム紹介 5 しなてす まえたさん はるはる あみー めい 組込み屋さん トレーナーさん 検証屋さん 社内QAさん

Slide 6

Slide 6 text

チーム紹介 6 しなてす まえたさん はるはる あみー めい 私たち…

Slide 7

Slide 7 text

チーム紹介 7 しなてす まえたさん はるはる あみー めい WACATE で出会いました

Slide 8

Slide 8 text

WACATEに参加したい理由 8 しなてす まえたさん はるはる あみー めい テストの 仲間が欲しい! 他社が どうやってるのか 知りたい! テストの技術を 学びたい! テストの現場を 知りたい!

Slide 9

Slide 9 text

テスト設計コンテストとは 9 しなてす

Slide 10

Slide 10 text

誕生の瞬間 10 しなてす 発足は Twitter… (KENさんの応援付き)

Slide 11

Slide 11 text

テスト設計コンテストに参加した理由 11 しなてす まえたさん はるはる あみー めい テスト設計 やってみたかった WACATEで 学んだことを 使ってみたかった WACATEに参加した 記念に テスト設計を 経験してみたかった

Slide 12

Slide 12 text

歴史 12 しなてす そして チーム発足から 2年半…

Slide 13

Slide 13 text

歴史 13 しなてす テスコン 優勝!!!

Slide 14

Slide 14 text

歴史 14 しなてす WACATE生まれ WACATE育ちの私たちが、 テスト設計コンテストで 優勝するまでの 軌跡をご紹介します

Slide 15

Slide 15 text

1年目 1年目 テストを設計してみよう! 15 テスト対象:話題沸騰ポット チームが持っているもの: WACATEで学んだこと 各メンバーの業務経験

Slide 16

Slide 16 text

1年目 16 テスト設計って 何をすればいいんだろ? テスト計画がないと テスト設計できなくない?

Slide 17

Slide 17 text

1年目 17 テスト計画 立てたことある? ないです ないっすね ないです 自社流なら…

Slide 18

Slide 18 text

1年目 18 テスト計画って 何すればいいんだろ? 本なら持ってる!!

Slide 19

Slide 19 text

1年目 19 テスト対象が分かんないと 計画も立てられない! 分析だ!マインドマップだ! 手分けしよう!

Slide 20

Slide 20 text

1年目 20 うはっ みんな形式が違った! 作ったはいいけど どうやって収束させるのこれ…

Slide 21

Slide 21 text

1年目 21 組込みのテストって どうやってやるんだろ? 自社でやってるの、 説明しましょうか~

Slide 22

Slide 22 text

1年目 22 長安試験ってのが あってですね ? エージング試験 と同じですかね? ? ? ?

Slide 23

Slide 23 text

1年目 23 最終成果物 つくらなきゃ! テストケースだ!! テンプレどうしよう! 転がってないかな?!

Slide 24

Slide 24 text

1年目 Time Up 24

Slide 25

Slide 25 text

1年目 25 めい 一切の登壇経験なし、原稿が頼り 当日

Slide 26

Slide 26 text

1年目 26

Slide 27

Slide 27 text

1年目 27

Slide 28

Slide 28 text

1年目 28

Slide 29

Slide 29 text

1年目 29

Slide 30

Slide 30 text

1年目 ざっくりまとめると 30

Slide 31

Slide 31 text

1年目 結果 31

Slide 32

Slide 32 text

1年目 ゆもつよさん 「テスト設計どこですか」 32

Slide 33

Slide 33 text

1年目 予選敗退 33

Slide 34

Slide 34 text

1年目 何はともあれ、 やってみることはできた! NEXT 34

Slide 35

Slide 35 text

2年目 2年目 テスト設計を 最後までやってみよう! 35 テスト対象:自動販売機 チームが持っているもの: 前年度の審査員コメント 前年度予選、決勝の各チームの発表と成果物 テスト設計コンテストのチュートリアル 各メンバーの業務経験やコミュニティ活動で得たもの

Slide 36

Slide 36 text

2年目 36 自販機の 関係者は誰だろう? ドメインについて 調べよう 関係者は何を 求めているんだろう?

Slide 37

Slide 37 text

2年目 37 テストアーキテクチャ 設計って? テストスイートを 組み立てるらしい? 実行しやすい 単位ってこと?

Slide 38

Slide 38 text

2年目 38 テストの作りやすさも 必要だよね? テスト実装は 手分けできるといいよね ボトルネックも 見えるようにしたいね

Slide 39

Slide 39 text

2年目 39 手分けして実装しよう テスト技法を 使ってみよう テストケースにしたら 実行しにくいかも?

Slide 40

Slide 40 text

2年目 40 条件が似たテストが続くと 実行しやすいよね あれ?結局、 テストスイートって?

Slide 41

Slide 41 text

2年目 Time Up 41

Slide 42

Slide 42 text

2年目 42 はるはる トレーナーなので話すのは得意 当日

Slide 43

Slide 43 text

2年目 43

Slide 44

Slide 44 text

2年目 44

Slide 45

Slide 45 text

2年目 45

Slide 46

Slide 46 text

2年目 46

Slide 47

Slide 47 text

2年目 当日の発表は・・・ 47 自動販売機 所有者 電力会社 購入者 飲料 メーカー 自動販売機 メーカー 補充員 保守員 営業 (窓口) ★自販機開発者 ★・・・テストを見る人 (同一の 場合も) 経営者 しなてす 良い報告をしたい 売れる自販機を作ってほしい 今回の立場: 第三者検証会社 所有者次第 R07 設置者の売りたい値で 消費者が買える こと 組合せテスト テスト優先度 R05 異常状態がすぐわ かる 組合せテスト シナリオテスト (順序依存関係) 「後」よ り「先」の要求を 先にテストする こと 凡例 先 後 (条件 質問 テス 要 求 質問 R02 異物が入った時に適 切に動作すること ユースケーステスト R06 販売が適切に停止 する ユースケーステスト R03 安心して使い続けら れる 状態遷移テスト アドホックテスト R04 セキュリティが確保 されている 組合せテスト シナリオテスト R08 ブザー音が適切であ ること シナリオテスト R09 明るさが適切である こと シナリオテスト TQ001 TQ002 TQ003 TQ004 TQ005 TQ006 TQ016 TQ023 TQ009 TQ010 TQ011 TQ012 高い 低い 要求ID 説明 テスト技法 テ ス ト 要 求 分 析 テストアー キテクチャ 設計 テスト要求 分析書 テストアーキテクチャ 設計書 テ 詳 設 TD01 TD02 テストアーキテクチャ ステークホルダ図 テスト要求リスト テスト方針 時間オーバー だよ!

Slide 48

Slide 48 text

2年目 結果 48

Slide 49

Slide 49 text

2年目 にしさん 「書類上は通過だったのに」 49

Slide 50

Slide 50 text

2年目 予選敗退 50

Slide 51

Slide 51 text

2年目 試行錯誤しながらではあったが 間違っていないことが分かった! NEXT 51

Slide 52

Slide 52 text

3年目 3年目 テスト設計コンテストで 予選を通過しよう! 52 テスト対象:自動販売機 チームが持っているもの: 前年度の審査員コメント 前年度予選、決勝の各チームの発表と成果物 報告会でもらったコメント 各メンバーの業務経験やコミュニティ活動で得たもの

Slide 53

Slide 53 text

3年目 53 今年も自動販売機だ! 去年との 差分はほぼない! 去年の成果物を ブラッシュアップするぞ!

Slide 54

Slide 54 text

3年目 54 改めて対象を 分析しよう モデリングしてみよう! アクティビティ図を 書いて持ち寄るぞ!

Slide 55

Slide 55 text

3年目 55 みんなちょっとずつ違う… 曖昧な部分 だったのか! 質問表に追記だ!

Slide 56

Slide 56 text

3年目 56 テストの重複も どうにかしたいね 結局、 テストアーキテクチャ設計は どういう切り口がいいかな?

Slide 57

Slide 57 text

3年目 57 そろそろ 独自性も出したいよね やってみようぜー キーワード駆動テスト とかどう?

Slide 58

Slide 58 text

3年目 58 このテスト、 実施できなくない? 環境が定義されてないね 見直しだー!

Slide 59

Slide 59 text

2年目 Time Up 59

Slide 60

Slide 60 text

3年目 60 はるはる チームで集まり、繰り返し練習した 当日

Slide 61

Slide 61 text

3年目 61

Slide 62

Slide 62 text

3年目 62

Slide 63

Slide 63 text

3年目 63

Slide 64

Slide 64 text

3年目 64

Slide 65

Slide 65 text

3年目 ざっくりまとめると 65 + 自動販売機 所有者 電力会社 購入者 飲料 メーカー 自動販売機 メーカー 補充員 保守員 営業 (窓口) ★自販機開発者 ★・・・テストを見る人 (同一の 場合も) 経営者 しなてす 良い報告をしたい 売れる自販機を作ってほしい 今回の立場: 第三者検証会社 所有者次第 R07 設置者の売りたい値で 消費者が買えること 組合せテスト テスト優先度 R05 異常状態がすぐわ かる 組合せテスト シナリオテスト (順序依存関係) 「後」より「先」の要求を 先にテストすること 凡例 先 後 (条件依存関係) 質問事項が解決されてから テストすること 要 求 質問 R02 異物が入った時に適 切に動作すること ユースケーステスト R06 販売が適切に停止 する ユースケーステスト R03 安心して使い続けら れる 状態遷移テスト アドホックテスト R04 セキュリティが確保 されている 組合せテスト シナリオテスト R08 ブザー音が適切であ ること シナリオテスト R09 明るさが適切である こと シナリオテスト R01 当たりやすさに不具 合が無い ユースケーステスト TQ001 TQ002 TQ003 TQ004 TQ005 TQ006 TQ016 TQ023 TQ009 TQ010 TQ011 TQ012 高い 低い 要求ID 説明 テスト技法 テスト 要求 分析 テストアー キテクチャ 設計 テスト要求 分析書 テストアーキテク チャ設計書 テスト 詳細 設計 テスト詳細 設計書 TD01 TD02 TD03 テスト観点 ID 内容 優先度 TR_R07_01 設定された価格で販売できること 6 TR_R05_01 商品切れであることが正しく通知され、不正に動作しないこと 4 TR_R05_02 釣り銭切れであることが正しく通知され、不正に動作しないこと 4 TR_R02_01 おつり取り出し口と紙幣投入口に異物が入った時に適切に動作す ること 3 TR_R04_01 売上処理に不具合がないこと 2 テストスクリプト テストアーキテクチャ ステークホルダ図 テスト要求リスト テストケース テスト方針 1年前の成果物のブラッシュアップ版 適切なプレゼン はるはる.wmf Opefy(≠DevOps) 操作 操作内容 操作時に 使用する値 確認事項 確認時に 使用する値 入金 「金種」と「枚数」の値に従っ て、紙幣投入口または硬貨 投入口に金を入れる 金種,枚数 ・金額表示機に「表示」に書かれている値が表 示されること ・販売可能な商品ボタンが点灯していること 表示

Slide 66

Slide 66 text

3年目 結果 66

Slide 67

Slide 67 text

3年目 智美塾 塾長 「DevOpsだっけ?」 (しなてす)いいえ、Opefyです… 67

Slide 68

Slide 68 text

3年目 予選通過!! 68

Slide 69

Slide 69 text

1年目 通過したものの 辛口コメントに答えられない現実! NEXT 69

Slide 70

Slide 70 text

3年目 決勝 3年目 決勝 目指せ優勝! 70 テスト対象:自動販売機 チームが持っているもの: 予選通過時に審査員・聴講者からもらった辛口コメント

Slide 71

Slide 71 text

3年目 決勝 71 実施途中で 時間切れになっても 大丈夫? 優先度つけないとだね

Slide 72

Slide 72 text

3年目 決勝 72 このテスト、 保守しやすいだろうか 今から 保守のしやすさを 全面には出せない… 保守できることは 示そう!

Slide 73

Slide 73 text

3年目 決勝 73 直感で理解できる 表現になっている? 上から下、左から右。 既存の記法も利用しよう!

Slide 74

Slide 74 text

3年目 決勝 Time Up 74

Slide 75

Slide 75 text

3年目 決勝 75 はるはる チームの外も巻き込んで練習した 当日

Slide 76

Slide 76 text

3年目 決勝 76

Slide 77

Slide 77 text

3年目 決勝 77

Slide 78

Slide 78 text

3年目 決勝 78

Slide 79

Slide 79 text

3年目 決勝 79

Slide 80

Slide 80 text

自動販売機 所有者 電力会社 購入者 飲料 メーカー 自動販売機 メーカー 補充員 保守員 営業 (窓口) ★自販機開発者 ★・・・テストを見る人 (同一の 場合も) 経営者 しなてす 良い報告をしたい 売れる自販機を作ってほしい 今回の立場: 第三者検証会社 所有者次第 3年目-2 成果物 80 テスト 要求 分析 テストアー キテクチャ 設計 テスト要求 分析書 テストアーキテク チャ設計書 テスト 詳細 設計 テスト詳細 設計書 TD01 TD02 TD03 テスト観点 ID 内容 優先度 TR_R07_01 設定された価格で販売できること 6 TR_R05_01 商品切れであることが正しく通知され、不正に動作しないこと 4 TR_R05_02 釣り銭切れであることが正しく通知され、不正に動作しないこと 4 TR_R02_01 おつり取り出し口と紙幣投入口に異物が入った時に適切に動作す ること 3 TR_R04_01 売上処理に不具合がないこと 2 Opefy定義表 チョット磨いた テストアーキテクチャ ステークホルダ図 テスト要求リスト テストケース テスト方針 テスト条件と関連装置の対応表

Slide 81

Slide 81 text

3年目 決勝 結果 81

Slide 82

Slide 82 text

3年目 決勝 82

Slide 83

Slide 83 text

3年目 決勝 83

Slide 84

Slide 84 text

3年目 決勝 84 しなてす テスコン 優勝!!!

Slide 85

Slide 85 text

3年目 決勝 審査員コメント 85

Slide 86

Slide 86 text

3年目 決勝 これがゴールではない!!! 乞うご期待 86

Slide 87

Slide 87 text

しなてすの活動で得たもの プロジェクト3回分のテスト設計経験 遠隔活動を回す勘所 エンドユーザー、ステークホルダへの意識 社外発表の機会 顧客を納得させるための説明をしようとする意識 ありがたい審査員コメント テストについて話せる仲間 業種職種による考え方や気になる観点の違い テスコンをきっかけにした更なる広がり 87

Slide 88

Slide 88 text

まとめ 実証! 2年半で ここまでできます。 88

Slide 89

Slide 89 text

伝えたいこと 繋がり ↓ 加速 89