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

【S2】明日から使えるテスト技法勉強会_4_クラシフィケーションツリー法

 【S2】明日から使えるテスト技法勉強会_4_クラシフィケーションツリー法

こちらはConnpassで開催した「明日から使えるテスト技法勉強会」シーズン2で使用された資料となります。合計7部ありますので、テスト技法にご興味を持つ方は、ぜひご活用いただければ幸いです。

また、本資料中使用されたツールGIHOZ(ギホーズ)は、各種テスト技法を手軽に利用できるクラウド型ツールです。
GIHOZはアカウント登録のみで、すぐに利用が可能です。高品質なテストを効率よく作成するために、熟練のテストエンジニアが利用しているさまざまなテスト技法を手軽に体感してください。

GIHOZに登録されたテスト技法はすべて無償でご利用いただけます。
詳細はこちらまでご確認ください。👉https://www.veriserve.co.jp/gihoz/

GIHOZ SUPPORT TEAM

November 10, 2022
Tweet

More Decks by GIHOZ SUPPORT TEAM

Other Decks in Education

Transcript

  1. 明日から使える 勉強会 #4
    テスト技法
    2022.11.9 19:00~20:00@Zoom

    Classification Tree
    S
    2

    View Slide

  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 名前
    ◼ 田上 諭 (たのうえ さとし)
    ➢ 所属
    ◼ 株式会社ベリサーブ 研究企画開発部
    ➢ 経歴
    ◼ 2018年度に新卒で入社
    ◼ ソリューション事業部
    ◆ 静的解析、セキュリティテスト、自動テスト 1年ほど
    ◼ 研究企画開発部で GIHOZ開発
    ◆ 2019年 ~ 現在
    自己紹介
    1

    View Slide

  3. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ クラシフィケーションツリー法の解説
    ➢ GIHOZについて
    ➢ GIHOZを使ったクラシフィケーションツリー法のハンズオン
    ➢ おわりに
    アジェンダ
    2

    View Slide

  4. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 3
    ➢ クラシフィケーションツリー法の解説

    View Slide

  5. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ テストの入力条件をツリー形式で分類・整理し、テストケースを作成する技法
    ◼ 1993年に、当時のダイムラー・ベンツ社の人が論文にて提案
    ➢ ツリー形式の図で複数の階層を作ることができ、テストの入力条件(パラメータ)を段階的に分類して整理できる
    ◼ 整理したテストの入力条件に組み合わせテスト技法(ペアワイズテストなど)を適用することもできる
    クラシフィケーションツリー法とは
    4
    クラシフィケーションツリー法のイメージ

    View Slide

  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の形式
    5

























    View Slide

  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の形式
    6
    Root(ツリーの根っこ)
    Classification(分類)
    Class(Classification
    に属する要素)
    Classの組み合わせを黒点
    で表現する(横1行が1件の
    組み合わせ)

    View Slide

  8. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の形式
    7

    View Slide

  9. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    1. 何のテストをするのか決定
    2. テストの入力条件の洗い出しと整理
    3. テストカバレッジアイテムの作成
    4. テストケースの作成
    クラシフィケーションツリー法のSTEP
    8

    View Slide

  10. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    飛行機の予約システムで、
    羽田空港から出発する飛行機の予約ができるか
    STEP1 何のテストをするのか決定
    9

    View Slide

  11. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    仕様書やシステムの画面を見て入力条件を洗い出し、
    整理します。
    STEP2 テストの入力条件の洗い出しと整理
    10

    View Slide

  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    入力条件をどのように組み合わせるのか考えます
    STEP3テストカバレッジアイテムの作成
    11

    View Slide

  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    STEP4 テストケースを作成
    12

    View Slide

  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の位置付け
    13
    画像は右記から引用:https://note.com/akiyama924/n/n072e24135964
    この辺りに位置すると思われる
    (同値分割・境界値分析+オール
    ペアなどの組み合わせテスト技法)
    ISTQB Advanced Levelシラバス
    Version 3.1.1.J03には、
    「クラシフィケーションツリーは
    ペアワイズテストと組み合わせて
    使用することが多い」との記載がある

    View Slide

  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 同じ内容をどちらでも表現はできる
    ➢ 特定の条件の組み合わせに応じて動作が変わる、という関係性を整理する際はデシジョンテーブルが使いやすい
    ◼ 「Y」/「N」で組み合わせを指定して、その組み合わせに対する結果を「X」で指定できる
    ➢ 条件やパラメータを洗い出して整理して、特定の網羅基準で組み合わせを自動生成する際は、クラシフィケーショ
    ンツリーが使いやすい
    ◼ 階層構造で整理して親子関係や兄弟関係をチェックすることで、抜け漏れに気付きやすい
    デシジョンテーブルテストとクラシフィケーションツリー法の違い
    14

    View Slide

  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ メリット
    ◼ テストの入力条件をツリー形式で直感的に整理できる
    ◼ テストの入力条件が仕様で明確に整理されていなくても、ツリー形式で洗い出すことができる
    ◼ 組み合わせテスト技法と合わせて使うと、パラメータの整理から組み合わせの生成を一気通貫にでき、テスト
    ケースの作成がスムーズ
    ➢ デメリット
    ◼ クラシフィケーションやクラスが多くなるとツリーが横に長くなって俯瞰性が悪くなり、ツリーの編集やレビューなどを
    やりにくくなる
    ◆ どのようなテストかどうか識別して、なるべく小さくすると良いです。
    ◼ 手軽に使えるツールが日本にはなかった → 今は、GIHOZがあります!
    クラシフィケーションツリー法のメリット・デメリット
    15

    View Slide

  17. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 16
    ➢ GIHOZについて

    View Slide

  18. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    GIHOZのコンセプト
    17
    『GIHOZ』は、ベリサーブが開発しているテスト技法ツールです。
    ソフトウェア開発に関わる全ての人の
    テスト設計の「作業」をゼロにする
    目的に応じた
    テスト技法を選択
    テストモデル・ケースを
    容易に作成・利用
    各種APIによる連携

    View Slide

  19. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    検索&アカウント登録(無料)
    GIHOZを使うには
    18
    GIHOZ
    名前の由来と覚え方
    テスト技法が集まっている → 技法s(複数形) → ギホーズ → GIHOZ

    View Slide

  20. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    GIHOZで利用可能なテスト技法一覧
    19

    View Slide

  21. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 20
    ➢ GIHOZを使ったクラシフィケーションツリー法のハンズオン

    View Slide

  22. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    GIHOZでのクラシフィケーションツリー法の使い方
    21
    クラシフィケーション・クラスを
    ツリー形式の図で整理する
    一覧表形式に変換して、
    期待結果を入力する
    クラスの組み合わせを
    作成する
    クラシフィケーションツリーを作る
    テストカバレッジアイテムを
    作成する
    テストケースを生成する

    View Slide

  23. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 健康ランドの精算システムにおける「割引サービス」に関する仕様
    ◼ [既存の仕様]
    ◆ クーポン持参:10%OFF
    ◆ 平日割引:30%OFF
    ◆ 平日シニア割引(65歳以上):50%OFF
    ◆ 2つ以上の割引サービスが重なった場合は,割引率が高い方が優先される
    ◼ [新たに追加される仕様]
    ◆ 土日祝ジュニア割引(15歳以下):20%OFF
    ✓ 既存の仕様との整合性も考慮しつつ、追加の仕様に関するテストをしたいです
    ✓ 漏れなくテストするために、クラシフィケーションツリー法を用いてテストを整理してください
    例題
    22
    仕様は右記から引用: https://gihyo.jp/dev/serial/01/test_up/0005

    View Slide

  24. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 健康ランドの精算システムにおける「割引サービス」に関する仕様
    ◼ [既存の仕様]
    ◆ クーポン持参:10%OFF
    ◆ 平日割引:30%OFF
    ◆ 平日シニア割引(65歳以上):50%OFF
    ◆ 2つ以上の割引サービスが重なった場合は,割引率が高い方が優先される
    ◼ [新たに追加される仕様]
    ◆ 土日祝ジュニア割引(15歳以下):20%OFF
    クラシフィケーションツリーを作る(クラシフィケーションとクラスの識別)
    23
    仕様は右記から引用: https://gihyo.jp/dev/serial/01/test_up/0005
    クーポンを持参している or していない
    曜日が平日 or それ以外
    年齢が65歳以上 or それ以外
    年齢が15歳以下 or それ以外
    曜日が土日祝日 or それ以外

    View Slide

  25. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 初期データの項目名を変更する
    クラシフィケーションツリーを作る
    24
    ダブルクリックして項目名
    を変更できる

    View Slide

  26. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ クラシフィケーション・クラスを追加する
    ◼ 現状のGIHOZは、上から下に向かってトップダウンでツリーを作成していく
    ◼ 間違えて追加したときは、Deleteキーまたはコンテキストメニューから削除
    クラシフィケーションツリーを作る
    25
    【項目追加のルール】
    ・Rootの下にはクラシフィケーションを追加できる
    ・クラシフィケーションの下にはクラシフィケーション
    またはクラスを追加できる
    (ただし、クラシフィケーションとクラスを同階層に
    混在はできない)
    ・クラスの下には何も追加できない
    Rootの「・・・」をクリックして
    クラシフィケーションを追加
    クラシフィケーションの「・・・」をクリックして
    クラシフィケーションまたはクラスを追加

    View Slide

  27. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 縦線と横線の交点をクリックして、テストカバレッジアイテムに含めるクラスを指定する
    テストカバレッジアイテムを作成する(手動の場合)
    26
    【交点クリック時のルール】
    ・末端のクラシフィケーションの中で、1つのみ
    クラスを指定できる
    ・同一のクラシフィケーションの中で別のクラスの
    縦線をクリックすると、黒点はクリックしたほうに
    移動する(ラジオボタン的な動作)
    [+]アイコンや右クリック
    メニューからテストカバ
    レッジアイテムを追加
    縦線と横線の交点を
    クリックして黒点を追加

    View Slide

  28. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ ワンワイズ(最低限1回ずつ各クラスが登場する)、ペアワイズ(オールペア法)、
    全組み合わせの網羅基準で、組み合わせを自動生成することもできる
    テストカバレッジアイテムを作成する(自動の場合)
    27
    「組み合わせを自動生成」ボタン
    をクリックし、組み合わせを生成

    View Slide

  29. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 最低限1回ずつ各クラスが登場するように組み合わせを生成する
    組み合わせの網羅基準:ワンワイズ
    28
    2行のテストカバレッジアイテムで、
    すべてのクラスが最低限
    1回は登場している

    View Slide

  30. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ ペアワイズ法(オールペア法)による組み合わせを生成する
    ◼ 任意の2つのクラシフィケーション間の、クラスの組み合わせをすべて網羅する
    組み合わせの網羅基準:ペアワイズ
    29
    以下の各クラシフィケーション間の、
    クラスの組み合わせをすべて網羅している
    ・Classification1と2 → 2×2=4パターン
    ・Classification1と3 → 2×2=4パターン
    ・Classification2と3 → 2×2=4パターン

    View Slide

  31. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ クラスの組み合わせをすべて網羅する ※現状のGIHOZは128件が上限
    組み合わせの網羅基準:全組み合わせ
    30
    2×2×2=8パターンの
    組み合わせをすべて
    網羅している

    View Slide

  32. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 「テストケースを生成」をクリックしてテストケースを生成する
    テストケースを生成する
    31
    「テストケースを生成」ボタンをクリック
    「期待結果」は
    自由に入力できる

    View Slide

  33. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ テストカバレッジを編集してテストケースを生成すると、
    テストカバレッジアイテムも内容が変わる
    テストカバレッジアイテムの編集
    32
    ダブルクリックして編集
    テストカバレッジアイテムで
    入力されたものに

    View Slide

  34. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 仕様
    ◼ あるラーメン屋の券売機では、以下のメニューを選択できます。メニューを選択すると、料金の合計が表示されます。
    ◼ ラーメン1杯に対して追加トッピングとサービスを付けられます。2杯以上のラーメンの食券を同時に購入することはできません。
    ◼ ラーメン
    ◆ 醤油ラーメン 490円
    ◆ 味噌ラーメン 640円
    ◆ 豚骨ラーメン 550円
    ◆ つけ麺 610円
    ◼ 追加トッピング
    ◆ 味付玉子 120円
    ◆ チャーシュー 150円
    ◆ 海苔5枚 100円
    ◼ サービス
    ◆ ライス(小)または麺大盛 10円
    ✓ さまざまなメニューの組み合わせで料金が正しく計算されるかをテストするために、クラシフィケーションツリー法でテストケースを作成してください
    ✓ 「ラーメン」「追加トッピング」「サービス」の間には論理的な関連性や制約はないため、テストカバレッジアイテムを作成する際は、「ペアワイズ」を
    指定して組み合わせを生成することとします
    演習問題
    33
    料金
    ¥780

    View Slide

  35. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    解答例
    34
    https://gihoz.com/users/ktanizaki/repositories/workshop/documents/classification_tree/0fd2d1db-2eab-43c7-9e44-8d310d0bc1d4

    View Slide

  36. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 35
    ➢ おわりに

    View Slide

  37. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ クラシフィケーションツリー法について解説&ハンズオンを行いました
    ◼ クラシフィケーションツリー法では、入力条件をツリー形式で直感的に整理できる
    ◼ GIHOZでは、網羅基準を指定して組み合わせ(テストカバレッジアイテム)を自動生成できる
    ➢ パラメータ(入力条件)を整理して組み合わせテストを作る際など、ぜひ実際の業務でもクラシフィケーションツ
    リー法を活用してみてください
    ◼ その際はぜひGIHOZをご利用ください!
    ◼ GIHOZについて改善要望や気になった点などがあれば、ぜひフィードバックをお寄せください
    まとめ
    36

    View Slide

  38. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    宣伝: 料金プラン
    37
    スターター ビジネス
    利用期間制限なし 最低5ユーザから
    年間払いのみ
    46,800円(税込み51,480円)~
    ✓ すべてのテスト技法
    ✓ テストケースのファイル数制限なし
    ✓ 4名までの非公開リポジトリ
    ✓ 人数制限なしの公開リポジトリ
    ✓ スターターのすべての機能
    ✓ オーガニゼーションの管理
    ✓ 5名以上の非公開リポジトリ
    ✓ IPアドレス制限
    1ユーザ 月額 780 円
    法人向け
    個人向け
    ※2022年9月以前からご利用中のお客様は、5名以上参加済みの非公開リポジトリを無料で継続してご利用いただけますが、
    新たなメンバーの追加はできません。
    無料

    View Slide

  39. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    勉強会は以上で終了です。お疲れ様でした。
    38

    View Slide