Upgrade to Pro — share decks privately, control downloads, hide ads and more …

仕様変更のためのモデリングとテスト設計技法

たかはし
June 22, 2024
1.7k

 仕様変更のためのモデリングとテスト設計技法

WACATE2024夏の「仕様変更のためのモデリングとテスト設計技法」のセッション資料です。
よしなにご利用ください。

たかはし

June 22, 2024
Tweet

Transcript

  1. 自己紹介 たかはし • 福島県郡山市在住 • 第三者検証会社勤務(入社3年目) • 業務 • テスト実行・テスト管理

    • システムマニュアルの作成 • 運用・監視業務 • 猫派(写真は実家のねこ) 2024/06/22 WACATE 2024SUMMER 2
  2. セッションの流れ - 全体 - 4 2024/06/22 1.セッションに入る前 WACATE 2024SUMMER このセッションについて

    モデリング 2.前のセッションの振り返り テスト設計技法 大変だったところのおさらい セッションの目的 3.モデリングとテスト設計技法を学ぶ
  3. セッションの流れ – モデリング・テスト設計技法- 5 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何?

    モデリングの具体例 モデリングをする時の視点 解決ポイント-モデリング- モデリングとテスト設計技法のつながり 同値分割 デシジョンテーブルテスト 状態遷移テスト 解決ポイント-テスト設計技法- 境界値分析
  4. セッションの流れ - 全体 - 6 2024/06/22 1.はじめに 3.モデリングとテスト設計技法を学ぶ WACATE 2024SUMMER

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

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

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

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

    解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト
  9. モデリングって何? 15 モデリングの言葉の意味を調べてみると… 2024/06/22 WACATE 2024SUMMER 1. 模型を作る 2. 彫刻で、塑像における肉付けをする

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

    絵画で立体感を出す 4. 物事を模型や図表などによって表現する行為や その手法を指す ※「モデリング」はいろんな考え方がありますが 今回はこの考え方について説明します。
  11. セッションの流れ – モデリング・テスト設計技法- 19 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何?

    解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト
  12. モデリングの具体例 21 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコ ムース プリン いちごの

    サンドイッチ たい焼き おでん 塩パン このおやつたちにどんなラベリングをしますか?
  13. モデリングの具体例 22 こんなラベリングをしてみました 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円

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

    かしわ餅 洋菓子 チョコムース プリン 軽食 おでん パン 塩パン いちごのサンドイッチ
  15. セッションの流れ – モデリング・テスト設計技法- 26 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何?

    解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト
  16. モデリングの視点 27 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子

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

    かしわ餅 洋菓子 チョコムース プリン 軽食 おでん パン 塩パン いちごのサンドイッチ
  18. モデリングの視点 30 2024/06/22 WACATE 2024SUMMER かしわ餅 チョコムース プリン いちごの サンドイッチ

    たい焼き おでん 120円 140円 150円 300円 塩パン 「値段」の視点で分けると
  19. モデリングの視点 31 表にまとめる 2024/06/22 WACATE 2024SUMMER 値段 名称 120円 かしわ餅

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

    おでん 140円 プリン 150円 塩パン たい焼き 300円 チョコムース いちごのサンドイッチ おやつの種類 名称 和菓子 たい焼き かしわ餅 洋菓子 チョコムース プリン 軽食 おでん パン 塩パン いちごのサンドイッチ
  21. モデリングの視点 33 2024/06/22 WACATE 2024SUMMER めちゃ甘い 甘い 甘い 甘い かしわ餅

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

    サンドイッチ たい焼き おでん 塩パン 「味」でベン図が表現できる めちゃ甘い 甘い しょっぱい
  23. セッションの流れ – モデリング・テスト設計技法- 36 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何?

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

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

    解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト
  26. 同値分割 42 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子

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

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

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

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

    140円 プリン おでん 120円 150円 たい焼き 300円 300円 チョコ ムース いちごのサンドイッチ 買えないおやつの 同値パーテーションの代表値 同値パーテーションの代表値が成果物
  31. セッションの流れ – モデリング・テスト設計技法- 48 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER 同値分割

    解決ポイント-テスト設計技法- 境界値分析 モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 デシジョンテーブルテスト 状態遷移テスト
  32. 境界値分析 50 2024/06/22 WACATE 2024SUMMER 和菓子 20円 洋菓子 300円 洋菓子

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

    ムース プリン いちごの サンドイッチ たい焼き おでん 120円 150円 塩パン 51
  34. 境界値分析 52 2024/06/22 WACATE 2024SUMMER 和菓子 120円 洋菓子 300円 洋菓子

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

    プリン おでん 120円 150円 たい焼き 300円 300円 チョコムース いちごの サンドイッチ 買えるおやつの同値パーテーション 無効 パーテーション 買えないおやつの 同値パーテーション 150円 120円 119円 151円
  36. セッションの流れ – モデリング・テスト設計技法- 56 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER テスト設計技法

    同値分割 解決ポイント-テスト設計技法- 境界値分析 モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 デシジョンテーブルテスト 状態遷移テスト
  37. デシジョンテーブルテスト 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円
  38. デシジョンテーブルテスト 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 条件記述部 (条件の一覧) 条件指定部 (条件組み合わせ) 動作記述部 (結果の一覧) 動作指定部 (組み合わせに対する結果)
  39. 因子 水準 #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を入力
  40. デシジョンテーブルテスト 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
  41. デシジョンテーブルテスト 67 デシジョンテーブルテスト⑤テストケースにする もしテストケースにするなら、こんな感じ 2024/06/22 WACATE 2024SUMMER ケース おやつの組み合わせ 合計金額

    期待される結果 1 プリン+たい焼き+おでん 290円以上 おまけがもらえる 2 プリン+たい焼き 290円以上 おまけがもらえる 3 プリン+おでん 290円未満 おまけがもらえない 4 プリンのみ 290円未満 おまけがもらえない 5 たい焼き+おでん 290円未満 おまけがもらえない 6 たい焼きのみ 290円未満 おまけがもらえない
  42. デシジョンテーブルテスト 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
  43. セッションの流れ – モデリング・テスト設計技法- 71 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER テスト設計技法

    同値分割 解決ポイント-テスト設計技法- 境界値分析 モデリングって何? 解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 デシジョンテーブルテスト 状態遷移テスト
  44. 状態遷移図テスト 73 おやつ自動販売機のイベントに対する状態の変化を整理し、状態遷移 にフォーカスしたテストをしてみる 2024/06/22 WACATE 2024SUMMER 待機中 購入完了 購入待機中

    お金を入れる 状態遷移図 状態 イベント お金を入れる おやつボタン を押す 待機中 購入待機中 N/A 購入 待機中 N/A 購入完了 …イベント …状態 お金を入れる おやつボタン を押す
  45. 状態遷移テスト①状態を見つける 状態遷移図テスト 待機中 購入待機中 おやつ購入完了 おつり返却完了 待機中 75 2024/06/22 WACATE

    2024SUMMER 待機中 • おやつ自動販売機にお金を入れると、購入可能なおやつボタンが点灯する • 点灯したおやつボタンを押すと、おやつがおやつ取出口に落ちて待機中に戻る • おつりがあれば、おつりレバーを引くとおつりがおつり返却口に落ちて 待機中に戻る
  46. 状態遷移テスト③状態遷移図・状態遷移表を作る 状態遷移図テスト 77 2024/06/22 WACATE 2024SUMMER 購入待機中 おつり返却完了 待機中 黒文字…イベント

    …状態 お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 これ、合ってるのかな…? 購入完了
  47. 状態遷移図テスト 78 デシジョンテーブルテスト⑤テストケースにする もしテストケースにするなら、こんな感じ 2024/06/22 WACATE 2024SUMMER 状態/イベント お金を入れる おやつボタンを押す

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

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

    おつりレバーを引く 待機中 購入待機中 N/A N/A 購入待機中 N/A 購入完了 待機中 購入完了 購入待機中 N/A おつり返却完了 おつり返却完了 購入待機中 N/A N/A
  50. 状態遷移テスト③状態遷移図・状態遷移表を直す 状態遷移図テスト 81 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 黒文字…イベント …状態

    お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 購入完了 おつりのレバーを引く お金を入れる おつり返却完了 お金を入れる
  51. 状態遷移図テスト 82 状態遷移テスト④テストケースを作る(手作業) 2024/06/22 WACATE 2024SUMMER 経路 番号 状態 遷移

    状態 遷移 状態 01 待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 02 待機中 お金を入れる 購入待機中 おやつボタンを押す 購入完了 03 購入待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 04 購入待機中 おやつボタンを押す 購入完了 お金を入れる 購入待機中 05 購入待機中 おつりレバーを引く 待機中 お金を入れる 購入待機中 06 購入完了 お金を入れる 購入待機中 おつりレバーを引く 待機中 07 購入完了 お金を入れる 購入待機中 おやつボタンを押す 購入完了 これは一部
  52. 状態遷移図テスト 83 Nスイッチカバレッジは網羅の遷移の数 2024/06/22 WACATE 2024SUMMER 遷移前 状態 イベント 期待結果

    待機中 お金を 入れる 購入 待機中 購入 待機中 おやつ ボタンを 押す 購入 待機中 遷移前 状態 イベント 状態1 イベント 期待結果 待機中 お金を 入れる 購入 待機中 おやつ ボタンを 押す 購入完了 購入 待機中 おやつ ボタンを 押す 購入 待機中 おやつ ボタンを 押す 購入完了 0スイッチカバレッジ (スタート状態→ゴール状態) Nスイッチカバレッジ(ここでは1スイッチ) (スタート状態→別のN個の状態を挟む →ゴール状態)
  53. Nスイッチカバレッジを図から出すのは大変! 状態遷移図テスト 84 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 黒文字…イベント …状態

    お金を入れる おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 購入完了 おつりのレバーを引く お金を入れる おつり返却完了 お金を入れる
  54. 状態/ イベント お金を入れる おやつボタンを押 す おつりレバーを引く 待機中 購入待機中 N/A N/A

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

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

    状態 遷移 状態 01 待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 02 待機中 お金を入れる 購入待機中 おやつボタンを押す 購入完了 03 購入待機中 お金を入れる 購入待機中 おつりレバーを引く 待機中 04 購入待機中 おやつボタンを押す 購入完了 お金を入れる 購入待機中 05 購入待機中 おつりレバーを引く 待機中 お金を入れる 購入待機中 06 購入完了 お金を入れる 購入待機中 おつりレバーを引く 待機中 07 購入完了 お金を入れる 購入待機中 おやつボタンを押す 購入完了 これは一部
  57. 状態遷移図テスト 89 2024/06/22 WACATE 2024SUMMER 購入待機中 待機中 黒文字…イベント …状態 お金を入れる

    おやつボタンを押す おつりがある場合 おつりのレバーを引く おつりがない場合 購入完了 おつりのレバーを引く お金を入れる おつり返却完了 お金を入れる 状態遷移図が成果物
  58. セッションの流れ – モデリング・テスト設計技法- 92 2024/06/22 モデリング テスト設計技法 WACATE 2024SUMMER モデリングって何?

    解決ポイント-モデリング- モデリングとテスト設計技法のつながり モデリングの具体例 モデリングをする時の視点 同値分割 解決ポイント-テスト設計技法- 境界値分析 デシジョンテーブルテスト 状態遷移テスト