Slide 1

Slide 1 text

仕様変更のための モデリングと テスト設計技法 WACATE 2024SUMMER 1 2024/06/22

Slide 2

Slide 2 text

自己紹介 たかはし • 福島県郡山市在住 • 第三者検証会社勤務(入社3年目) • 業務 • テスト実行・テスト管理 • システムマニュアルの作成 • 運用・監視業務 • 猫派(写真は実家のねこ) 2024/06/22 WACATE 2024SUMMER 2

Slide 3

Slide 3 text

WACATEで加速 最近、テストや検証の仕事に離れているため WACATEでテストについて学べてうれしい~! 2022年 夏・冬 WACATE 参加者として 参加 実行委員として参加 2023年 夏 WACATE 2023年 冬 WACATE 2024年 夏 WACATE 2024/06/22 WACATE 2024SUMMER 3

Slide 4

Slide 4 text

セッションの流れ - 全体 - 4 2024/06/22 1.セッションに入る前 WACATE 2024SUMMER このセッションについて モデリング 2.前のセッションの振り返り テスト設計技法 大変だったところのおさらい セッションの目的 3.モデリングとテスト設計技法を学ぶ

Slide 5

Slide 5 text

セッションの流れ – モデリング・テスト設計技法- 5 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? モデリングの具体例 モデリングをする時の視点 解決ポイント-モデリング- モデリングとテスト設計技法のつながり 同値分割 デシジョンテーブルテスト 状態遷移テスト 解決ポイント-テスト設計技法- 境界値分析

Slide 6

Slide 6 text

セッションの流れ - 全体 - 6 2024/06/22 1.はじめに 3.モデリングとテスト設計技法を学ぶ WACATE 2024SUMMER このセッションについて モデリング 2.前のセッションの振り返り テスト設計技法 大変だったところのおさらい セッションの目的

Slide 7

Slide 7 text

このセッションについて このセッションは講義形式です なので、講義を聞きながら不明点や疑問点、気になったところなどを 事前に配布したセッション資料にメモしながら聞いてね! メモした不明点や疑問点、気になったところは本日の分科会で話して みよう!!! 2024/06/22 WACATE 2024SUMMER 7

Slide 8

Slide 8 text

セッションの流れ - 全体 - 8 2024/06/22 1.はじめに WACATE 2024SUMMER このセッションについて モデリング 2.前のセッションの振り返り テスト設計技法 大変だったところのおさらい セッションの目的 3.モデリングとテスト設計技法を学ぶ

Slide 9

Slide 9 text

大変だったところのおさらい 仕様変更によるテスト手順書の修正のワーク やってみて、どうでした?大変でした? 2024/06/22 WACATE 2024SUMMER 9

Slide 10

Slide 10 text

なぜ大変だったんだろうか… プロダクトの仕様が理解しきれていない気がする… もともとのテスト手順書を修正するだけでいいのか不安… 1 2 2024/06/22 WACATE 2024SUMMER 10

Slide 11

Slide 11 text

セッションの流れ - 全体 - 11 2024/06/22 1.はじめに WACATE 2024SUMMER このセッションについて モデリング テスト設計技法 2.前のセッションの振り返り 大変だったところのおさらい セッションの目的 3.モデリングとテスト設計技法を学ぶ

Slide 12

Slide 12 text

セッションの目的 プロダクトの仕様が理解しきれていない気がする… もともとのテスト手順書を修正するだけでいいのか不安… 1 2 モデリング テスト設計技法 2024/06/22 解決するために学んでいく=セッションの目的 WACATE 2024SUMMER 12

Slide 13

Slide 13 text

セッションの流れ - 全体 - 13 2024/06/22 1.はじめに WACATE 2024SUMMER モデリング 2.前のセッションの振り返り テスト設計技法 このセッションについて 大変だったところのおさらい セッションの目的 3.モデリングとテスト設計技法を学ぶ

Slide 14

Slide 14 text

セッションの流れ – モデリング・テスト設計技法- 14 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 15

Slide 15 text

