78
組組組組組組組組 WACATE2016 冬 2016/12/18 WACATE 冬冬冬冬 冬冬 冬冬 冬冬冬冬冬冬冬

WACATE2016 冬 組み合わせテスト

  • Upload
    mirer

  • View
    158

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WACATE2016 冬 組み合わせテスト

組み合わせテストWACATE2016 冬

2016/12/18WACATE 実行委員 藤原 洋平

技法セッション

Page 2: WACATE2016 冬 組み合わせテスト

テスト技法のセッションです!そもそも、テスト技法とは?JSTQB 曰く: テストケースを作成したり 選択したりするための技法。

Page 3: WACATE2016 冬 組み合わせテスト

テスト技法のセッションです!良いテスト(ケース群)を作るためのテクニックより少ないテストケース数でより多くの不具合を見つけられテスト対象を網羅

Page 4: WACATE2016 冬 組み合わせテスト

テスト技法のセッションです!いくつかの技法をご紹介しますその技法の考え方が分かる、使えるようになる、今回は基本編!玄奥はご自身で!

Page 5: WACATE2016 冬 組み合わせテスト

組み合わせテスト

Page 6: WACATE2016 冬 組み合わせテスト

「組み合わせテスト」名前の通り「組み合わせ」が発生する際に実行するテスト

テスト条件(パラメータ)テスト環境テスト対象 ...

Page 7: WACATE2016 冬 組み合わせテスト

組み合わせの例以下の場合

ルー

ごはん

付け合せ

Page 8: WACATE2016 冬 組み合わせテスト

組み合わせの例 3  ×  3  ×  2 2 =36通り

Page 9: WACATE2016 冬 組み合わせテスト

ちょっと種類を追加して…ルー

 [ 辛さ 1~10 を追加 ]ごはん付け合せ・トッピング

Page 10: WACATE2016 冬 組み合わせテスト

組み合わせの例5 ×10× 3 × 2 10 = 153,600 通り

Page 11: WACATE2016 冬 組み合わせテスト

組み合わせによる「爆発」組み合わせるものにより、結果が膨大な数になることがある全てのテスト実施は「不可能」な場合もある

Page 12: WACATE2016 冬 組み合わせテスト

組み合わせテスト技法テストで確認したいポイントは抑えつつ、でも、テストケース数を削減したいSQuBOK 曰く

組み合わせの技法とは、テスト条件(パラメータ)の組み合わせを決定するための技法である

Page 13: WACATE2016 冬 組み合わせテスト

用語の説明と、ミニワーク

Page 14: WACATE2016 冬 組み合わせテスト

用語説明 : 因子と水準因子 水準ルー マホロバ、キーマ、おばあちゃん…ごはん 白米、ターメリック、ナン付け合わせ 福神漬け、らっきょう、卵、チーズ…因子 水準OS Windows7, Windows10, Mac OS X…ブラウザ IE11, Edge, Chrome, FireFox, Safariアプリ ver β 、 1.0 、 1.1 、 2.0…

Page 15: WACATE2016 冬 組み合わせテスト

用語説明 : 因子と水準因子 水準ルー マホロバ、キーマ、おばあちゃん…ごはん 白米、ターメリック、ナン付け合わせ 福神漬け、らっきょう、卵、チーズ…因子 水準OS Windows7, Windows10, Mac OS X…ブラウザ IE11, Edge, Chrome, FireFox, Safariアプリ ver β 、 1.0 、 1.1 、 2.0…

入力条件、組み合わせの要素 因子のとりえるパターンや値

Page 16: WACATE2016 冬 組み合わせテスト

用語説明 : 有則と無則有則

因子が動作や結果に影響を与える関係を持っている仕様上の関わりがある

無則お互いの因子および水準が影響しない「直交」している

Page 17: WACATE2016 冬 組み合わせテスト

用語説明 : 有則   +  =シーフードカレー   +  =チーズカレー   +  =カツカレー

Page 18: WACATE2016 冬 組み合わせテスト

用語説明 : 無則   +  =チーズカレー  +      どんなドリンクでも      チーズカレー

Page 19: WACATE2016 冬 組み合わせテスト

用語説明 : 禁則禁則

