Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

テストケースをまとめて固めて「テストカタマリー」

572 views

Published on

「BPStudy#153〜テスト設計/テストカタマリーについて知ろう」の発表資料。
テストカタマリーの概要説明と事例の紹介。

Published in: Software
  • Be the first to comment

テストケースをまとめて固めて「テストカタマリー」

  1. 1. テストケースをまとめて固めて 「テストカタマリー」 Powered by TEF道 なかくき@ぐっずたんとう ©TEF-Do 12020/5/29
  2. 2. 第1部 テストカタマリーとは 2020/5/29 ©TEF-Do 2
  3. 3. 2020/5/29 ©TEF-Do 3 その前に
  4. 4. 2020/5/29 ©TEF-Do 4 世界観を共有
  5. 5. 2020/5/29 ©TEF-Do 5 どこかの世界のお話
  6. 6. 近年、 ソフトウェアは大規模になり、 工業製品の重要な要素となっている…。 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 6
  7. 7. 近年、 ソフトウェアは大規模になり、 工業製品の重要な要素となっている…。 ソフトウェアシステムが成長するにつれて、 品質保証のためのソフトウェアテストも また巨大で複雑になっていく…。 2020/5/29 ©TEF-Do 7 注意:イメージです ©SUNRIZE
  8. 8. 近年、 ソフトウェアは大規模になり、 工業製品の重要な要素となっている…。 ソフトウェアシステムが成長するにつれて、 品質保証のためのソフトウェアテストも また巨大で複雑になっていく…。 1つのプロジェクトには 数百万ものテストケースが存在し、 多くのテストタイプとテストレベルを 網羅しているため 非常に複雑化している…。 2020/5/29 ©TEF-Do 8 注意:イメージです ©SUNRIZE
  9. 9. 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 9
  10. 10. 2020/5/29 ©TEF-Do 10 という感じで テストケースが 爆発 してませんか?
  11. 11. 2020/5/29 ©TEF-Do 11 ソフトウェアシステムが成長するにつれて、 品質保証のためのソフトウェアテストも また巨大で複雑になっていく…。
  12. 12. 2020/5/29 ©TEF-Do 12 時を戻そう
  13. 13. 2020/5/29 ©TEF-Do 13 テストカタマリーとは • 謎の団体 STUDIO IBURI が言い出しっぺの 記法 • テストの観点やカテゴリとテストケース の塊 • クラス図の表記をパクった利用したモデ ル表現
  14. 14. 2020/5/29 ©TEF-Do 14 STUDIO IBURI?
  15. 15. 2020/5/29 ©TEF-Do 15 テスト設計コンテストのためにこっそり結成 した部隊。メンバーは胆振地方に縁があると か、ないとか。 胆振
  16. 16. 2020/5/29 ©TEF-Do 16 ※1 InSTA = International Workshop on Software Test Architecture 戦績 • テスト設計コンテスト’17 OPENクラス →優勝 • InSTA(※1)2017で事例発表
  17. 17. 2020/5/29 ©TEF-Do 17 テストケースの塊
  18. 18. 2020/5/29 ©TEF-Do 18 テストカタマリーのアイデア テスト設計のための いくつかの領域
  19. 19. 2020/5/29 ©TEF-Do 19 テストカタマリーのアイデア テストスコープ
  20. 20. 2020/5/29 ©TEF-Do 20 テストカタマリーのアイデア テストスコープの 分割
  21. 21. 2020/5/29 ©TEF-Do 21 テストカタマリーのアイデア 優先順位を決定する Low priority High priority
  22. 22. 2020/5/29 ©TEF-Do 22 テストカタマリーのアイデア テストスコープの 一部
  23. 23. 2020/5/29 ©TEF-Do 23 テストカタマリーのアイデア Test Case1 Test Case2 … テストの詳細設計
  24. 24. 2020/5/29 ©TEF-Do 24 一連のテストケースを持つ 分割されたテストスコープを 「テストカタマリー」 と定義。 詳細 Test Case1 Test Case2 … テストスコープの 一部 テストケース 概略
  25. 25. 2020/5/29 ©TEF-Do 25 名前の由来 テストスコープの一部に対する テストの観点やカテゴリとテストケースの塊 ↓ テストケースの塊 ↓ テストカタマリー
  26. 26. 2020/5/29 ©TEF-Do 26 モデル表現
  27. 27. 2020/5/29 ©TEF-Do 27 前置き • クラス図の表記を利用したモデル表現で あって、クラス図ではありません。 • クラス図を意識しているところは多々あ りますが、別物と考えてください。
  28. 28. 2020/5/29 ©TEF-Do 28 概要 アラーム登録 + 各機能 : 機能特性 ~ 登録数 : 性能効率性 … + アラーム登録() : 各機能 + アラーム解除() : 各機能 ~ 最大登録数検証() : 登録数 … テストタイプ テスト観点 品質特性などの 品質要素や 気がかり (抽象的) テストケース 名称
  29. 29. 2020/5/29 ©TEF-Do 29 概要 アラーム登録 + 各機能 : 機能特性 ~ 登録数 : 性能効率性 … + アラーム登録 : 各機能 + アラーム解除 : 各機能 ~ 最大登録数検証 : 登録数 … アラーム解除 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 複数の具体的テストケース
  30. 30. 2020/5/29 ©TEF-Do 30 概要 アラーム登録 + 各機能 : 機能特性 ~ 登録数 : 性能効率性 … + アラーム登録 : 各機能 + アラーム解除 : 各機能 ~ 最大登録数検証 : 登録数 … アラーム解除 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 複数の具体的テストケース
  31. 31. 2020/5/29 ©TEF-Do 31 アラーム … … 概要 アラーム登録 … … アラーム通知 … … カレンダー … … 時計 … … 世界時計 … …
  32. 32. 2020/5/29 ©TEF-Do 32 UI 概要 アラーム … … タイマー … … 就寝時間 … … 世界時計 … … ストップウォッチ … …
  33. 33. 2020/5/29 ©TEF-Do 33 いちおう… 細かい設定はまだありますが、 全部説明すると大変なので、 説明を省略 (リンク参照) どしろうと製作所 テストカタマリーの紹介
  34. 34. 2020/5/29 ©TEF-Do 34 <<パターン>> カタマリー名 ~ 分類例 : 分類 + 分類例 : 分類 − 分類例 : 分類 ~ テスト対象(テスト方針) : 分類例 + テスト対象(テスト方針) : 分類例 − テスト対象(テスト方針) : 分類例 こまかい設定 参照するパターン名と カタマリー名 カタマリーで確認したい分類とその分類 例 ~ : パターンから引き継いだ分類 + : カタマリー特有の分類 - : 下位のカタマリーを踏襲したモノ カタマリーとして確認するモノ記入 ~ : カタマリーパターンの具現化したモノ + : このカタマリー固有に確認するモノ - : 下位のカタマリーを踏襲したモノ
  35. 35. 2020/5/29 ©TEF-Do 35 例)iOS時計アプリ アラーム 登録 iOS時計 アプリ アラーム 通知 タイマー ストップウォッチ 就寝時間 世界時計 アラーム
  36. 36. 2020/5/29 ©TEF-Do 36 例)iOS時計アプリ アラーム 登録 iOS時計 アプリ アラーム 通知 タイマー ストップウォッチ 就寝時間 世界時計 アラーム
  37. 37. 2020/5/29 ©TEF-Do 37 例)iOS時計アプリ アラーム 登録 iOS時計 アプリ アラーム 通知 タイマー ストップウォッチ 就寝時間 世界時計 アラーム
  38. 38. 2020/5/29 ©TEF-Do 38 例)iOS時計アプリ アラーム 登録 アラーム登録の確認 アラーム解除の確認 機能テスト 性能テスト 登録数 最大登録数時の確認
  39. 39. 2020/5/29 ©TEF-Do 39 例)iOS時計アプリ アラーム登録 + 各機能 : 機能特性 ~ 登録数 : 性能効率性 … + アラーム登録 : 各機能 + アラーム解除 : 各機能 ~ 最大登録数検証 : 登録数 …
  40. 40. 2020/5/29 ©TEF-Do 40 例)iOS時計アプリ アラーム 登録 iOS時計 アプリ アラーム 通知 タイマー ストップウォッチ 就寝時間 世界時計 アラーム
  41. 41. 2020/5/29 ©TEF-Do 41 例)iOS時計アプリ アラーム登録 … … アラーム通知 … … アラーム … … タイマー … … 就寝時間 … … 世界時計 … … ストップウォッチ … …
  42. 42. 2020/5/29 ©TEF-Do 42 例)iOS時計アプリ UI アラーム … … タイマー … … 就寝時間 … … 世界時計 … … ストップウォッチ … … 全体的なテスト範囲が、 1枚の絵で描ける
  43. 43. テストカタマリーの 良いところ 2020/5/29 ©TEF-Do 43
  44. 44. 2020/5/29 ©TEF-Do 44 その前に
  45. 45. 2020/5/29 ©TEF-Do 45 世界観を共有
  46. 46. 2020/5/29 ©TEF-Do 46 どこかの世界のお話
  47. 47. テストの管理が難しい 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 47
  48. 48. テストの管理が難しい ↓ テストの全容を把握できない 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 48
  49. 49. テストの管理が難しい ↓ テストの全容を把握できない ↓ 必要なテストケースが漏れる 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 49
  50. 50. テストの管理が難しい ↓ テストの全容を把握できない ↓ 必要なテストケースが漏れる ↓ 重大な欠陥が検出されない 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 50
  51. 51. 2020/5/29 ©TEF-Do 51
  52. 52. 2020/5/29 ©TEF-Do 52 注意:イメージです ©SUNRIZE
  53. 53. 2020/5/29 ©TEF-Do 53 テストの管理が難しい なぜだ?
  54. 54. 2020/5/29 ©TEF-Do 54 坊 や だ か ら さ 注意:イメージです ©SUNRIZE
  55. 55. 2020/5/29 ©TEF-Do 55 ちがいます
  56. 56. 2020/5/29 ©TEF-Do 56 時を戻そう
  57. 57. 2020/5/29 ©TEF-Do 57 テストの管理が難しい 理由
  58. 58. 2020/5/29 ©TEF-Do 58 要因①
  59. 59. 2020/5/29 ©TEF-Do 59 • 単純なツリー構造 • 単純なマトリクス(表) • 伝統的なドキュメント
  60. 60. 2020/5/29 ©TEF-Do 60 • 単純なツリー構造 • 単純なマトリクス(表) • 伝統的なドキュメント 俯瞰して全体を把握するこが 難しい
  61. 61. 2020/5/29 ©TEF-Do 61 要因②
  62. 62. 2020/5/29 ©TEF-Do 62 • 多くの人がテストケースを設計する。 • 技術の差もある。 • 表現の違いもある。
  63. 63. 2020/5/29 ©TEF-Do 63 • 多くの人がテストケースを設計する。 • 技術の差もある。 • 表現の違いもある。 テストケースのメンテナンスを 難しくする
  64. 64. 2020/5/29 ©TEF-Do 64 つまり
  65. 65. 2020/5/29 ©TEF-Do 65 テストカタマリーは • モデル表現により、ツリーやマトリクス よりも俯瞰的な表現がしやすいため、全 容を把握しやすくなる。 • モデル記述にルールがあるため、表現の 不揃いが是正されるため、メンテナンス しやすくなる。
  66. 66. 2020/5/29 ©TEF-Do 66 はず!!
  67. 67. 2020/5/29 ©TEF-Do 67 時を戻そう
  68. 68. 2020/5/29 ©TEF-Do 68 おまけとして • UMLモデリングツールが使えれば、それで お手軽に描ける。
  69. 69. 第1部 完 2020/5/29 ©TEF-Do 69
  70. 70. 2020/5/29 ©TEF-Do 70 小休止
  71. 71. 第2部 事例紹介 2020/5/29 ©TEF-Do 71
  72. 72. 2020/5/29 ©TEF-Do 72 紹介する事例は JaSST’20 Tokyoで 発表できなかった事例
  73. 73. 2020/5/29 ©TEF-Do 73 JaSSTの公式サイトにもUPされています。
  74. 74. 2020/5/29 ©TEF-Do 74 ざっくり言うと
  75. 75. 2020/5/29 ©TEF-Do 75 テストカタマリーを使った テスト仕様書のリライト
  76. 76. 2020/5/29 ©TEF-Do 76 テストD … … テストE … … テストB … … テストA … … テスト … … … … … … … … … … … … … … … … … … … … … … … …
  77. 77. 2020/5/29 ©TEF-Do 77 では、事例を紹介します JaSST’20 Tokyoレポート A2) 論文セッション 経験論文/事例発表 UMLクラス図記法を利用したテストケース仕様書のリライト -保守しやすいテストケースの塊-
  78. 78. 注意:イメージです ©SUNRIZE 2020/5/29 ©TEF-Do 78 見せてもらおうか、 カタマリーの
  79. 79. 2020/5/29 ©TEF-Do 79 時をもどそう
  80. 80. 第2部 完 2020/5/29 ©TEF-Do 80
  81. 81. 2020/5/29 ©TEF-Do 81 小休止
  82. 82. 第3部 プチ演習 2020/5/29 ©TEF-Do 82
  83. 83. やりたいこと まとまった形のテストケースは、そのテス トケースの目的や対象が分かりづらいこと があります。 ©TEF-Do 832020/5/29
  84. 84. やりたいこと これは手動テストでも自動テストでも同じ ような問題はあると思います。 ©TEF-Do 842020/5/29
  85. 85. やりたいこと 事例のようにリライトしてみましょう。 ©TEF-Do 852020/5/29
  86. 86. やりたいこと 例えるなら、筋子からイクラを作るように、 パラパラとほぐして、醤油漬けにする感じ。 ©TEF-Do 862020/5/29
  87. 87. ©TEF-Do 872020/5/29
  88. 88. ジンギスカン販売サイト 会員制で、肉の種類、数量を 入れて購入できるサイトがあ ります。 肉以外にもジンギスカンの鍋 やタレ、ヤマワサビなども購 入できる。 セット品もある。 ©TEF-Do U3 入金する U4 ユーザーを登録する U1 商品を検索する etc 2020/5/29 88 U2 商品を購入する
  89. 89. ジンギスカン販売サイト [購入]に関する仕様 ラム or マトンを選択し、販売の単量は100グラ ム。購入グラム数に応じて単価が変動して販売額を 決定する。 購入するためには先に入金が必要となる。入金額が いない場合は購入ボタンが押せない。入金は100円 単位で可能。(ここでは入金に関するカード支払い だ、引き落としだ、という仕様には触れない) ©TEF-Do 数量[g] ラム[円/g] マトン[円/g] 100~500 200 250 600~900 180 220 1000~ 150 180 購入キャンセル 100 ラム マトン 100金額 [円] [g] 2020/5/29 89 入金 1,500 [円] 残額 300 [円] キャンセル 入金
  90. 90. ダメテストケース例 2020/5/29 ©TEF-Do 90 No ケース 期待結果 判定 はじめてログインして、 購入まで確認する。 1 ログインする。 ログインでき、残額が0円であること。 2 残額0円の状態でラムを選択し、100gを 設定する。 金額が200円を表示し、購入できないこ と。 3 600gを設定する。 金額が1,080円を表示すること。 4 1,000gを設定する。 金額が1,500円を表示すること。 5 10,000円を入金する。 残額を10,000円にすること。 入金額を0円にすること。 6 購入する。 購入でき、残額を8,500円にすること。 肉種が未選択になり、グラム設定を0gに すること。 7 ラムを選択し、500gを設定する。 金額が1,000円を表示すること。 8 マトンを選択する。 金額が1,250円を表示すること。 9 900gを設定する。 金額が1,980円を表示すること。 10 3,000gを設定する。 金額が4,800円を表示すること。 キャンセルを行う。 肉種が未選択になり、グラム設定を0gに 操作ステップ 001
  91. 91. ダメテストケース例 2020/5/29 ©TEF-Do 91 6 すること。 7 ラムを選択し、500gを設定する。 金額が1,000円を表示すること。 8 マトンを選択する。 金額が1,250円を表示すること。 9 900gを設定する。 金額が1,980円を表示すること。 10 3,000gを設定する。 金額が4,800円を表示すること。 11 キャンセルを行う。 肉種が未選択になり、グラム設定を0gに すること。 残額を8,500円にすること。 12 マトンを選択し、3,000gを購入する。 購入でき、残額を3,700円にすること。 肉種が未選択になり、グラム設定を0gに すること。 再ログインして、購入ま で確認する。 1 ログインする。 残額が4,900円を表示すること。 2 ラムを選択し、500gを設定する。 金額が1,000円を表示し、購入できない こと。 3 600gを設定する。 金額が1,620円を表示すること。 4 2,000gを設定する。 金額が3,000円を表示すること。 5 購入する。 購入でき、残額を700円にすること。 肉種が未選択になり、グラム設定を0gに すること。 6 マトンを選択し、100gを設定する。 金額が250円を表示すること。 600gを設定する。 金額が1,320円を表示すること。 001 002
  92. 92. ダメテストケース例 2020/5/29 ©TEF-Do 92 3 600gを設定する。 金額が1,620円を表示すること。 4 2,000gを設定する。 金額が3,000円を表示すること。 5 購入する。 購入でき、残額を700円にすること。 肉種が未選択になり、グラム設定を0gに すること。 6 マトンを選択し、100gを設定する。 金額が250円を表示すること。 7 600gを設定する。 金額が1,320円を表示すること。 8 1,000gを設定する。 金額が1,800円を表示すること。 9 購入する。 購入できないこと。 10 入金額を1,100円に設定して、キャンセ ルする。 入金額を0円にすること。 11 1,100円を入金する。 残額が1,800円を表示すること。 入金額を0円にすること。 12 購入する。 購入でき、残額を0円にすること。 肉種が未選択になり、グラム設定を0gに すること。 002
  93. 93. 例えば 肉種に「ホゲット」が追加されたら場合、 テストケースをどのように直しますか? 2020/5/29 ©TEF-Do 93 この状態なら、 このテストケースのメンテナンスはあきらめて、 新しくテストケース書き起こします。
  94. 94. ほぐし ©TEF-Do 942020/5/29
  95. 95. ほぐし方 1.個別のテストケースにラベルを張る。 2.ラベルをもとにグルーピングする。 3.グループに名前を付ける。 ©TEF-Do 952020/5/29
  96. 96. つけこみ ©TEF-Do 962020/5/29
  97. 97. つけこみ方 1.テスト対象を整理する。 2.テスト対象ごとにテストケースを割り振 る。 3.カタマリー化する。 ©TEF-Do 972020/5/29
  98. 98. 第3部 完 2020/5/29 ©TEF-Do 98
  99. 99. おわり ©TEF-Do 992020/5/29

×