モデリングって何? 15 モデリングの言葉の意味を調べてみると… 2024/06/22 WACATE 2024SUMMER 1. 模型を作る 2. 彫刻で、塑像における肉付けをする 3. 絵画で立体感を出す 4. 物事を模型や図表などによって表現する行為や その手法を指す モデリング

Slide 16

Slide 16 text

モデリングって何? 16 2024/06/22 WACATE 2024SUMMER 1. 模型を作る 2. 彫刻で、塑像における肉付けをする 3. 絵画で立体感を出す 4. 物事を模型や図表などによって表現する行為や その手法を指す ※「モデリング」はいろんな考え方がありますが 今回はこの考え方について説明します。

Slide 17

Slide 17 text

モデリングって何? 17 2024/06/22 WACATE 2024SUMMER 物事を模型や図表などによって表現する行為や その手法を指す モデリング=図式化、視覚化

Slide 18

Slide 18 text

モデリングって何? 18 2024/06/22 WACATE 2024SUMMER モデリング=図式化、視覚化 具体的に言うと… 業務のプロセスやシステムの構造などを 抽象化し、全体像を把握しやすいよう可視化すること

Slide 19

Slide 19 text

セッションの流れ – モデリング・テスト設計技法- 19 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 20

Slide 20 text

モデリングの具体例 20 「たかはしが3時のおやつで食べたいシリーズ」 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き おでん 塩パン

Slide 21

Slide 21 text

モデリングの具体例 21 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き おでん 塩パン このおやつたちにどんなラベリングをしますか?

Slide 22

Slide 22 text

モデリングの具体例 22 こんなラベリングをしてみました 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子 140円 パン 300円 和菓子 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き 軽食 おでん 120円 パン 150円 塩パン

Slide 23

Slide 23 text

モデリングの具体例 23 カテゴリーで図にしてみる 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコムース プリン いちごの サンドイッチ たい焼き おでん 和菓子 洋菓子 軽食 パン 塩パン

Slide 24

Slide 24 text

モデリングの具体例 24 表にまとめる 2024/06/22 WACATE 2024SUMMER カテゴリー 名称 和菓子 たい焼き かしわ餅 洋菓子 チョコムース プリン 軽食 おでん パン 塩パン いちごのサンドイッチ

Slide 25

Slide 25 text

モデリングの具体例 25 2024/06/22 WACATE 2024SUMMER 抽象化し、全体像を把握しやすいよう可視化すること カテゴリーで分ける 図、表などにまとめる モデリング

Slide 26

Slide 26 text

セッションの流れ – モデリング・テスト設計技法- 26 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 27

Slide 27 text

モデリングの視点 27 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子 パン 300円 和菓子 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き 軽食 おでん 120円 パン 塩パン 視点が変わると抽象化する物、方向性が変わる 例:「たかはしが3時のおやつで食べたいシリーズ」 140円 150円

Slide 28

Slide 28 text

モデリングの視点 28 カテゴリーで分ける 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコムース プリン いちごの サンドイッチ たい焼き おでん 和菓子 洋菓子 軽食 パン 塩パン

Slide 29

Slide 29 text

モデリングの視点 29 表にまとめる 2024/06/22 WACATE 2024SUMMER おやつの種類 名称 和菓子 たい焼き かしわ餅 洋菓子 チョコムース プリン 軽食 おでん パン 塩パン いちごのサンドイッチ

Slide 30

Slide 30 text

モデリングの視点 30 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコムース プリン いちごの サンドイッチ たい焼き おでん 120円 140円 150円 300円 塩パン 「値段」の視点で分けると

Slide 31

Slide 31 text

モデリングの視点 31 表にまとめる 2024/06/22 WACATE 2024SUMMER 値段 名称 120円 かしわ餅 おでん 140円 プリン 150円 塩パン たい焼き 300円 チョコムース いちごのサンドイッチ

Slide 32

Slide 32 text

モデリングの視点 32 視点が変わると抽象化する物、方向性が変わる 2024/06/22 WACATE 2024SUMMER 値段 名称 120円 かしわ餅 おでん 140円 プリン 150円 塩パン たい焼き 300円 チョコムース いちごのサンドイッチ おやつの種類 名称 和菓子 たい焼き かしわ餅 洋菓子 チョコムース プリン 軽食 おでん パン 塩パン いちごのサンドイッチ