実現不可能な因子の組み合わせ仕様上ありえない=組み合わせることが出来ない

Page 20: WACATE2016 冬 組み合わせテスト

用語説明 : 禁則ライスは以下から選べます白米 サフラン ターメリック

     + サフラン = ??

Page 21: WACATE2016 冬 組み合わせテスト

ワーク解答例有則の関係

会員情報・配送オプション・手数料→ 合計金額に影響する無則の関係

発送方法・梱包方法→ 合計金額には影響がない

Page 22: WACATE2016 冬 組み合わせテスト

ワーク解答例禁則の関係

冷凍冷蔵食品の注文・梱包→ 冷凍冷蔵食品は梱包不可ギフト設定にも、可不可がありそう…

Page 23: WACATE2016 冬 組み合わせテスト

ここまでのまとめ

用語:因子・水準   有則・無則・禁則

Page 24: WACATE2016 冬 組み合わせテスト

組み合わせテストでよく使われる技法デシジョンテーブル原因結果グラフCFD 法ドメイン分析ペアワイズ(オールペア法)直交表クラシフィケーションツリー法etc...

有則の関係の組み合わせを効率的・網羅的に探したい無則の組み合わせが存在するとき

Page 25: WACATE2016 冬 組み合わせテスト

デシジョンテーブル

Page 26: WACATE2016 冬 組み合わせテスト

デシジョンテーブル論理関係を持った複数条件を表形式で整理するツール

自然言語よりロジックが明確になる

Page 27: WACATE2016 冬 組み合わせテスト

デシジョンテーブルまずはこちらをご覧ください(例題)[TOARU映画館 料金一覧 ]  一般料金      1800円  学生(大・専)    1,500円  中・高生      1000円  小人( 3才~小学生) 1000円。   60才以上       1,100円。※学生、中・高生は学生証の提示が必要。※3D作品は一律プラス 400円。メガネ持参 100円引き

Page 28: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) N N N Y Y Y Y N N N N N N Y中・高校生 N N N N N N N Y Y Y N N N N小人 N N N N N N N N N N Y N N N60才以上 N N N N N N N N N N ・ ・ ・ ・ N Y Y Y学生証提示 N N N N Y Y Y N Y Y N N N Y3D 作品 N Y Y N N Y Y N N Y N N Y Y3D メガネ持参 N N Y N N N Y N N N N N Y Y

1,800円 X X X X X1,500円 X X X1,100円 X X X1,000円 X X ・ ・ ・ ・ X+400円 X X X X X X X-100円 X X X X

Page 29: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) N N N Y Y Y Y N N N N N N Y中・高校生 N N N N N N N Y Y Y N N N N小人 N N N N N N N N N N Y N N N60才以上 N N N N N N N N N N ・ ・ ・ ・ N Y Y Y学生証提示 N N N N Y Y Y N Y Y N N N Y3D 作品 N Y Y N N Y Y N N Y N N Y Y3D メガネ持参 N N Y N N N Y N N N N N Y Y

1,800円 X X X X X1,500円 X X X1,100円 X X X1,000円 X X ・ ・ ・ ・ X+400円 X X X X X X X-100円 X X X X

「条件」を記載Y は条件に当てはまるもの

N は条件に当てはまらないもの

Page 30: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) N N N Y Y Y Y N N N N N N Y中・高校生 N N N N N N N Y Y Y N N N N小人 N N N N N N N N N N Y N N N60才以上 N N N N N N N N N N ・ ・ ・ ・ N Y Y Y学生証提示 N N N N Y Y Y N Y Y N N N Y3D 作品 N Y Y N N Y Y N N Y N N Y Y3D メガネ持参 N N Y N N N Y N N N N N Y Y

1,800円 X X X X X1,500円 X X X1,100円 X X X1,000円 X X ・ ・ ・ ・ X+400円 X X X X X X X-100円 X X X X

「動作」を記載実行されるものを X組み合わせにより変化

Page 31: WACATE2016 冬 組み合わせテスト

個人ワーク作成手順

条件、動作を洗い出す条件を上部、動作を下部の行に記載

条件の組み合わせを Y/N で列に記載組み合わせ結果の動作 X を記載

Page 32: WACATE2016 冬 組み合わせテスト

