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

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

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

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

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

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

GIHOZ SUPPORT TEAM

September 01, 2022
Tweet

More Decks by GIHOZ SUPPORT TEAM

Other Decks in Education

Transcript

  1. 明日から使える 勉強会 #2
    テスト技法
    2022.01.27 19:00~20:[email protected]

    Classification Tree

    View Slide

  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     名前
     谷﨑 浩一(たにざき こういち)
     所属
     株式会社ベリサーブ 研究企画開発部
     経歴
     テスター歴:約12年
     プリンタ、デジカメ、PCアプリ、クラウドサービス
     統合テスト・システムテストのテスト設計・実行・管理
     プロダクトオーナー歴:約5年
     ソフトウェアテストの設計をサポートするツール
     博士(工学)
    自己紹介
    1

    View Slide

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

    View Slide

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

    View Slide

  5. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    GIHOZのコンセプト
    4
     『GIHOZ』は、ベリサーブが開発したテスト技法ツールです
    ■アカウント登録のみで、すぐに利用が可能です
    ソフトウェア開発に関わる全ての人の
    テスト設計の「作業」をゼロにする
    手軽にテストケースを
    作成・利用
    目的に応じて
    テスト技法を選択
    ソフトウェア開発の
    効率化に貢献

    View Slide

  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     検索&アカウント登録(無料)
    GIHOZを使うには
    5
    ベリサーブ GIHOZ
    名前の覚え方
    技法s(複数形) → ギホーズ → GIHOZ

    View Slide

  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    基本的な使い方の流れ
    6
    ログインする
    リポジトリを
    選ぶ/作る
    テスト技法を選んで
    テストケースを
    作成する/保存する
    他のユーザを
    リポジトリに招待する
    テストケースを
    ダウンロードする/
    Excel等へコピーする
    アカウントを
    登録する

    View Slide

  8. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    リポジトリを選ぶ/作る
    7
    ①初期状態では
    「MyRepository」のみ
    自動で作成されている
    ②「リポジトリ作成」を押す
    ③アルファベット・数字・アンダーバーで入力
    ④説明は任意で入力
    ⑤実際の業務で使う場合は、基本的には「非公開」を選択。
    「公開」を選ぶと、URLを知っている人は
    テストケースを閲覧できるようになるので、選ぶときは注意

    View Slide

  9. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    テスト技法を選んでテストケースを作成する/保存する
    8
    ①「新規作成」を押す
    ②使いたいテスト技法の「作成」を押す

    View Slide

  10. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     各テスト技法の使い方はのちほど説明します
    テスト技法を選んでテストケースを作成する/保存する
    9
    ②自動保存ではないため、
    「保存」ボタンを押すのを忘れないように注意
    ①任意の名前を入力
    ③「一覧」を押すと
    テストケース一覧に戻る

    View Slide

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

    View Slide

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

    View Slide

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

























    View Slide

  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の形式
    13
    Root(ツリーの根っこ)
    Classification(分類)
    Class(Classification
    に属する要素)
    Classの組み合わせを黒点
    で表現する(横1行が1件の
    組み合わせ)
    テストカバレッジアイテムの各行
    からテストケースを生成する

    View Slide

  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の形式
    14
     GIHOZで生成できるテストケースは以下の形式
    期待結果は手動入力
    テストカバレッジアイテムの各行が
    テストケースの各行に対応する

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    クラシフィケーションツリー法の使い方
    19
    クラシフィケーション・クラスを
    ツリー形式の図で整理する
    一覧表形式に変換して、
    期待結果を入力する
    クラスの組み合わせを
    作成する
    ↑ 別の言葉だと、
    「因子・水準を洗い出す」
    「パラメータと値を整理する」に近い
    クラシフィケーションツリーを作る
    テストカバレッジアイテムを
    作成する
    テストケースを生成する

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  25. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     上下や左右を見て、漏れや重複がないかを確認すると良い
    クラシフィケーションツリーを作る
    24

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  33. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     https://gihoz.hatenablog.com/
     アップデート情報など随時更新中
    GIHOZ公式ブログの紹介
    32

    View Slide

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

    View Slide

  35. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 34
     演習問題

    View Slide

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

    View Slide

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

    View Slide

  38. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    【当社問い合わせ窓口】
    お問い合わせフォーム:https://contact.veriserve.co.jp/public/application/add/2187
    メール:[email protected]
    お問い合わせ対応時間:10時~17時
    GIHOZ 検索
    ご閲覧ありがとうございました。
    本資料に関するお問い合わせは下記までご連絡ください。

    View Slide