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

明日から使えるテスト技法勉強会_3_ペアワイズテスト

 明日から使えるテスト技法勉強会_3_ペアワイズテスト

こちらは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. 明日から使える 勉強会 #3 テスト技法 2022.2.24 19:00~20:00@Zoom 木 ペアワイズテストの基本と応用

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

    こういち)  所属  株式会社ベリサーブ 研究企画開発部  経歴  テスター歴:約14年  プリンタ、デジカメ、PCアプリ、クラウドサービス  統合テスト・システムテストのテスト設計・実行・管理  プロダクトオーナー歴:約5年  ソフトウェアテストの設計をサポートするツール  博士(工学) 自己紹介 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 ①行をクリックして選択

    ※CtrlキーやShiftキーを押しながら クリックで複数選択も可能 ②コピーアイコンを クリック ③コピー先のリポジトリを 選択してコピーを作成
  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  保存済みのテストケースに対して、レビュー結果やテスト設計の意図などをコメントすることができます テストケースにコメントを投稿する 11 ①吹き出し型の

    アイコンを押す ②コメントを書いて 「投稿」を押す
  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 12  ペアワイズテストの解説

  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  組み合わせテスト技法の1つ。オールペア法とも呼ぶ。  すべての組み合わせは網羅せず、「任意の2つのパラメータ間の値の組み合わせが 1つ以上存在する」ように、最小限の組み合わせ数にてテストを設計する技法

     アルゴリズムは一通りではない。 ペアワイズテストとは 13 Keyword: •パラメータ(因子): テスト対象の入力条件などのパラメータ •値(水準): パラメータが取り得る値
  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ペアワイズテストの例:4パラメータ・3値の場合 14 No. 着信音 待受け画面

    バイブ設定 マナーモード 1 電子音 標準画面 ON ON 2 電子音 カレンダー OFF OFF 3 電子音 動画 オリジナル カスタマイズ 4 鐘の音 標準画面 オリジナル OFF 5 鐘の音 カレンダー ON カスタマイズ 6 鐘の音 動画 OFF ON 7 黒電話の音 標準画面 OFF カスタマイズ 8 黒電話の音 カレンダー オリジナル ON 9 黒電話の音 動画 ON OFF 全組み合わせを網羅すると、 3×3×3×3=81パターン のテストケースが必要。 ペアワイズテストでは、最小 で9パターンのテストケースで 2パラメータ間の値の組み合 わせを網羅できる。 パラメータ 値1 値2 値3 着信音 電子音 鐘の音 黒電話の音 待受け画面 標準画面 カレンダー 動画 バイブ設定 ON OFF オリジナル マナーモード ON OFF カスタマイズ
  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ペアワイズテストの位置づけ 15 https://note.com/akiyama924/n/n072e24135964 より引用 Black

    boxテストで パラメータ・値の 組み合わせを網羅的 にテストする際に 活用できる
  17. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  1980年代から研究開発されてきた 組み合わせテスト技法の歴史 16 http://a-lifelong-tester.cocolog-nifty.com/blog/2012/04/1-db26.html

    より引用
  18. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 直交表とペアワイズテストの違い 17 直交表 ペアワイズテスト 組み合わせ基準

    2パラメータ間の組み合わせ が「同一回数」存在する 2パラメータ間の組み合わせ が「1つ以上」存在する 生成される テストケース数 ペアワイズテストより多い 直交表より少ない 3パラメータ以上の 組み合わせ 3パラメータ以上の組み合わ せもある程度出現する 3パラメータ以上の組み合わ せ網羅率は低い テストケース 生成 手動でも可能 ツールもあるがペアワイズ テストより入手は困難 手動では困難 ツールの入手、利用が容易
  19. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 GIHOZ以外のペアワイズテストのツール 18 ツール 説明 PICT

    Microsoftが開発した組み合わせ生成ツール。 CIT-BACH 大阪大学の土屋達弘教授が開発した組み合わせ生成ツール。 PictMaster 岩通ソフトシステム株式会社が開発したExcelベースの組み合わせ 生成ツール。組み合わせ生成エンジンはPICTとCIT-BACHを利用。 Qumias Plus バルテス株式会社が開発した、Webブラウザベースの組み合わせ生成 ツール。 PICT-PAPP ベリサーブの林祥一氏が開発したExcelベースの組み合わせ生成 ツール。組み合わせ生成エンジンはPICTとCIT-BACHを利用。
  20. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  メリット  パラメータ・値の組み合わせが多すぎる場合に、一定の網羅性を確保した上で組み合わせ を絞り込むことができる

     注意点  パラメータの取りうる値の数が多いと、パラメータの数が少なくても、組み合わせの数が膨大 になる  その場合、同値分割などの考え方を適用して、値の数を減らす工夫が必要  すべての組み合わせをテストするわけではないので、「ペアワイズテストで組み合わせを生成 してテストしたから100%問題ない」とは言い切れない  使いどころを間違えるとテストの漏れに繋がる可能性がある ペアワイズテストのメリット・注意点 19
  21. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  一見関連のないパラメータでも組み合わさったときに思わぬ不具合が起きるかもしれ ないから組み合わせてテストしたい、というときに使うと効果的(いわゆる「無則」な場 合) 

    「無則」な場合は、多くのパラメータ・値の組み合わせを全網羅すると膨大になるの で、ペアワイズテストなどの組み合わせテスト技法を使って現実的に実施可能なテス トケース数に抑えると良い  「有則」な場合(パラメータ間の論理的な関係が明確な場合)は、デシジョンテー ブルなどを使って、テストすべき組み合わせを整理すると良い ペアワイズテストの使いどころ 20
  22. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 2パラメータ間の組み合わせ網羅で良い(ということにする)理由 21 出典:D. R. Kuhn,

    D. R. Wallace and A. M. Gallo, "Software fault interactions and implications for software testing," in IEEE Transactions on Software Engineering, vol. 30, no. 6, pp. 418-421, June 2004, doi: 10.1109/TSE.2004.24.  バグの要因になるパラメータの数について、 以下の研究結果が知られている  バグの約70%は2つ以内のパラメータの組み 合わせによって発生している  バグの約90%は3つ以内のパラメータの組み 合わせによって発生している
  23. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 22  GIHOZを使ったペアワイズテストのハンズオン

  24. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 GIHOZのペアワイズテストの使い方 23 パラメータと値を 入力する 制約表/制約式を

    入力する ※任意 組み合わせを 生成する 組み合わせの オプションを設定する ※任意
  25. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  テスト対象の仕様  ベリサーブ家具屋は木材・サイズ・塗装方法を選んでテーブルを注文できるWebシステムを持っています。 

    木材、サイズ、塗装方法は以下から選択できます。  ただし、木材がヒノキの場合は、サイズとして、中と大しか選べません  お題  2パラメータ間の組み合わせ網羅のテストを行って、エラーなく注文できることを確認したいです。  GIHOZで制約表または制約式を使い、ペアワイズ法で組み合わせを生成してください。  組み合わせを生成する際は、なるべく少ない件数の組み合わせになるように工夫してください。  ※ヒント:「生成方法」のオプション設定を使う ペアワイズテストの例題① 24 木材 サイズ 塗装方法 ナラ 小 ウレタン塗装 ウォールナット 中 UV塗装 チェリー 大 オイル塗装 ヒノキ
  26. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  まず初期データを削除する パラメータと値を入力する 25 初期データが入っているので、

    全選択して右クリックメニュー から「行を削除」を選択
  27. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 パラメータと値を入力する 26 パラメータと値を入力する (Excelなどの表計算ソフトと 同じように入力できる。行・列

    は文字を入力していくと勝手 に増える)
  28. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 【余談】「パラメータと値」の表の形式 27  社内でアンケートをとってみた結果、GIHOZと同じ形式(②)が多かった

  29. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  制約表で入力する場合 制約表/制約式を入力する 28 【制約表の記入ルール】

    ・Ifの列には値を1つだけ入力できる ・Thenの列で複数の値を指定する場合は、 半角カンマ区切りで値を入力する ・Thenの列で除外したい値を指定する場合は、 先頭に”#”を入力する ①「制約の使用」のトグル をクリックしてONにする ②「制約表」を選択して 「制約を入力」を押す ③制約を入力する
  30. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  制約式で入力する場合 制約表/制約式を入力する 29 ①「制約の使用」のトグル

    をクリックしてONにする ②「制約式」を選択して 「制約を入力」を押す ③制約式を入力する ④制約式の書式の詳細を 知りたい場合は、「PICT形式 の詳細を見る」を押す
  31. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  「組み合わせるパラメータ数」と「生成方法」を指定する 組み合わせのオプションを設定する 30 【生成方法のルール】

    ・デフォルト:PICTのデフォルト設定で組み合わせを生成する。 ・ランダム生成:任意のシード値を指定して組み合わせを生成する。 シード値を変えると、組み合わせの結果が変わる。0~9999までの 整数値を入力可能。 ・最小の組み合わせを探索:指定の回数分の組み合わせ生成を 繰り返して、最小件数の組み合わせを生成する。1~99までの整 数値を入力可能。 ①「オプションの使用」のトグル をクリックしてONにする ②組み合わせるパラメータ数は、 1~5の整数値を入力可能 ③生成方法を選択する。 例題1では「なるべく少ない件数の 組み合わせになるように」との指定 があったので、「最小の組み合わせ を探索」を指定
  32. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 組み合わせを生成する 31 ①「テストケースを生成」を押す ②制約表か制約式を正しく 入力できていれば、制約付きで

    組み合わせが生成される ③「最小の組み合わせを探索」を 指定していれば、12件の 組み合わせが生成される(はず)
  33. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  テスト対象の仕様  前述のベリサーブ家具屋のWebシステムに仕様の追加があり、以下の赤字の部分が選択可能になりました。 

    木材、サイズ、塗装方法は以下から選択できます。  ただし、木材がヒノキかパインの場合は、サイズとして、中と大しか選べません  お題  2パラメータ間の組み合わせ網羅のテストを行って、エラーなく注文できることを確認したいです。  GIHOZで制約表または制約式を使い、ペアワイズ法で組み合わせを生成してください。  すでにテスト実行が始まっており、例題1で作成した組み合わせについてはテストを実施済みのため、それらの組み合わ せはそのままで、追加になった値に関して組み合わせを追加したいです。  ※ヒント:「特定の組み合わせを含める」のオプション設定を使う ペアワイズテストの例題② 32 木材 サイズ 塗装方法 ナラ 小 ウレタン塗装 ウォールナット 中 UV塗装 チェリー 大 オイル塗装 ヒノキ 特大 パイン
  34. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 パラメータと値を入力する 33 ①追加になったパラメータを 追記 ②「パラメータと値」の表を編集

    すると「制約の使用」のトグルは いったんOFFになる
  35. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  制約表で入力する場合 制約表/制約式を入力する 34 ①「制約の使用」のトグル

    をクリックしてONにする ②追加になった制約を 追記する 【制約表の記入ルール】 ・Ifの列には値を1つだけ入力できる ・Thenの列で複数の値を指定する場合は、 半角カンマ区切りで値を入力する ・Thenの列で除外したい値を指定する場合は、 先頭に”#”を入力する
  36. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  制約式で入力する場合 制約表/制約式を入力する 35 ①「制約の使用」のトグル

    をクリックしてONにする ②「制約式」を選択する ③追加になった条件を 制約式に追記する ④制約式の書式の詳細を 知りたい場合は、「PICT形式 の詳細を見る」を押す
  37. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  「特定の組み合わせを含める」を指定する 組み合わせのオプションを設定する 36 ③生成方法を選択する

    ①1行目にパラメータの名称を入力する ②2行目以下に、生成時に含めたい組み 合わせを入力する。例題2では、「例題1で 作成した組み合わせはそのままにしたい」と いうお題があったので、例題1で作成した 「生成結果」を丸ごとコピペする。
  38. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 組み合わせを生成する 37 ①「テストケースを生成」を押す ③制約表か制約式を正しく 入力できていれば、制約付きで

    組み合わせが生成される ②「特定の組み合わせを含める」で 指定した組み合わせが 生成結果に含まれる
  39. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 38  その他の応用的な組み合わせ機能

  40. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  特定のパラメータ間での組み合わせの網羅度を指定できる  以下のような場合に利用すると良い 

    一部のパラメータ間は全網羅したいが残りのパラメータはペアワイズで良い、といったようにパラメータ間の網羅度 合い(組み合わせの重要さ)が異なるとき サブモデル 39 以下の記法で式を入力する。式は複数入力できる。 { パラメータ1, パラメータ2, ・・・} @ 組み合わせるパラメータ数 上記の式を入力した場合、 この図のように組み合わせ が生成される
  41. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  一度定義したパラメータを再利用できる  以下のような場合に利用すると良い 

    同じ値を取るパラメータが複数あるとき  その値に変更があった場合に、複数のパラメータに影響するとき パラメータの再利用 40 他のパラメータの名前の前後に「<>」 という半角記号をつけて入力
  42. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  値に別名をつけて、組み合わせの中で複数の名前が均等に登場するようにできる  以下のような場合に利用すると良い 

    値としては同等なので組み合わせ生成時には1個の値として扱いたいが、テストを実際に実行するときは複数の 値を割り振って実行したいとき エイリアス(別名) 41 1つのセルに「|」という半角記号 で区切って、値の名称を入力する
  43. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  無効値(エラーになる値)が1個の組み合わせの中に1個のみ登場するように組み合わせを生成できる  1個の組み合わせの中に複数の無効値があると、どの無効値でエラーと判定されたのか分からなくなる 

    以下のような場合に利用すると良い  無効値を含めて組み合わせを生成してテストしたいとき 無効値のテスト 42 無効値の先頭に「~」という 半角記号を入力する。
  44. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  値ごとに重みづけを指定して、組み合わせにその値が登場する頻度を変えることができる  ただし、数字が直感的な意味は持っていないので注意 

    重みを5にしても、重みが1のときと比べてその値が5倍登場する、ということはない  以下のような場合に利用すると良い  値によって、組み合わせに登場する頻度を変えたいとき 重みづけ 43 値の後ろに半角カッコつきで、 整数値を入力する。
  45. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  GIHOZで作成した組み合わせから総当たり表を作成するユーティリティを公開中  使い方解説 https://qiita.com/ktanizaki/items/b905d1df553dd0cbd5b5

     ソースコード https://github.com/ktanizaki/gihoz-utilities 【参考】組み合わせの網羅度合いの可視化 44 赤背景の部分は組み合わせが存在しないことを表している。 2パラメータ間の値の組み合わせが網羅されていることを可視化したり、 制約が正しくかかっているか確認することができる
  46. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 45  おわりに

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

    46
  48. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。  ペアワイズテストについて解説&ハンズオンを行いました  「任意の2つのパラメータ間の値の組み合わせが1つ以上存在する」ように組み合わせを生成できる 

    GIHOZではオプションの設定次第で、3~5パラメータ間の組み合わせ網羅も可能  「無則」のパラメータを組み合わせてテストを行う際に活用すると良い  GIHOZでは、オプション設定や応用的な組み合わせ機能も活用することで、柔軟な組み合わせの生成が可能  GIHOZを使って効率的に組み合わせテストを実施してもらえると嬉しいです!  改善要望や気になった点などがあれば、ぜひフィードバックをお寄せください まとめ 47
  49. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 【当社問い合わせ窓口】 お問い合わせフォーム:https://contact.veriserve.co.jp/public/application/add/2187 メール:support@gihoz.com お問い合わせ対応時間:10時~17時 GIHOZ

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