ワークをやってみて…「学生」と「中・高生」は同時に Y にできない?3D映画以外でメガネ持参?

Page 33: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) Y Y Y Y Y N N中・高校生 N Y Y Y Y Y Y学生証提示 … Y N Y Y Y N Y …3D 作品 N N N Y Y N N3D メガネ持参 N N N N Y N N

1,800円 N/A N/A N/A N/A X1,500円 X N/A N/A N/A N/A1,000円 N/A N/A N/A N/A X …+400円 N/A N/A N/A N/A-100円 N/A N/A N/A N/A

あり得ない組み合わせが出てきたときは…

Page 34: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) Y Y Y Y Y N N中・高校生 N Y Y Y Y Y Y学生証提示 … Y - - - - N Y …3D 作品 N - - - - N N3D メガネ持参 N - - - - N N

1,800円 N/A N/A N/A N/A X1,500円 X N/A N/A N/A N/A1,000円 N/A N/A N/A N/A X …+400円 N/A N/A N/A N/A-100円 N/A N/A N/A N/A

Page 35: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) Y Y N N中・高校生 N Y Y Y学生証提示 … Y - N Y …3D 作品 N - N N3D メガネ持参 N - N N

1,800円 N/A X1,500円 X N/A1,000円 N/A X …+400円 N/A-100円 N/A

Page 36: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) Y Y N N N中・高校生 N Y Y Y Y学生証提示 … Y - N Y Y …3D 作品 N - N N N3D メガネ持参 N - N N Y

1,800円 N/A X1,500円 X N/A1,000円 N/A X X …+400円 N/A ?-100円 N/A ?

Page 37: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) Y Y N N N N中・高校生 N Y Y Y Y Y学生証提示 … Y - N Y Y Y …3D 作品 N - N N N Y3D メガネ持参 - - - - - Y

1,800円 N/A X1,500円 X N/A1,000円 N/A X X X …+400円 N/A X-100円 N/A X

案1: 3D 作品 N の時点で - にする

