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

明日から使えるテスト技法勉強会_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:[email protected]

    Decision Table

    View Slide

  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     名前
     谷﨑 浩一(たにざき こういち)
     所属
     株式会社ベリサーブ 研究企画開発部
     経歴
     テスター歴:約12年
     プリンタ、デジカメ、PCアプリ、クラウドサービス
     統合テスト・システムテストのテスト設計・実行・管理
     プロダクトオーナー歴:約4年半
     ソフトウェアテストの設計をサポートするツール
     博士(工学)
    自己紹介
    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 会社名・製品名・サービス名は、各社の登録商標または商標です。
     入力データや入力条件の組み合わせに対する処理や出力結果をテーブルにまとめるもの
     1958年頃にGeneral Electric社やSutherland社で考案され、1960年代にはテスト設計への応用事例が発表されている
     日本では、JIS X 0125:1986で「決定表」という名前で規格化されている
     自然言語で書かれた仕様を論理的に整理する場合に利用できる
     デシジョンテーブルに基づいてテストケースを作成する技法を「デシジョンテーブルテスト」と呼ぶ
    デシジョンテーブルとは
    11
    デシジョンテーブルのイメージ
    参考:デシジョンテーブルテストの歴史 http://a-lifelong-tester.cocolog-nifty.com/blog/2011/10/post-398b.html

    View Slide

  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    デシジョンテーブルの形式
    12
    割引率の決定 1 2 3 4
    タイムサービス時間内 Y Y Y N
    対象商品 Y N N -
    会員 - Y N -
    15%値下げ X - - -
    5%値下げ - X - -
    値下げ無し - - X X
    表見出し部
    条件記述部 条件指定部
    動作記述部 動作指定部
    記述部 指定部






    View Slide

  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    デシジョンテーブルの位置づけ
    13
    引用:https://note.com/akiyama924/n/n072e24135964
    Black box・White boxの
    どちらでも、網羅的に
    テスト設計するのに活用できる

    View Slide

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

    View Slide

  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 15
     GIHOZを使ったデシジョンテーブル作成のハンズオン

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ↓圧縮できるかどうか判断するには、判定処理がどのような順番で実施されているかが重要
     仕様
     あるショップでタイムサービスによる割引を実施している
     18時から20時までをイブニングサービスタイム、20時から22時までをナイトサービスタイムとし、サービ
    スタイムの対象商品は、イブニングサービスタイムには10%の割引価格、ナイトサービスタイムには
    15%の割引価格となる
     対象商品の割引価格は、ショップの会員・非会員ともに上記の通りとなる
     ショップの会員に限り、サービスタイム時間内であれば、会員特典として対象商品以外の商品も、
    5%の割引価格となる
    ※判定処理はこの仕様記載順に行われる。
    テーブルを整理する(テーブルを圧縮する)
    25

    View Slide

  27. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     最後に判定処理が行われる条件(今回だと一番下の条件)に着目して、YでもNでも結果が変わらないところ
    を探す
    テーブルを整理する(テーブルを圧縮する)
    26
    No.1とNo.2は、「会員」がYでもNでも10%割引
    という結果になるので、「会員」は「‐」にしてまとめられる
    「会員」の値を削除し1列削除すれば、
    まとめた形になる

    View Slide

  28. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     例えば下図のような判定処理(仕様記載順での判定処理)になっていれば、前ページのように圧縮してもテス
    トは漏れない
    テーブルを整理する(テーブルを圧縮する)
    27
    イブニングサービス
    タイム?
    ナイトサービス
    タイム?
    対象商品?
    会員?
    10%
    5%
    15% 5%
    対象商品?
    会員?
    0%
    No
    Yes
    Yes
    No
    No
    Yes
    Yes
    No
    No
    No
    Yes
    Yes
    「イブニングサービスタイム」と
    「対象商品」がYesなら、
    「会員」の判定処理は無視できる

    View Slide

  29. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    テーブルを整理する(テーブルを圧縮する)
    28
    No.4とNo.5、No.8とNo.9、No.10とNo.11は、
    「会員」がYでもNでも同じ結果になるので、
    「会員」は「‐」にしてまとめられる

    View Slide

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

    View Slide

  31. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     判定処理の順序が分かっている場合、テーブルを圧縮できる可能性がある
     処理順が分からない場合にむやみに圧縮するとテスト漏れに繋がる可能性があるので注意
     今回の例では、デシジョンテーブルを圧縮して最後に残った7件の組み合わせで、判定処理を網羅できる
    テーブルを圧縮する際の注意点
    30
    イブニングサービス
    タイム?
    ナイトサービス
    タイム?
    対象商品?
    会員?
    10%
    5%
    15% 5%
    対象商品?
    会員?
    0%
    No
    Yes
    Yes
    No
    No
    Yes
    Yes
    No
    No
    No
    Yes
    Yes

    View Slide

  32. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     組み合わせの自動生成でありえない組み合わせが生成されないように、階層を作って入力することができる
     自動生成を考慮しなくても、階層構造で整理するためだけに階層を作ってもよい
    条件を入力する(階層を作って入力する場合)
    31
    条件を入力したセルの[+]アイコンを押す
    子階層に条件を入力する
    同値分割の考え方を使うと良い

    View Slide

  33. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     階層での条件の入力をうまく活用すれば、ありえない( 動作が「-」 のみの)列が生成されないようにできる
     この例では、階層を使わない場合に生成されていた以下の組み合わせを、生成されないようにできた
     ありえない組み合わせ:「イブニングサービスタイム内がY」かつ「ナイトサービスタイム内がY」
    条件の組み合わせを指定する(条件を階層を作って入力した場合)
    32
    子階層の1つがYになるように
    組み合わせが生成される

    View Slide

  34. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     デシジョンテーブルの動作指定部の下に結果入力欄を設けて直接結果を記入
     デシジョンテーブルだけだと手順の記載がないので、手順は別に用意
    ※集計しづらかったのでおすすめはしません
     デシジョンテーブルの1列を、1行1件のテストケースに変換して利用
     Excelのマクロや任意のプログラミング言語で実施
    ※GIHOZで作成したデシジョンテーブルは、以下で公開しているPythonのスクリプト
    で1行1件の形式に変換できます
     https://github.com/ktanizaki/gihoz-utilities
    デシジョンテーブルを作成した後の活用方法
    33

    View Slide

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

    View Slide

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

    View Slide

  37. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
     デシジョンテーブルについて解説&ハンズオンを行った
     入力条件とその組み合わせを網羅的に整理できる
     入力条件の組み合わせに応じた動作結果を整理できる
     判定処理順が分かっていれば、デシジョンテーブルを圧縮できる可能性がある
     GIHOZを使って効率的にデシジョンテーブルを作成していただきたい
     階層構造での整理や、組み合わせの自動生成をぜひ活用してください
    まとめ
    36

    View Slide

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

    View Slide