Slide 33

Slide 33 text

モデリングの視点 33 2024/06/22 WACATE 2024SUMMER めちゃ甘い 甘い 甘い 甘い かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き しょっぱい おでん 甘い 塩パン 「味」でラベリングしてみる しょっぱい めちゃ甘い

Slide 34

Slide 34 text

モデリングの視点 34 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き おでん 塩パン 「味」でベン図が表現できる めちゃ甘い 甘い しょっぱい

Slide 35

Slide 35 text

モデリングの視点 35 視点が変わると抽象化する物、方向性が変わるため 2024/06/22 WACATE 2024SUMMER 重要なポイント ・どういう視点でモデリングするか ・何に注目してモデリングするか

Slide 36

Slide 36 text

セッションの流れ – モデリング・テスト設計技法- 36 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 37

Slide 37 text

解決ポイント-モデリング- 37 2024/06/22 WACATE 2024SUMMER モデリングの考え方を用いて考えてみると プロダクトの全体像が把握しやすくなる!理解が深まる! プロダクトの仕様が理解しきれていない気がする… 1 仕様a 仕様2 仕様1 仕様b 仕様a 仕様2 仕様1 仕様b

Slide 38

Slide 38 text

セッションの流れ – モデリング・テスト設計技法- 38 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 39

Slide 39 text

モデリングとテスト設計技法のつながり 39 2024/06/22 WACATE 2024SUMMER 「テスト設計技法」はモデリングの一部 同値分割 状態遷移図 デシジョンテーブル モデリング etc. テスト設計技法 抽象化 図式化 表

Slide 40

Slide 40 text

セッションの流れ – モデリング・テスト設計技法- 40 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 41

Slide 41 text

同値分割 41 テスト対象が同じ振る舞いをすると仮定できる入力や出力などの値の 集合や範囲を「同値パーティション(同値クラスともよぶ)」として まとめ、同値パーティション内の代表値のみをテストすることにより テストの数を削減する技法である 2024/06/22 WACATE 2024SUMMER 同値パーテーション

Slide 42

Slide 42 text

同値分割 42 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子 140円 パン 300円 和菓子 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き 軽食 おでん 120円 パン 150円 塩パン 「たかはしが3時のおやつで食べたいシリーズ」で 考えてみよう!

Slide 43

Slide 43 text

同値分割 43 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子 140円 パン 300円 和菓子 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き 軽食 おでん 120円 パン 150円 塩パン たかはし 3時前におやつ買おうかな~! …あれ、財布に200円しかない…?!?!

Slide 44

Slide 44 text

同値分割 44 2024/06/22 WACATE 2024SUMMER 買えるおやつの 同値パーテーション 120円 かしわ餅 150円 塩パン 140円 プリン おでん 120円 150円 たい焼き 300円 300円 チョコムース いちごの サンドイッチ 買えないおやつの 同値パーテーション

Slide 45

Slide 45 text

同値分割 45 2024/06/22 WACATE 2024SUMMER 買えるおやつの 同値パーテーションの代表値 120円 かしわ餅 150円 塩パン 140円 プリン おでん 120円 150円 たい焼き 300円 300円 チョコムース いちごのサンドイッチ 買えないおやつの 同値パーテーション の代表値

Slide 46

Slide 46 text

同値分割 46 2024/06/22 WACATE 2024SUMMER 買えるおやつの同値パーテーションの代表値 120円 かしわ餅 150円 塩パン 140円 プリン おでん 120円 150円 たい焼き 300円 300円 チョコ ムース いちごのサンドイッチ 買えないおやつの 同値パーテーションの代表値 同値パーテーションの代表値が成果物

Slide 47

Slide 47 text

同値分割 47 2024/06/22 WACATE 2024SUMMER メリット 同じ振る舞いをするグループにつき1つの値等でテストを行う →テストケースを少なくまとめることができる 使いどころ 入力値、出力値、内部変数、時間に依存する値など いつ使うか あらゆるテスト(単体テスト〜受け入れテストまで)