Page 38: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) Y Y N N N N中・高校生 N Y Y Y Y Y学生証提示 … Y - N Y Y Y …3D 作品(メガネ有

N - N Y N Y

3D 作品(メガネ無

N - N N Y Y

1,800円 N/A X1,500円 X N/A1,000円 N/A X X X …+400円 N/A X N/A+300円 N/A X N/A

案 2 :条件を明確にする

Page 39: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細金額(=動作)をまとめても OK

2,200円2,100円1,900円1,800円1,500円1,400円1,300円1,000円

一般料金の 1,800円と中・高生の 1,500円 + 3D メガネ有 300円の区別がつかない問題ないか、確認(= 何を確認したいのか )

Page 40: WACATE2016 冬 組み合わせテスト

デシジョンテーブル詳細学生(大・専) N N N Y Y Y Y Y Y Y N N N N N N中・高校生 N N N N N N N N N Y Y Y Y Y Y Y学生証提示 - - - N N N Y Y Y - N N N Y Y Y3D 作品 N Y Y N Y Y N Y Y - N Y Y N Y Y3D メガネ持参 - N Y - N Y - N Y - - N Y - N Y

1,800円 X X X X X X N/A X X X

1,500円 X X X N/A

1,000円 N/A X X X

+400円 X X X X X X N/A X X X X

-100円 X X X N/A X X

Page 41: WACATE2016 冬 組み合わせテスト

ペアワイズ と 直交表

Page 42: WACATE2016 冬 組み合わせテスト

組み合わせの爆発を抑える因子水準の組み合わせにより、ケース数が爆発してしまった時、ある理論や制約に基づいて、ケース数を削減する技法

銀の弾丸では無い

Page 43: WACATE2016 冬 組み合わせテスト

Pair wise ( All Pair )

Page 44: WACATE2016 冬 組み合わせテスト

ペアワイズ(オールペア法)ペアワイズの特徴は、複数ある因子のうち2 つの因子の組 = ペアに着目をしペア間の組み合わせを網羅していく

Page 45: WACATE2016 冬 組み合わせテスト

ペアワイズの簡単な例例えば WEB アプリのテストにて…Win と Mac 、 Chrome と Firefox機能 A ・ B各 OS 、ブラウザ、機能が動くことを確認したい!

Page 46: WACATE2016 冬 組み合わせテスト

ペアワイズの簡単な例OS ブラウザ 機能Windows Chrome A機能Windows Chrome B機能Windows Firefox A機能Windows Firefox B機能: : :Mac Chrome B機能Mac Firefox A機能Mac Firefox B機能

たった 3 因子 2 水準でもそれなりの数…

Page 47: WACATE2016 冬 組み合わせテスト

ペアワイズの簡単な例1 つのブラウザで、 A機能か B機能どちらかが確認できれば OK !1 つの OS で、各ブラウザが 1 回は動作すれば OK !A機能・ B機能、それぞれ各 OS で動作すれば OK !(ブラウザ不問)

Page 48: WACATE2016 冬 組み合わせテスト

ペアワイズの簡単な例OS ブラウザ 機能Windows Chrome A機能Windows Firefox B機能Mac Chrome B機能Mac Firefox A機能4 ケーステストすれば、先の条件において、網羅できている!先の条件 = ペア( 2 因子間)を網羅する

Page 49: WACATE2016 冬 組み合わせテスト

ペアワイズの簡単な例なぜ、ペア( 2 因子)の網羅で良しとするのか?

Page 50: WACATE2016 冬 組み合わせテスト

多因子間網羅の考え方因子水準が増えれば組み合わせは指数関数的に増えていく不具合の多くは単機能、 2機能の組み合わせで見つかっている

因子が増えるほど効率が落ちる2 因子以上の組み合わせ方も可能

Page 51: WACATE2016 冬 組み合わせテスト

個人ワーク以下の環境でテストをしたい

OS: Windows, Mac言語: 日本語、英語ブラウザ: Chrome, Firefox機能: A機能、 B機能

2 因子間網羅してください

Page 52: WACATE2016 冬 組み合わせテスト

回答例OS 言語 ブラウザ 機能Windows 日本語 Chrome A機能Windows 英語 Firefox B機能Mac 日本語 Firefox B機能Mac 英語 Chrome B機能Mac 英語 Firefox A機能

Page 53: WACATE2016 冬 組み合わせテスト

ワークをやってみて…「たった 4 因子なのに結構大変」これ以上増えたらやってられない…ツールを使いましょう

Page 54: WACATE2016 冬 組み合わせテスト

ツールの紹介PICT( Pairwise Independent Combinatorial Testing

tool )Microsoft社が開発したテストツール

PictMasterOAPICT を Excel 上で動かし、結果を自動生成するツール

Page 55: WACATE2016 冬 組み合わせテスト

補足ペアワイズでは出てくる水準が一律ではないことがあるツールを使えば、水準の重み付けも可能

Page 56: WACATE2016 冬 組み合わせテスト

直交表

Page 57: WACATE2016 冬 組み合わせテスト

直交表とはペアワイズは水準の出現回数が均一ではない場合がある各水準は同じ数だけテストしたい→ 直交表

Page 58: WACATE2016 冬 組み合わせテスト

直交表とは水準の出現回数が同一になるように組み合わせる技法ペアワイズより組み合わせ数が多くなることがある「実験計画法」でも使われている

Page 59: WACATE2016 冬 組み合わせテスト

直交表とは直交表という表を使います

Page 60: WACATE2016 冬 組み合わせテスト

直交表のつくりかた :参考参考文献:  JaSST’05 in Osaka 「直交表を活用した  ソフトウェアテストの効率化  - HAYST 法の活用-」 秋山 浩一

http://jasst.jp/archives/jasst05w/pdf/S4-1.pdf

Page 61: WACATE2016 冬 組み合わせテスト

直交表サンプル L8(27)No. 因子

A因子B

因子C

因子D

因子E

因子F

因子G

1 1 1 1 1 1 1 12 1 1 1 2 2 2 23 1 2 2 1 1 2 24 1 2 2 2 2 1 15 2 1 2 1 2 1 26 2 1 2 2 1 2 17 2 2 1 1 2 2 18 2 2 1 2 1 1 2

どの因子を見ても水準 1 と 2 の出現回数は同じ

Page 62: WACATE2016 冬 組み合わせテスト

直交表の種類直交表は因子・水準の数により大きさが変わる

L8(27)     .

     2 水準 因子の数が 7

  大きさが 8

Page 63: WACATE2016 冬 組み合わせテスト

直交表の種類L4 から 2N の大きさの直交表が存在する

L64(263)

Page 64: WACATE2016 冬 組み合わせテスト

直交表の種類2 水準系だけでなく 3 水準系の直交表も存在する

L9 などさらに L12,L18,L36 と言った混合系も存在する

Page 65: WACATE2016 冬 組み合わせテスト

直交表の選び方テストの目的コスト・費用対効果因子・水準から

洗い出されていること

Page 66: WACATE2016 冬 組み合わせテスト

例題次の組み合わせを考える

OS : Windows, Mac言語 : 日本語、英語ブラウザ : Chrome, FirefoxProxy : あり/なしアプリ ver : α, β対象機能 : 機能1、機能2

Page 67: WACATE2016 冬 組み合わせテスト

直交表因子が 6 、各水準は 2

L4(23), L8(27), L16(215),...

Page 68: WACATE2016 冬 組み合わせテスト

再登場 L8(27)No. 因子

A因子B

因子C

因子D

因子E

因子F

因子G

1 1 1 1 1 1 1 12 1 1 1 2 2 2 23 1 2 2 1 1 2 24 1 2 2 2 2 1 15 2 1 2 1 2 1 26 2 1 2 2 1 2 17 2 2 1 1 2 2 18 2 2 1 2 1 1 2

Page 69: WACATE2016 冬 組み合わせテスト

再登場 L8(27)因子 A  →  OS

水準1 →  Windows水準2 →  Mac

::

Page 70: WACATE2016 冬 組み合わせテスト

L8(27) 完成!No. OS 言語 ブラウザ

Proxy

Ver. 機能 因子G

1 Win 日 Chrome

あり α 1 1

2 Win 日 Chrome

なし β 2 2

3 Win 英 Firefox あり α 2 24 Win 英 Firefox なし β 1 15 Mac 日 Firefox あり β 1 26 Mac 日 Firefox なし α 2 17 Mac 英 Chrom

eあり β 2 1

8 Mac 英 Chrome

なし α 1 2

Page 71: WACATE2016 冬 組み合わせテスト

個人ワーク架空ショッピングサイト荷物配送システムのチェック

Page 72: WACATE2016 冬 組み合わせテスト

水準が足りないときは?多めにテストしたい水準で埋める

そもそものテスト目的は?因子・水準の選び方は適切?

Page 73: WACATE2016 冬 組み合わせテスト

L16(45) 完成!No. 支払い方法 配送オプション 発送オプション 梱包 -1 コンビニ・ ATM なし なし なし2 コンビニ・ ATM お急ぎ便 まとめて発送 FFP3 コンビニ・ ATM 当日お急ぎ便 順次発送 ギフト4 コンビニ・ ATM お届け日時指定 まとめて発送 FFP5 代金引換 なし まとめて発送 ギフト6 代金引換 お急ぎ便 なし FFP7 代金引換 当日お急ぎ便 まとめて発送 なし8 代金引換 お届け日時指定 順次発送 FFP9 クレジット なし 順次発送 ギフト10 クレジット お急ぎ便 まとめて発送 ギフト

: : : : :15 ギフト券 当日お急ぎ便 まとめて発送 なし16 ギフト券 お届け日時指定 なし ギフト

Page 74: WACATE2016 冬 組み合わせテスト

おわりに

Page 75: WACATE2016 冬 組み合わせテスト

まとめデシジョンテーブル

条件が複雑・論理関係があるときペアワイズ

組み合わせの数が爆発したとき直交表

水準の偏りをなくしたいとき

Page 76: WACATE2016 冬 組み合わせテスト

参考自動改札機の運賃計算プログラムはいかにデバッグされているのか?

10 の 40乗という運賃パターンのテスト方法を開発者が解説 http://www.publickey1.jp/blog/12/_1040_1.html

IoT は組み合わせの概念

Page 77: WACATE2016 冬 組み合わせテスト

まとめ技法は決して銀の弾丸ではないどの技法をどう使うか適切に判断できることが大事“考え方”を知っておくだけでも

Page 78: WACATE2016 冬 組み合わせテスト