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
  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 名前 ◼ 田上 諭

    (たのうえ さとし) ➢ 所属 ◼ 株式会社ベリサーブ 研究企画開発部 ➢ 経歴 ◼ 2018年度に新卒で入社 ◼ ソリューション事業部 ◆ 静的解析、セキュリティテスト、自動テスト 1年ほど ◼ 研究企画開発部で GIHOZ開発 ◆ 2019年 ~ 現在 自己紹介 2
  3. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 基本的な使い方の流れ 7 ログインする リポジトリを 選ぶ/作る

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

    ②「リポジトリ作成」を押す ③アルファベット・数字・アンダーバーで入力 ④説明は任意で入力 ⑤実際の業務で使う場合は、基本的には「非公開」を選択。 「公開」を選ぶと、URLを知っている人は テストケースを閲覧できるようになるので、選ぶときは注意
  5. © 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
  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 デシジョンテーブルの形式 13 割引率の決定 1 2

    3 4 タイムサービス時間内 Y Y Y N 対象商品 Y N N - 会員 - Y N - 15%値下げ X - - - 5%値下げ - X - - 値下げ無し - - X X 表見出し部 条件記述部 条件指定部 動作記述部 動作指定部 記述部 指定部 条 件 部 動 作 部
  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ メリット ◼ 入力データや入力条件の組み合わせを網羅的に整理できる ◼

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

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

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

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

    イブニングサービス タイム? ナイトサービス タイム? 対象商品? 会員? 10% 5% 15% 5% 対象商品? 会員? 0% No Yes Yes No No Yes Yes No No No Yes Yes 「イブニングサービスタイム」と 「対象商品」がYesなら、 「会員」の判定処理は無視できる
  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 判定処理の順序が分かっている場合、テーブルを圧縮できる可能性がある ➢ 処理順が分からない場合にむやみに圧縮するとテスト漏れにつながる可能性があるので注意 ◼

    今回の例では、デシジョンテーブルを圧縮して最後に残った7件の組み合わせで、判定処理を網羅できる テーブルを圧縮する際の注意点 31 イブニングサービス タイム? ナイトサービス タイム? 対象商品? 会員? 10% 5% 15% 5% 対象商品? 会員? 0% No Yes Yes No No Yes Yes No No No Yes Yes
  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 階層での条件の入力をうまく活用すれば、有り得ない( 動作が「-」 のみの)列が生成されないようにできる ◼

    この例では、階層を使わない場合に生成されていた以下の組み合わせを、生成されないようにできた ◆ 有り得ない組み合わせ:「イブニングサービスタイム内がY」かつ「ナイトサービスタイム内がY」 条件の組み合わせを指定する(条件を階層を作って入力した場合) 33 子階層の1つがYになるように 組み合わせが生成される
  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ デシジョンテーブルの1列を、1行1件のテストケースに変換して利用する。 ➢ GIHOZ上でデシジョンテーブルから、テストケースに変換可能です。 ➢

    手順にはなっていないため、手順が欲しい場合は、CSVダウンロードして、手順を追 記する必要があります。 ➢ 手順が必要ない場合(自分でテスト実行する場合など)は、動作の箇所にNGや Passなどを記入することでGIHOZ上に記録することも可能です。 デシジョンテーブルを作成した後の活用方法 34
  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ デシジョンテーブルについて解説&ハンズオンを行いました ◼ 入力条件のその組み合わせを網羅的に整理できます ◼

    入力条件の組み合わせに応じた動作結果を整理できます ➢ デシジョンテーブル作成のポイント ◼ 条件と動作を漏れなく識別 ◼ 圧縮をする際には、実装のロジックがどのようになっているかを気にする ◼ 圧縮は利用可能な時間と相談 ➢ GIHOZを使って効率的にデシジョンテーブルを作成していただきたい ◼ 階層構造での整理や、組み合わせの自動生成をぜひ活用してください まとめ 37
  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 株式会社ベリサーブ 研究企画開発部 田上 諭 <[email protected]>

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