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

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

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

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

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

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

GIHOZ SUPPORT TEAM

September 21, 2022
Tweet

More Decks by GIHOZ SUPPORT TEAM

Other Decks in Education

Transcript

  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
    動作
    × × × × - -
    - - - - × -
    - - - - - ×
    テスト技法
    2022.7.28 19:00~20:00@Zoom

    Decision Table
    S
    2

    View full-size slide

  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    株式会社ベリサーブ
    研究企画開発部
    田上 諭
    明日から使えるテスト技法勉強会
    ~ゼロからデシジョンテーブルの達人になる~
    2022年7月28日

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  11. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    テスト技法を選んでテストケースを作成する/保存する
    10
    ③「一覧」を押すと
    テストケース一覧に戻る ②トグルスイッチで自動保
    存のOn/Offを切り替え
    ①任意の名前を入力

    View full-size slide

  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 11
    ➢ デシジョンテーブルの解説

    View full-size slide

  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ 入力データや入力条件の組み合わせに対する処理や出力結果をテーブルにまとめるもの
    ◼ 1958年頃にGeneral Electric社やSutherland社で考案され、1960年代にはテスト設計への応用事例が発表されている
    ◼ 日本では、JIS X 0125:1986で「決定表」という名前で規格化されている
    ➢ 自然言語で書かれた仕様を論理的に整理する場合に利用できる
    ➢ デシジョンテーブルに基づいてテストケースを作成する技法を「デシジョンテーブルテスト」と呼ぶ
    デシジョンテーブルとは
    12
    デシジョンテーブルのイメージ
    参考:デシジョンテーブルテストの歴史 http://a-lifelong-tester.cocolog-nifty.com/blog/2011/10/post-398b.html

    View full-size slide

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






    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  35. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ デシジョンテーブルの1列を、1行1件のテストケースに変換して利用する。
    ➢ GIHOZ上でデシジョンテーブルから、テストケースに変換可能です。
    ➢ 手順にはなっていないため、手順が欲しい場合は、CSVダウンロードして、手順を追
    記する必要があります。
    ➢ 手順が必要ない場合(自分でテスト実行する場合など)は、動作の箇所にNGや
    Passなどを記入することでGIHOZ上に記録することも可能です。
    デシジョンテーブルを作成した後の活用方法
    34

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  38. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    ➢ デシジョンテーブルについて解説&ハンズオンを行いました
    ◼ 入力条件のその組み合わせを網羅的に整理できます
    ◼ 入力条件の組み合わせに応じた動作結果を整理できます
    ➢ デシジョンテーブル作成のポイント
    ◼ 条件と動作を漏れなく識別
    ◼ 圧縮をする際には、実装のロジックがどのようになっているかを気にする
    ◼ 圧縮は利用可能な時間と相談
    ➢ GIHOZを使って効率的にデシジョンテーブルを作成していただきたい
    ◼ 階層構造での整理や、組み合わせの自動生成をぜひ活用してください
    まとめ
    37

    View full-size slide

  39. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。
    株式会社ベリサーブ
    研究企画開発部 田上 諭

    TEL:03-6629-8540
    東京都千代田区神田三崎町3-1-16 神保町北東急ビル 9F
    ベリサーブ 検索
    ご清聴ありがとうございました。
    本発表に関するお問い合わせは下記までご連絡ください。

    View full-size slide