Slide 48

Slide 48 text

セッションの流れ – モデリング・テスト設計技法- 48 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER 同値分割 解決ポイント-テスト設計技法- 境界値分析 モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 デシジョンテーブルテスト 状態遷移テスト

Slide 49

Slide 49 text

境界値分析 49 プログラムの誤りが同値パーティションの境界部分に存在しやすいことに着 目し、その境界上の値をしようしてテストする技法である 同値パーティションの上限、加減の値、および、その直前、直後の値をテス トすることにより、範囲間違いや不等号の取り違えなどを検出する 2024/06/22 WACATE 2024SUMMER 同値パーテーション 最大値 最小値

Slide 50

Slide 50 text

境界値分析 50 2024/06/22 WACATE 2024SUMMER 和菓子 20円 洋菓子 300円 洋菓子 140円 パン 300円 和菓子 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き 軽食 おでん 120円 パン 150円 塩パン 「たかはしが3時のおやつで食べたいシリーズ」で 考えてみよう!

Slide 51

Slide 51 text

境界値分析 2024/06/22 おやつ自動販売機でおやつを買おう! 120円 300円 140円 300円 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き おでん 120円 150円 塩パン 51

Slide 52

Slide 52 text

境界値分析 52 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子 140円 パン 300円 和菓子 150円 かしわ餅 チョコ ムース プリン いちごの サンドイッチ たい焼き 軽食 おでん 120円 パン 150円 塩パン たかはし おやつ♪おやつ♪おやつを買おう~♪ …あれ、財布に150円しかない…?!?!

Slide 53

Slide 53 text

境界値分析 53 2024/06/22 WACATE 2024SUMMER 120円 かしわ餅 150円 塩パン 140円 プリン おでん 120円 150円 たい焼き 300円 300円 チョコムース いちごの サンドイッチ 買えるおやつの同値パーテーション 無効 パーテーション 買えないおやつの 同値パーテーション 150円 120円 119円 151円

Slide 54

Slide 54 text

境界値分析 54 2024/06/22 WACATE 2024SUMMER 買えるおやつの同値パーテーション 無効 パーテーション 買えないおやつの 同値パーテーション 150円 120円 119円 151円 1つのパーティションの最小値と最大値の境界値が成果物

Slide 55

Slide 55 text

境界値分析 55 2024/06/22 WACATE 2024SUMMER メリット 同値クラスの境界値では一般的に欠陥が潜んでることが多い →効率的に欠陥を見つけることができる 使いどころ 入力値、出力値、内部変数、時間に依存する値など いつ使うか あらゆるテスト(単体テスト〜受け入れテストまで)

Slide 56

Slide 56 text

セッションの流れ – モデリング・テスト設計技法- 56 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER テスト設計技法 同値分割 解決ポイント-テスト設計技法- 境界値分析 モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 デシジョンテーブルテスト 状態遷移テスト

Slide 57

Slide 57 text

デシジョンテーブルテスト 57 デシジョンテーブルとは テスト対象の複数ある条件の組み合わせを表に まとめるテストするために使用する 2024/06/22 WACATE 2024SUMMER SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」日経BP社、2020年 デシジョンテーブルは、ビジネスルールなどの複雑な ロジックを記録する効果的な方法である *因子:テストの結果を変える要因となりうるもの

Slide 58

Slide 58 text

デシジョンテーブルテスト 140円 150円 プリン たい焼き おでん 120円 「たかはしが3時のおやつで食べたいシリーズ」で 考えてみよう! おやつ自動販売機でおやつを2つ以上、290円分買うと おまけがもえらえるんだ! おまけがほしいからこの3つで検討! 58 2024/06/22 WACATE 2024SUMMER

Slide 59

Slide 59 text

