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. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  名前  谷﨑 浩一(たにざき

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

    ソフトウェア開発に関わる全ての人の テスト設計の「作業」をゼロにする 手軽にテストケースを 作成・利用 目的に応じて テスト技法を選択 ソフトウェア開発の 効率化に貢献
  3. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 基本的な使い方の流れ 6 ログインする リポジトリを 選ぶ/作る

    テスト技法を選んで テストケースを 作成する/保存する 他のユーザを リポジトリに招待する テストケースを ダウンロードする/ Excel等へコピーする アカウントを 登録する
  4. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 リポジトリを選ぶ/作る 7 ①初期状態では 「MyRepository」のみ 自動で作成されている

    ②「リポジトリ作成」を押す ③アルファベット・数字・アンダーバーで入力 ④説明は任意で入力 ⑤実際の業務で使う場合は、基本的には「非公開」を選択。 「公開」を選ぶと、URLを知っている人は テストケースを閲覧できるようになるので、選ぶときは注意
  5. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  入力パラメータや出力パラメータなどをツリー形式で分類・整理し、組み合わせを定義する技法  1993年に、当時のダイムラー・ベンツ社の人が論文にて提案 

    ツリー形式の図で複数の階層を作ることができ、パラメータを段階的に分類して整理できる  整理したパラメータに組み合わせテスト技法(ペアワイズテストなど)を適用することもできる クラシフィケーションツリー法とは 11 クラシフィケーションツリー法のイメージ
  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 クラシフィケーションツリー法の形式 13 Root(ツリーの根っこ) Classification(分類) Class(Classification

    に属する要素) Classの組み合わせを黒点 で表現する(横1行が1件の 組み合わせ) テストカバレッジアイテムの各行 からテストケースを生成する
  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 クラシフィケーションツリー法の位置づけ 15 画像は右記から引用:https://note.com/akiyama924/n/n072e24135964 このあたりに位置すると思われる (同値分割・境界値分析+オール

    ペアなどの組み合わせテスト技法) ISTQB Advanced Levelシラバス Version 3.1.1.J03には、 「クラシフィケーションツリーは ペアワイズテストと組み合わせて 使用することが多い」との記載がある。
  8. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  同じ内容をどちらでも表現はできる  特定の条件の組み合わせに応じて動作が変わる、という関係性を整理する際はデシジョンテーブルが使いやすい 

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

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

    期待結果を入力する クラスの組み合わせを 作成する ↑ 別の言葉だと、 「因子・水準を洗い出す」 「パラメータと値を整理する」に近い クラシフィケーションツリーを作る テストカバレッジアイテムを 作成する テストケースを生成する
  11. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  健康ランドの精算システムにおける「割引サービス」に関する仕様  [既存の仕様] 

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

    間違えて追加したときは、Deleteキーで削除する クラシフィケーションツリーを作る 23 【項目追加のルール】 ・Rootの下にはクラシフィケーションを追加できる ・クラシフィケーションの下にはクラシフィケーション またはクラスを追加できる (ただし、クラシフィケーションとクラスを同階層に 混在はできない) ・クラスの下には何も追加できない Rootの「・・・」をクリックして クラシフィケーションを追加 クラシフィケーションの「・・・」をクリックして クラシフィケーションまたはクラスを追加
  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  縦線と横線の交点をクリックして、テストカバレッジアイテムに含めるクラスを指定する テストカバレッジアイテムを作成する(手動の場合) 25 【交点クリック時のルール】

    ・末端のクラシフィケーションの中で、1つのみ クラスを指定できる ・同一のクラシフィケーションの中で別のクラスの 縦線をクリックすると、黒点はクリックしたほうに 移動する(ラジオボタン的な動作) [+]アイコンや右クリック メニューからテストカバ レッジアイテムを追加 縦線と横線の交点を クリックして黒点を追加
  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  ペアワイズ法(オールペア法)による組み合わせを生成する  任意の2つのクラシフィケーション間の、クラスの組み合わせをすべて網羅する 組み合わせの網羅基準:ペアワイズ

    28 以下の各クラシフィケーション間の、 クラスの組み合わせをすべて網羅している ・Classification1と2 → 2×2=4パターン ・Classification1と3 → 2×2=4パターン ・Classification2と3 → 2×2=4パターン
  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  クラシフィケーションツリー法について解説&ハンズオンを行いました  クラシフィケーションツリー法では、入力パラメータや出力パラメータをツリー形式で直感的に整理できる 

    GIHOZでは、網羅基準を指定して組み合わせ(テストカバレッジアイテム)を自動生成できる  パラメータを整理して組み合わせテストを作る際など、ぜひ実際の業務でもクラシフィケーションツリー法を活用し てみてください  その際はぜひGIHOZをご利用ください!  GIHOZについて改善要望や気になった点などがあれば、ぜひフィードバックをお寄せください まとめ 33
  17. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  仕様  あるラーメン屋の券売機では、以下のメニューを選択できます。メニューを選択すると、料金の合計が表示されます。 

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