$30 off During Our Annual Pro Sale. View Details »

明日から使えるテスト技法勉強会_1_デシジョンテーブル

 明日から使えるテスト技法勉強会_1_デシジョンテーブル

こちらは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. 明日から使える 勉強会 #1 ルール 1 2 3 4 5 6

    条件 Y Y Y N N N Y N N Y N N N Y N N Y N N N Y N N Y 動作 × × × × - - - - - - × - - - - - - × テスト技法 2021.11.24 19:00~20:00@Zoom 木 Decision Table
  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  名前  谷﨑 浩一(たにざき

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

    GIHOZを使ったデシジョンテーブル作成のハンズオン  おわりに アジェンダ 2
  4. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 3  GIHOZについて

  5. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 GIHOZのコンセプト 4  『GIHOZ』は、ベリサーブが開発したテスト技法ツールです ▪アカウント登録のみで、すぐに利用が可能です

    ソフトウェア開発に関わる全ての人の テスト設計の「作業」をゼロにする 手軽にテストケースを 作成・利用 目的に応じて テスト技法を選択 ソフトウェア開発の 効率化に貢献
  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  検索&アカウント登録(無料) GIHOZを使うには 5 ベリサーブ

    GIHOZ 名前の覚え方 技法s(複数形) → ギホーズ → GIHOZ
  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 基本的な使い方の流れ 6 ログインする リポジトリを 選ぶ/作る

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

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

  10. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  各テスト技法の使い方はのちほど説明します テスト技法を選んでテストケースを作成する/保存する 9 ②自動保存ではないため、

    「保存」ボタンを押すのを忘れないように注意 ①任意の名前を入力 ③「一覧」を押すと テストケース一覧に戻る
  11. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 10  デシジョンテーブルの解説

  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  入力データや入力条件の組み合わせに対する処理や出力結果をテーブルにまとめるもの  1958年頃にGeneral Electric社やSutherland社で考案され、1960年代にはテスト設計への応用事例が発表されている

     日本では、JIS X 0125:1986で「決定表」という名前で規格化されている  自然言語で書かれた仕様を論理的に整理する場合に利用できる  デシジョンテーブルに基づいてテストケースを作成する技法を「デシジョンテーブルテスト」と呼ぶ デシジョンテーブルとは 11 デシジョンテーブルのイメージ 参考:デシジョンテーブルテストの歴史 http://a-lifelong-tester.cocolog-nifty.com/blog/2011/10/post-398b.html
  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 デシジョンテーブルの形式 12 割引率の決定 1 2

    3 4 タイムサービス時間内 Y Y Y N 対象商品 Y N N - 会員 - Y N - 15%値下げ X - - - 5%値下げ - X - - 値下げ無し - - X X 表見出し部 条件記述部 条件指定部 動作記述部 動作指定部 記述部 指定部 条 件 部 動 作 部
  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 デシジョンテーブルの位置づけ 13 引用:https://note.com/akiyama924/n/n072e24135964 Black box・White

    boxの どちらでも、網羅的に テスト設計するのに活用できる
  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  メリット  入力データや入力条件の組み合わせを網羅的に整理できる 

    組み合わせに応じた動作結果を指定することで、仕様を論理的に整理できる  上手に圧縮するとテストの件数を減らすことができる  デメリット  入力データや入力条件が多いと表が大きくなりがち  下手に圧縮するとテスト漏れに繋がる デシジョンテーブルのメリット・デメリット 14
  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 15  GIHOZを使ったデシジョンテーブル作成のハンズオン

  17. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 デシジョンテーブルの作り方 16 条件を入力する 動作を入力する 条件の組み合わせ

    を指定する 条件の組み合わせ に応じた動作を 指定する テーブルを 整理する
  18. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  仕様  あるショップでタイムサービスによる割引を実施している 

    18時から20時までをイブニングサービスタイム、20時から22時までをナイトサービスタイムとし、サービ スタイムの対象商品は、イブニングサービスタイムには10%の割引価格、ナイトサービスタイムには 15%の割引価格となる  対象商品の割引価格は、ショップの会員・非会員ともに上記の通りとなる  ショップの会員に限り、サービスタイム時間内であれば、会員特典として対象商品以外の商品も、 5%の割引価格となる ※判定処理はこの仕様記載順に行われる。  上記の仕様もとに、デシジョンテーブルを作成してください デシジョンテーブルの例題 17
  19. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ↓仕様をよく読むと、黄色の部分が条件、水色の部分が動作に該当することが分かる  仕様  あるショップでタイムサービスによる割引を実施している

     18時から20時までをイブニングサービスタイム、20時から22時までをナイトサービスタイムとし、サービ スタイムの対象商品は、イブニングサービスタイムには10%の割引価格、ナイトサービスタイムには 15%の割引価格となる  対象商品の割引価格は、ショップの会員・非会員ともに上記の通りとなる  ショップの会員に限り、サービスタイム時間内であれば、会員特典として対象商品以外の商品も、 5%の割引価格となる ※判定処理はこの仕様記載順に行われる。 条件と動作を識別する 18
  20. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 条件を入力する 19 この[+]アイコンは後で説明します 右クリックメニューから、 行を途中に挿入もできる

    [+]アイコンで行を追加
  21. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 動作を入力する 20 右クリックメニューから、 行を途中に挿入もできる [+]アイコンで行を追加

  22. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 条件の組み合わせを指定する 21 「組み合わせを生成」を押すと、 組み合わせが自動生成される セルをダブルクリックすると、

    Y/Nを手動で選択できる。 任意の文字の入力もできる
  23. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 条件の組み合わせに応じた動作を指定する 22 セルをダブルクリックすると、Xを選択できる 任意の文字の入力もできる

  24. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  ありえない( 動作が「-」 のみの)列を削除する テーブルを整理する(ありえない組み合わせを除外)

    23 削除したい列を選択して、 右クリックメニューから「列を削除」を選択する
  25. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  ありえない列や、作成したが何らかの理由で不要な列などは、チェックを外してグレーアウトすることもできる  グレーアウトした理由などをコメントとして残す機能は、現在検討中 テーブルを整理する(ありえない組み合わせを除外)

    24 チェックを外すと、グレーアウトされる
  26. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ↓圧縮できるかどうか判断するには、判定処理がどのような順番で実施されているかが重要  仕様  あるショップでタイムサービスによる割引を実施している

     18時から20時までをイブニングサービスタイム、20時から22時までをナイトサービスタイムとし、サービ スタイムの対象商品は、イブニングサービスタイムには10%の割引価格、ナイトサービスタイムには 15%の割引価格となる  対象商品の割引価格は、ショップの会員・非会員ともに上記の通りとなる  ショップの会員に限り、サービスタイム時間内であれば、会員特典として対象商品以外の商品も、 5%の割引価格となる ※判定処理はこの仕様記載順に行われる。 テーブルを整理する(テーブルを圧縮する) 25
  27. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  最後に判定処理が行われる条件(今回だと一番下の条件)に着目して、YでもNでも結果が変わらないところ を探す テーブルを整理する(テーブルを圧縮する) 26

    No.1とNo.2は、「会員」がYでもNでも10%割引 という結果になるので、「会員」は「‐」にしてまとめられる 「会員」の値を削除し1列削除すれば、 まとめた形になる
  28. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  例えば下図のような判定処理(仕様記載順での判定処理)になっていれば、前ページのように圧縮してもテス トは漏れない テーブルを整理する(テーブルを圧縮する) 27

    イブニングサービス タイム? ナイトサービス タイム? 対象商品? 会員? 10% 5% 15% 5% 対象商品? 会員? 0% No Yes Yes No No Yes Yes No No No Yes Yes 「イブニングサービスタイム」と 「対象商品」がYesなら、 「会員」の判定処理は無視できる
  29. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 テーブルを整理する(テーブルを圧縮する) 28 No.4とNo.5、No.8とNo.9、No.10とNo.11は、 「会員」がYでもNでも同じ結果になるので、 「会員」は「‐」にしてまとめられる

  30. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  まとめた結果、「最後に判定処理が行われる条件がYでもNでも結果が変わらないところ」が新たに生まれたので、再度まとめる テーブルを整理する(テーブルを圧縮する) 29 No.7とNo.8は

    「対象商品」がYでもNでも同じ結果になるので、 「対象商品」は「‐」にしてまとめられる
  31. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  判定処理の順序が分かっている場合、テーブルを圧縮できる可能性がある  処理順が分からない場合にむやみに圧縮するとテスト漏れに繋がる可能性があるので注意 

    今回の例では、デシジョンテーブルを圧縮して最後に残った7件の組み合わせで、判定処理を網羅できる テーブルを圧縮する際の注意点 30 イブニングサービス タイム? ナイトサービス タイム? 対象商品? 会員? 10% 5% 15% 5% 対象商品? 会員? 0% No Yes Yes No No Yes Yes No No No Yes Yes
  32. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  組み合わせの自動生成でありえない組み合わせが生成されないように、階層を作って入力することができる  自動生成を考慮しなくても、階層構造で整理するためだけに階層を作ってもよい 条件を入力する(階層を作って入力する場合)

    31 条件を入力したセルの[+]アイコンを押す 子階層に条件を入力する 同値分割の考え方を使うと良い
  33. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  階層での条件の入力をうまく活用すれば、ありえない( 動作が「-」 のみの)列が生成されないようにできる 

    この例では、階層を使わない場合に生成されていた以下の組み合わせを、生成されないようにできた  ありえない組み合わせ:「イブニングサービスタイム内がY」かつ「ナイトサービスタイム内がY」 条件の組み合わせを指定する(条件を階層を作って入力した場合) 32 子階層の1つがYになるように 組み合わせが生成される
  34. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  デシジョンテーブルの動作指定部の下に結果入力欄を設けて直接結果を記入  デシジョンテーブルだけだと手順の記載がないので、手順は別に用意 ※集計しづらかったのでおすすめはしません

     デシジョンテーブルの1列を、1行1件のテストケースに変換して利用  Excelのマクロや任意のプログラミング言語で実施 ※GIHOZで作成したデシジョンテーブルは、以下で公開しているPythonのスクリプト で1行1件の形式に変換できます  https://github.com/ktanizaki/gihoz-utilities デシジョンテーブルを作成した後の活用方法 33
  35. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 34  おわりに

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

    35
  37. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  デシジョンテーブルについて解説&ハンズオンを行った  入力条件とその組み合わせを網羅的に整理できる 

    入力条件の組み合わせに応じた動作結果を整理できる  判定処理順が分かっていれば、デシジョンテーブルを圧縮できる可能性がある  GIHOZを使って効率的にデシジョンテーブルを作成していただきたい  階層構造での整理や、組み合わせの自動生成をぜひ活用してください まとめ 36
  38. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 【当社問い合わせ窓口】 お問い合わせフォーム:https://contact.veriserve.co.jp/public/application/add/2187 メール:support@gihoz.com お問い合わせ対応時間:10時~17時 GIHOZ

    検索 ご閲覧ありがとうございました。 本資料に関するお問い合わせは下記までご連絡ください。