デシジョンテーブルテスト 59 デシジョンテーブルにまとめるとこんな表になる 2024/06/22 WACATE 2024SUMMER 因子 水準 #1 #2 #3 #4 #5 #6 #7 #8 おやつ プリン Y Y Y Y N N N N たい焼き Y Y N N Y Y N N おでん Y N Y N Y N Y N 合計金額 290円以上 X X - - - - - - 290円未満 - - X X X X X X 結果 おまけがもらえる X X - - - - - - おまけがもらえない ー ー X X X X X X 140円 150円 プリン たい焼き おでん 120円

Slide 60

Slide 60 text

デシジョンテーブルテスト 60 デシジョンテーブルにまとめるとこんな表になる 2024/06/22 WACATE 2024SUMMER 因子 水準 #1 #2 #3 #4 #5 #6 #7 #8 おやつ プリン Y Y Y Y N N N N たい焼き Y Y N N Y Y N N おでん Y N Y N Y N Y N 合計金額 290円以上 X X - - - - - - 290円未満 - - X X X X X X 結果 おまけがもらえる X X - - - - - - おまけがもらえない ー ー X X X X X X 条件記述部 (条件の一覧) 条件指定部 (条件組み合わせ) 動作記述部 (結果の一覧) 動作指定部 (組み合わせに対する結果)

Slide 61

Slide 61 text

デシジョンテーブルテスト 61 デシジョンテーブル①条件記述部を書く 2024/06/22 WACATE 2024SUMMER おやつを2つ以上、290円分買うとおまけがもえらえる! おやつの候補 140円 150円 プリン たい焼き おでん 120円 合計金額 290円 以上 290円 未満 0円

Slide 62

Slide 62 text

デシジョンテーブルテスト 62 デシジョンテーブル①条件記述部を書く 今回は購入するおやつの組み合わせを出したいので、合計金額を 出すために考慮すべき有効なクラスを条件記述部に書く 2024/06/22 WACATE 2024SUMMER 因子 水準 おやつ プリン たい焼き おでん 合計金額 290円以上 290円未満 おやつの候補 プリン たい焼き おでん 合計金額 290円以上 290円未満

Slide 63

Slide 63 text

デシジョンテーブルテスト 63 デシジョンテーブルテスト②動作記述部を書く 想定される動作や結果を動作記述部に書き出す 2024/06/22 WACATE 2024SUMMER 結果 おまけがもらえる おまけがもらえない おまけがもえらえる

Slide 64

Slide 64 text

デシジョンテーブルテスト 64 デシジョンテーブルテスト③条件指定部を書く それぞれの因子の条件の組み合わせを条件指定部に記載 一般的には取りうる水準を全て条件記述部に書いて、 Y,N(Yes,No)を条件指定部に書いた方が抜け漏れは見つけやすい 2024/06/22 WACATE 2024SUMMER 因子 水準 #1 #2 #3 #4 #5 #6 #7 #8 おやつ プリン Y Y Y Y N N N N たい焼き Y Y N N Y Y N N おでん Y N Y N Y N Y N 合計金額 290円以上 X X - - - - - - 290円未満 - - X X X X X X

Slide 65

Slide 65 text

因子 水準 #1 #2 #3 おやつ プリン Y Y Y たい焼き Y Y N おでん Y N Y 合計金額 290円以上 X X - 290円未満 - - X 結果 おまけがもらえる X X - おまけがもらえない ー ー X デシジョンテーブルテスト 65 デシジョンテーブルテスト④条件指定部を書く 2024/06/22 WACATE 2024SUMMER 条件指定部の条件から想定される 結果を記入 ★ここでは当てはまるものに Xを入力

Slide 66

Slide 66 text

デシジョンテーブルテスト 66 デシジョンテーブルテスト④条件指定部を書く デシジョンテーブルの出来上がり! 2024/06/22 WACATE 2024SUMMER 因子 水準 #1 #2 #3 #4 #5 #6 #7 #8 おやつ プリン Y Y Y Y N N N N たい焼き Y Y N N Y Y N N おでん Y N Y N Y N Y N 合計金額 290円以上 X X - - - - - - 290円未満 - - X X X X X X 結果 おまけがもらえる X X - - - - - - おまけがもらえない ー ー X X X X X X

Slide 67

Slide 67 text

デシジョンテーブルテスト 67 デシジョンテーブルテスト⑤テストケースにする もしテストケースにするなら、こんな感じ 2024/06/22 WACATE 2024SUMMER ケース おやつの組み合わせ 合計金額 期待される結果 1 プリン+たい焼き+おでん 290円以上 おまけがもらえる 2 プリン+たい焼き 290円以上 おまけがもらえる 3 プリン+おでん 290円未満 おまけがもらえない 4 プリンのみ 290円未満 おまけがもらえない 5 たい焼き+おでん 290円未満 おまけがもらえない 6 たい焼きのみ 290円未満 おまけがもらえない

Slide 68

Slide 68 text

デシジョンテーブルテスト 68 2024/06/22 WACATE 2024SUMMER デシジョンテーブルが成果物 因子 水準 #1 #2 #3 #4 #5 #6 #7 #8 おやつ プリン Y Y Y Y N N N N たい焼き Y Y N N Y Y N N おでん Y N Y N Y N Y N 合計金額 290円以上 X X - - - - - - 290円未満 - - X X X X X X 結果 おまけがもらえる X X - - - - - - おまけがもらえない ー ー X X X X X X

Slide 69

Slide 69 text

デシジョンテーブルテスト 69 2024/06/22 WACATE 2024SUMMER メリット 複数因子の条件によって結果が分かれる時に、仕様を抜け漏れなく 整理してテストできる 使いどころ 複数の条件の組み合わせによって結果が分かれる場合 いつ使うか 統合テスト、システムテスト

Slide 70

Slide 70 text

デシジョンテーブルテスト 70 注意 条件自体がもれていると効果がない デシジョンテーブルとは複数因子からなる結果の条件を明らかにして、 そこにフォーカスしてテストする技法 条件が複雑な場合に効果を発揮するが、テストケース数が爆発するこ ともある 2024/06/22 WACATE 2024SUMMER 他の条件が存在しないか確認、条件の粒度を定める テストしたい条件、結果以外のテスト(境界値分析など)を 含めて書かない

Slide 71

Slide 71 text

セッションの流れ – モデリング・テスト設計技法- 71 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER テスト設計技法 同値分割 解決ポイント-テスト設計技法- 境界値分析 モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 デシジョンテーブルテスト 状態遷移テスト

Slide 72

Slide 72 text

状態遷移図テスト 72 状態遷移図や状態遷移表を使ってテスト対象プログラ ムの仕様を整理し、これに基づいてテストケースを作 成する技法である 網羅する遷移の数を表す「Nスイッチカバレッジ」に より網羅基準を設定する 2024/06/22 WACATE 2024SUMMER SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」日経BP社、2020年

Slide 73

Slide 73 text

状態遷移図テスト 73 おやつ自動販売機のイベントに対する状態の変化を整理し、状態遷移 にフォーカスしたテストをしてみる 2024/06/22 WACATE 2024SUMMER 待機中 購入完了 購入待機中 お金を入れる 状態遷移図 状態 イベント お金を入れる おやつボタン を押す 待機中 購入待機中 N/A 購入 待機中 N/A 購入完了 …イベント …状態 お金を入れる おやつボタン を押す

Slide 74

Slide 74 text

• おやつ自動販売機にお金を入れると、購入可能なおやつボタンが点灯する • 点灯したおやつボタンを押すと、おやつがおやつ取出口に落ちて待機中に戻る • おつりがあれば、おつりレバーを引くとおつりがおつり返却口に落ちて 待機中に戻る おやつ自動販売機でのおやつ購入までの流れ 状態遷移図テスト 74 2024/06/22 WACATE 2024SUMMER

Slide 75

Slide 75 text

状態遷移テスト①状態を見つける 状態遷移図テスト 待機中 購入待機中 おやつ購入完了 おつり返却完了 待機中 75 2024/06/22 WACATE 2024SUMMER 待機中 • おやつ自動販売機にお金を入れると、購入可能なおやつボタンが点灯する • 点灯したおやつボタンを押すと、おやつがおやつ取出口に落ちて待機中に戻る • おつりがあれば、おつりレバーを引くとおつりがおつり返却口に落ちて 待機中に戻る

Slide 76

Slide 76 text

• おやつ自動販売機にお金を入れると、購入可能なおやつボタンが点灯する • 点灯したおやつボタンを押すと、おやつがおやつ取出口に落ちて待機中に戻る • おつりがあれば、おつりレバーを引くとおつりがおつり返却口に落ちて 待機中に戻る 状態遷移テスト②イベントを見つける 状態遷移図テスト 76 2024/06/22 WACATE 2024SUMMER

Slide 77

Slide 77 text

状態遷移テスト③状態遷移図・状態遷移表を作る 状態遷移図テスト 77 2024/06/22 WACATE 2024SUMMER 購入待機中 おつり返却完了 待機中 黒文字…イベント …状態 お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 これ、合ってるのかな…? 購入完了

Slide 78

Slide 78 text

状態遷移図テスト 78 デシジョンテーブルテスト⑤テストケースにする もしテストケースにするなら、こんな感じ 2024/06/22 WACATE 2024SUMMER 状態/イベント お金を入れる おやつボタンを押す おつりレバーを引く 待機中 購入待機中 N/A N/A 購入待機中 ??? 購入完了 ??? 購入完了 ??? N/A おつり返却完了 おつり返却完了 ??? N/A N/A

Slide 79

Slide 79 text

状態遷移図テスト 79 デシジョンテーブルテスト⑤テストケースにする もしテストケースにするなら、こんな感じ 2024/06/22 WACATE 2024SUMMER 状態/イベント お金を入れる おやつボタンを押す おつりレバーを引く 待機中 購入待機中 N/A N/A 購入待機中 ??? 購入完了 ??? 購入完了 ??? N/A おつり返却完了 おつり返却完了 ??? N/A N/A どうなるっけ? ここ抜けてた…

Slide 80

Slide 80 text

状態遷移図テスト 80 デシジョンテーブルテスト⑤テストケースにする もしテストケースにするなら、こんな感じ 2024/06/22 WACATE 2024SUMMER 状態/イベント お金を入れる おやつボタンを押す おつりレバーを引く 待機中 購入待機中 N/A N/A 購入待機中 N/A 購入完了 待機中 購入完了 購入待機中 N/A おつり返却完了 おつり返却完了 購入待機中 N/A N/A

Slide 81

Slide 81 text

状態遷移テスト③状態遷移図・状態遷移表を直す 状態遷移図テスト 81 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 黒文字…イベント …状態 お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 購入完了 おつりのレバーを引く お金を入れる おつり返却完了 お金を入れる

Slide 82

Slide 82 text

状態遷移図テスト 82 状態遷移テスト④テストケースを作る(手作業) 2024/06/22 WACATE 2024SUMMER 経路 番号 状態 遷移 状態 遷移 状態 01 待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 02 待機中 お金を入れる 購入待機中 おやつボタンを押す 購入完了 03 購入待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 04 購入待機中 おやつボタンを押す 購入完了 お金を入れる 購入待機中 05 購入待機中 おつりレバーを引く 待機中 お金を入れる 購入待機中 06 購入完了 お金を入れる 購入待機中 おつりレバーを引く 待機中 07 購入完了 お金を入れる 購入待機中 おやつボタンを押す 購入完了 これは一部

Slide 83

Slide 83 text

状態遷移図テスト 83 Nスイッチカバレッジは網羅の遷移の数 2024/06/22 WACATE 2024SUMMER 遷移前 状態 イベント 期待結果 待機中 お金を 入れる 購入 待機中 購入 待機中 おやつ ボタンを 押す 購入 待機中 遷移前 状態 イベント 状態1 イベント 期待結果 待機中 お金を 入れる 購入 待機中 おやつ ボタンを 押す 購入完了 購入 待機中 おやつ ボタンを 押す 購入 待機中 おやつ ボタンを 押す 購入完了 0スイッチカバレッジ (スタート状態→ゴール状態) Nスイッチカバレッジ(ここでは1スイッチ) (スタート状態→別のN個の状態を挟む →ゴール状態)

Slide 84

Slide 84 text

Nスイッチカバレッジを図から出すのは大変! 状態遷移図テスト 84 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 黒文字…イベント …状態 お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 購入完了 おつりのレバーを引く お金を入れる おつり返却完了 お金を入れる

Slide 85

Slide 85 text

状態遷移テスト④テストケースを作る(手作業) 状態遷移図テスト 85 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 購入完了 おつり返却完了 1.全ての状態を書き出す

Slide 86

Slide 86 text

状態/ イベント お金を入れる おやつボタンを押 す おつりレバーを引く 待機中 購入待機中 N/A N/A 購入待機中 N/A 購入完了 待機中 購入完了 購入待機中 N/A おつり返却完了 状態遷移テスト④テストケースを作る(手作業) 状態遷移図テスト 86 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 購入完了 おつり返却完了 2.状態遷移表を見て 遷移先の状態をぶら下げる (木構造にする) おやつボタン を押す おつりレバー を引く 待機中 購入完了

Slide 87

Slide 87 text

状態/ イベント お金を入れる おやつボタンを押 す おつりレバーを引く 待機中 購入待機中 N/A N/A 購入待機中 N/A 購入完了 待機中 購入完了 購入待機中 N/A おつり返却完了 状態遷移テスト④テストケースを作る(手作業) 状態遷移図テスト 87 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 購入完了 おつり返却完了 3.やりたい網羅基準 (1スイッチ)に なるまでⅱを繰り返す おやつボタン を押す おつりレバー を引く 待機中 購入完了 おつり返却完了 購入待機中

Slide 88

Slide 88 text

状態遷移図テスト 88 状態遷移テスト④テストケースを作る(手作業) 2024/06/22 WACATE 2024SUMMER 経路 番号 状態 遷移 状態 遷移 状態 01 待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 02 待機中 お金を入れる 購入待機中 おやつボタンを押す 購入完了 03 購入待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 04 購入待機中 おやつボタンを押す 購入完了 お金を入れる 購入待機中 05 購入待機中 おつりレバーを引く 待機中 お金を入れる 購入待機中 06 購入完了 お金を入れる 購入待機中 おつりレバーを引く 待機中 07 購入完了 お金を入れる 購入待機中 おやつボタンを押す 購入完了 これは一部

Slide 89

Slide 89 text

状態遷移図テスト 89 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 黒文字…イベント …状態 お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 購入完了 おつりのレバーを引く お金を入れる おつり返却完了 お金を入れる 状態遷移図が成果物

Slide 90

Slide 90 text

状態遷移図テスト 90 2024/06/22 WACATE 2024SUMMER メリット システムの状態の変化にフォーカスしたテストができる 状態遷移の仕様誤りや設計誤りを見つけることができる 使いどころ システムの状態遷移が複数の状態に変化する場合 いつ使うか 統合テスト、システムテスト

Slide 91

Slide 91 text

状態遷移図テスト 91 注意 どこまでも複雑になるのでテストしたいのかは考えること (Nスイッチカバレッジ) なんの状態をテストしたいか特定してテストする (購入状態がテストしたいのか?画面遷移がテストしたいのか?) 2024/06/22 WACATE 2024SUMMER

Slide 92

Slide 92 text

セッションの流れ – モデリング・テスト設計技法- 92 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト

Slide 93

Slide 93 text

解決ポイント-テスト設計技法- 93 2024/06/22 WACATE 2024SUMMER モデリングの考え方を用いて考えてみると プロダクトの仕様が理解できていれば、テスト設計技法を使って パターンやテストすべきところを明確になる! テスト項目書の修正するところが分かる! テスト項目書の不足分がある場合でも対応できる! もともとのテスト手順書を修正するだけでいいのか不安… 2 具体的な解決方法は次のセッションで分かるよ!

Slide 94

Slide 94 text

最後に 94 ご清聴ありがとうございました! みんながんばっていこうね! 2024/06/22 WACATE 2024SUMMER