More Related Content
Similar to 20081024 ja sst-sapporo (9)
More from Kouichi Akiyama (16)
20081024 ja sst-sapporo
- 2. 2
機能組合せテスト設計の課題
経験則でランダムに組み合わせると
網羅率が低下する。
機能組合せを網羅的に行うと
テスト項目数が爆発する。
組合せ網羅率
経験で作りこみ 約30%
HAYST法とは
HAYST法の開発によ
る網羅率向上と
テスト項目数低減の両立
組合せ網羅率
HAYST法 >80%
(テスト品質指標)
相反する課題
お客様は様々な機能の組み合わせでプリント
出力
結果
<ソフトウェア機能組み合わせテスト>
禁則処理
多因子多水準
プリンタドライバ機能組合せテスト
70因子280水準
用紙 向き 両面
原稿
サイズ
カラー
モード 画質
N-Up トレイ Finisher
18種類
2種類 2種類
21種類
3種類
7種類
6種類 2種類
詳細はhttp://www.jasst.jp/archives/jasst04.html
直交表を利用したソフトウェアテスト -HAYST法-
- 4. 4
ソフトウェアテストの難しさ
左はPowerPointの文字フォント修
飾機能(設定シート)
これを1日でテスト設計&テスト設
計レビューし、1日でテスト実施をす
るにはどうしたらよいだろうか??
?
ブラックボックステストのポイントは
、テスト設計プロセス
・ 同値分割(Zoom)
・ 組み合わせ(HAYST他)
・ 境界値・異常値・特異値
(テストデータ)
の3点。
やり方が共通化されていれば
レビューがしやすい!!
※ 俺流のテスト設計のレビューは困難
因子 水準数 全組合せ
下線 2 2
影付き 2 4
浮き出し 2 8
上付き 2 16
下付き 2 32
スタイル 4 128
サイズ 22 2,816
日本語用のフォント 59 166,144
英数字用のフォント 163 27,081,472
相対位置(-100~100) 201 5,443,375,872
色 16,777,216 91,324,692,773,732,400
- 5. 5
大きい因子を同値分割で小さくする
<サイズで考えてみる>
• サイズの選択肢には「8, 9, 10, 12, 14, 16, 18, 20, 24, 28, 32, 36, 40,
44, 48, 54, 60, 66, 72, 80, 88, 96」 の22種類ある。サイズの増え方に
着目すると、「 8, 9, 10 」、「 10, 12, 14, 16, 18, 20」、「 20, 24, 28, 32,
36, 40, 44, 48」、「 48, 54, 60, 66, 72」、「 72, 80, 88, 96」の5グループ
に同値分割できる。
• ここから「10, 20, 48, 72」の4つを代表に選び小さい因子にすることが
出来る。
因子 水準数 全組合せ
下線 2 2
影付き 2 4
浮き出し 2 8
上付き 2 16
下付き 2 32
スタイル 4 128
サイズ 22 2,816
日本語用のフォント 59 166,144
英数字用のフォント 163 27,081,472
相対位置(-100~100) 201 5,443,375,872
色 16,777,216 91,324,692,773,732,400
サイズ
10 20 48 72
8
9
10
10
12
14
16
18
20
20
24
28
32
36
40
44
48
48
54
60
66
72
72
80
88
96
ズームイン
ズームアウト
- 6. 6
組合せはそれでも爆発 (全38水準になったものの)
<さらに制約事項がある>
• 「上付き」と「下付き」は同時に選択でき
ない
• 相対位置は「上付き」と「下付き」が設
定された時に選択可能となる
• 選択するフォントによって選択可能な
サイズが変わる
• 英数字用のフォントには「日本語フォン
トを使う」という特殊な設定がある
• 「行間」との組合せは考えなくても良い
のか??
• 位置揃えについて考慮が必要か?
因子 水準数 全組合せ
下線 2 2
影付き 2 4
浮き出し 2 8
上付き 2 16
下付き 2 32
スタイル 4 128
サイズ 4 512
日本語用のフォント 4 2,048
英数字用のフォント 4 8,192
相対位置(-100~100) 4 32,768
色 8 262,144
- 9. 9
直交表
L4直交表 A B C
1 0 0 0
2 0 1 1
3 1 0 1
4 1 1 0
因子
水準
因子 水準
OFF
ON
OFF
ON
OFF
ON
太字
斜体
下線
文字修飾の因子・水準
※ 水準値の0には
デフォルト水準を
割り付ける
- 10. 10
割付け結果
L4直交表 太字 斜体 下線 結果
テストNo.1 OFF OFF OFF Test結果
テストNo.2 OFF ON ON Test結果
テストNo.3 ON OFF ON Test結果
テストNo.3 ON ON OFF Test結果
因子
水準
- 13. 13
多水準系直交表を作成する方法
L8直交表で4水準の因子を考慮する場合
<メリット>
因子ABC列の水準の種類は(000, 011, 101, 110)の4種類
多水準系にしても、他の列との直交性が崩れません。
<デメリット>
L8直交表に考慮できる因子の数は、7因子であったのが、
5因子に減ってしまいます。
因子列A、B、Cを結合する。
しかし、単純に無作為に、適当な列を選んで結合させればよいわけではありません。
例えばABD列を結合させた場合
因子ABD列の水準の種類は(000, 001, 010, 011, 100, 101, 110, 111)の8種類
他の列との直交性が崩れてしまっています。
結合して良い列と、結合してはだめな列との違いを見分けるには、
線点図を使用することですぐに判別できます
A B C D E F G
1 0 0 0 0 0 0 0
2 0 0 0 1 1 1 1
3 0 1 1 0 0 1 1
4 0 1 1 1 1 0 0
5 1 0 1 0 1 0 1
6 1 0 1 1 0 1 0
7 1 1 0 0 1 1 0
8 1 1 0 1 0 0 1
ABC D E F G
1 000 0 0 0 0
2 000 1 1 1 1
3 011 0 0 1 1
4 011 1 1 0 0
5 101 0 1 0 1
6 101 1 0 1 0
7 110 0 1 1 0
8 110 1 0 0 1
C ABD E F G
1 0 000 0 0 0
2 0 001 1 1 1
3 1 010 0 1 1
4 1 011 1 0 0
5 1 100 1 0 1
6 1 101 0 1 0
7 0 110 1 1 0
8 0 111 0 0 1
- 14. 14
線点図は、各直交表に対してどの因子列を合体させて、多水準が入る因子列に変型しても大
丈夫なのかが、まとめてある図のことです。
線点図の種類
3
5
6
3
2水準線点図
4水準線点図
8水準線点図
1
3
2 6
5
4
7
直交表の中では
(0、1)の2値で記述されます
1
2
3
因子列番号
直交表の中では
(000, 011, 101, 110)
の4値で記述される
直交表の中では
(0000000, 0001111, 0110011,
0111100, 1010101, 1011010,
1100110, 1101001)
の8値で記述される
線点図とは
16水準線点図
1 2 3 4 5 6 7
1 0 0 0 0 0 0 0
2 0 0 0 1 1 1 1
3 0 1 1 0 0 1 1
4 0 1 1 1 1 0 0
5 1 0 1 0 1 0 1
6 1 0 1 1 0 1 0
7 1 1 0 0 1 1 0
8 1 1 0 1 0 0 1
123 4 5 6 7
1 000 0 0 0 0
2 000 1 1 1 1
3 011 0 0 1 1
4 011 1 1 0 0
5 101 0 1 0 1
6 101 1 0 1 0
7 110 0 1 1 0
8 110 1 0 0 1
4 6 75
L8直交表 変型後のL8直交表
- 15. 15
L4直交表をL8直交表に拡張する例
1列 XOR 4列 = 5列
2列 XOR 4列 = 6列
3列 XOR 4列 = 7列
全く同じ手順で
L8をL16、
L16をL32、
L32をL64、
L64をL128
L128をL256
…
に拡張することができる
1 2 3
1 0 0 0
2 0 1 1
3 1 0 1
4 1 1 0
1 2 3 4 5 6 7
1 0 0 0 0 0 0 0
2 0 0 0 1 1 1 1
3 0 1 1 0 0 1 1
4 0 1 1 1 1 0 0
5 1 0 1 0 1 0 1
6 1 0 1 1 0 1 0
7 1 1 0 0 1 1 0
8 1 1 0 1 0 0 1
1 2 3
1 0 0 0
2 0 0 0
3 0 1 1
4 0 1 1
5 1 0 1
6 1 0 1
7 1 1 0
8 1 1 0
行を2倍 0、1を交互に
割付けた列を
追加
1 2 3 4
1 0 0 0 0
2 0 0 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 1 0
6 1 0 1 1
7 1 1 0 0
8 1 1 0 1
3列 XOR 4列 = 7列
1列 XOR 4列 = 5列
2列 XOR 4列 = 6列
直交表の成り立ちと線点図
XORの関係で作成された3列は、
4パターン(000, 011, 101, 110)し
か出てこない。
それが線点図で表されている。
1
3
2 6
5
4
7
- 16. 16
線点図と直交表との対応
1
2
4
3
5 76
8
15
910 11
12 1413
L16 直交表線点図テンプレート 1
1
3
2 6
5
4
7
8 9 1011 12 14 1513
L16 直交表線点図テンプレート 2
使ってはいけない使ってはいけない
1 2 3 4 8 12 5 10 15 6 11 13 7 9 14
a b ab c d cd ac bd abc
d bc abd acd abc ad bcd
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 1 1 11 0 1 1 11 0 1 1 11 0 1 1 11
3 0 0 0 0 1 0 1 101 1 0 1 101 1 0 1 101 1 0 1 101
4 0 0 0 0 1 1 0 110 1 1 0 110 1 1 0 110 1 1 0 110
5 0 1 1 11 0 0 0 0 0 1 1 11 1 1 0 110 1 0 1 101
6 0 1 1 11 0 1 1 11 0 0 0 0 1 0 1 101 1 1 0 110
7 0 1 1 11 1 0 1 101 1 1 0 110 0 1 1 11 0 0 0 0
8 0 1 1 11 1 1 0 110 1 0 1 101 0 0 0 0 0 1 1 11
9 1 0 1 101 0 0 0 0 1 0 1 101 0 1 1 11 1 1 0 110
10 1 0 1 101 0 1 1 11 1 1 0 110 0 0 0 0 1 0 1 101
11 1 0 1 101 1 0 1 101 0 0 0 0 1 1 0 110 0 1 1 11
12 1 0 1 101 1 1 0 110 0 1 1 11 1 0 1 101 0 0 0 0
13 1 1 0 110 0 0 0 0 1 1 0 110 1 0 1 101 0 1 1 11
14 1 1 0 110 0 1 1 11 1 0 1 101 1 1 0 110 0 0 0 0
15 1 1 0 110 1 0 1 101 1 1 0 11 0 0 0 0 1 1 0 110
16 1 1 0 110 1 1 0 110 0 0 0 0 0 1 1 11 1 0 1 101
1 2 3 4 5 6 7 1234567 8 9 10 11 12 13 14 15
a b ab c ac bc abc d ad bd abd cd acd bcd abc
d
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
3 0 0 0 1 1 1 1 1111 0 0 0 0 1 1 1 1
4 0 0 0 1 1 1 1 1111 1 1 1 1 0 0 0 0
5 0 1 1 0 0 1 1 110011 0 0 1 1 0 0 1 1
6 0 1 1 0 0 1 1 110011 1 1 0 0 1 1 0 0
7 0 1 1 1 1 0 0 111100 0 0 1 1 1 1 0 0
8 0 1 1 1 1 0 0 111100 1 1 0 0 0 0 1 1
9 1 0 1 0 1 0 1 1010101 0 1 0 1 0 1 0 1
10 1 0 1 0 1 0 1 1010101 1 0 1 0 1 0 1 0
11 1 0 1 1 0 1 0 1011010 0 1 0 1 1 0 1 0
12 1 0 1 1 0 1 0 1011010 1 0 1 0 0 1 0 1
13 1 1 0 0 1 1 0 1100110 0 1 1 0 0 1 1 0
14 1 1 0 0 1 1 0 1100110 1 0 0 1 1 0 0 1
15 1 1 0 1 1 0 1 1101101 0 1 1 0 1 0 0 0
16 1 1 0 1 0 0 1 1101001 1 0 0 1 0 1 1 0
変形済みの直交表がhttp://hayst.com/readings.aspxにおいてあります。
- 18. 18
抽象化後の展開
1234567 8 9 10 11 12 13 14 15
1 0 0 0 0 0 0 0 0 0
2 0 1 1 1 1 1 1 1 1
3 1111 0 0 0 0 1 1 1 1
4 1111 1 1 1 1 0 0 0 0
5 110011 0 0 1 1 0 0 1 1
6 110011 1 1 0 0 1 1 0 0
7 111100 0 0 1 1 1 1 0 0
8 111100 1 1 0 0 0 0 1 1
9 1010101 0 1 0 1 0 1 0 1
10 1010101 1 0 1 0 1 0 1 0
11 1011010 0 1 0 1 1 0 1 0
12 1011010 1 0 1 0 0 1 0 1
13 1100110 0 1 1 0 0 1 1 0
14 1100110 1 0 0 1 1 0 0 1
15 1101101 0 1 1 0 1 0 0 0
16 1101001 1 0 0 1 0 1 1 0
割付け
抽象化水準の分離
抽象化することにより、抽象化された水準の直交性は崩れています。
もちろん、抽象化しなかった水準の直交性は保存されています。
あまり重要ではない水準同士は抽象化しても良いですが、他の因子と
の組合せまでしっかり見ておきたい水準に関しては抽象化をすることは
避けることをおすすめします。
また、今回の場合、3水準以上を1水準に抽象化してしまう場合どうなる
でしょうか?例えば、“鯛”、 “さんま”、“すずき” を “鯛・さんま・すずき”
にしてしまった場合です。
この場合には、どれか1つの水準を全く直交表に出現させることができ
なくなってしまいます。
割付け前の線点図に合わせて組み替えた直交
表
割付後の直交表(抽象化水準未展開)
抽象化された
ままの水準
抽
象
化
を
解
除
し
た
水
準
1234567 8 9 10 11 12 13 14 15
魚 米 みそ汁 おかず デザート cd acd bcd ab
cd
1 鯛・さんま コシヒカリ しじみ 卵焼き ヨーグルト 0 0 0 0
2 鯛・さんま ササニシキ わかめ ほうれん草 プリン 1 1 1 1
3 すずき・ひらめ コシヒカリ しじみ 卵焼き ヨーグルト 1 1 1 1
4 すずき・ひらめ ササニシキ わかめ ほうれん草 プリン 0 0 0 0
5 さより・なまず コシヒカリ しじみ ほうれん草 プリン 0 0 1 1
6 さより・なまず ササニシキ わかめ 卵焼き ヨーグルト 1 1 0 0
7 かれい コシヒカリ しじみ ほうれん草 プリン 1 1 0 0
8 かれい ササニシキ わかめ 卵焼き ヨーグルト 0 0 1 1
9 くろまぐろ コシヒカリ わかめ 卵焼き プリン 0 1 0 1
10 くろまぐろ ササニシキ しじみ ほうれん草 ヨーグルト 1 0 1 0
11 はたはた・かじき コシヒカリ わかめ 卵焼き プリン 1 0 1 0
12 はたはた・かじき ササニシキ しじみ ほうれん草 ヨーグルト 0 1 0 1
13 金目鯛 コシヒカリ わかめ ほうれん草 ヨーグルト 0 1 1 0
14 金目鯛 ササニシキ しじみ 卵焼き プリン 1 0 0 1
15 はぜ コシヒカリ わかめ ほうれん草 ヨーグルト 1 0 0 1
16 はぜ ササニシキ しじみ 卵焼き プリン 0 1 1 0
1234567 8 9 10 11 12 13 14 15
魚 米 みそ汁 おかず デザート cd acd bcd ab
cd
1 鯛 コシヒカリ しじみ 卵焼き ヨーグルト 0 0 0 0
2 さんま ササニシキ わかめ ほうれん草 プリン 1 1 1 1
3 すずき コシヒカリ しじみ 卵焼き ヨーグルト 1 1 1 1
4 ひらめ ササニシキ わかめ ほうれん草 プリン 0 0 0 0
5 さより コシヒカリ しじみ ほうれん草 プリン 0 0 1 1
6 なまず ササニシキ わかめ 卵焼き ヨーグルト 1 1 0 0
7 かれい コシヒカリ しじみ ほうれん草 プリン 1 1 0 0
8 かれい ササニシキ わかめ 卵焼き ヨーグルト 0 0 1 1
9 くろまぐろ コシヒカリ わかめ 卵焼き プリン 0 1 0 1
10 くろまぐろ ササニシキ しじみ ほうれん草 ヨーグルト 1 0 1 0
11 はたはた コシヒカリ わかめ 卵焼き プリン 1 0 1 0
12 かじき ササニシキ しじみ ほうれん草 ヨーグルト 0 1 0 1
13 金目鯛 コシヒカリ わかめ ほうれん草 ヨーグルト 0 1 1 0
14 金目鯛 ササニシキ しじみ 卵焼き プリン 1 0 0 1
15 はぜ コシヒカリ わかめ ほうれん草 ヨーグルト 1 0 0 1
16 はぜ ササニシキ しじみ 卵焼き プリン 0 1 1 0
- 22. 22
因子の選び方
1. 関連する因子は全て洗い出し表に組み込む
<総当り表による組み合わせテスト>
テスト総数 = 因子Aの水準数 × 因子Bの水準数 × 因子Cの水準数 × …
<直交表による組み合わせテスト>
テスト総数 = Σ (水準数 - 1) + 1
直交表は、因子数が増えてもそれほどテスト項目数には影響がありません。また、直交表を選択した段階で
テスト数は決まってしまいますので、なるべく列を余らせないように多くの因子を抽出することが重要です。
2. 機能以外の因子について
機種や環境なども因子として割付けることが出来ます。また、使用方法やタイミングも因子に加えるかどうか
検討すると良いでしょう。
その他、ソフトウェアの動作環境(OSやブラウザ、HW資源)、対向ソフト(サービスソフト、DB種類)、ソフト
ウェア利用者(熟練、初心者)といった検査対象ソフトと密接にかかわる因子の洗い出しも大切です。
- 32. 32
水準の選び方
1. ドメインに分割する
ソフトウェアの評価を実施する時に様々なOSでテストをすると
思います。簡単にテストを行う時には、
因子: Windows OS
水準: Win95, Win 98, Win 98SE, ME, Win 2000, Win XP
あたりで確認するのではないでしょうか?
実は、Windows 95だけでも「通常版」,「Rev A」,「Rev B」,「Rev
C」と4つのバージョンが存在するのですが、テストに詳しくなっ
てくると、「Windows 95 Rev B (OSR2)」で代表して実施しておけ
ば、ほとんどの問題を見つけることができる事が分かってきま
す。
このように、多くの水準があった場合は、それをドメインに分け
て代表選手を選ぶことをします。この時に、正しい代表選手を
選べるかどうかはテスト設計を実施する人の持っている情報量
で決まります。
上の例で言えば、Win 98とWin 98SEは大きく内部構造が違うの
でテストの必要性があることに気づく必要があります。
因子: 用紙サイズ
水準: A3, A4, A5, A6, B4, B5, B6, Letter, Tabloid, Legal,
Folio, はがき, statement
を5つにドメイン分割したい場合は、「A3」 「 A4, A5」 「 B4, B5,
B6 」 「A6,はがき」 「 Letter, Tabloid, Legal, Folio, statement 」と
しておいて、後は代表選手を選ぶという手順となります。
HAYST法では、ドメイン分割までは考えていただきますが、代
表選手を選ぶという方法を取らずに抽象化して割り付けたあと
に分離(抽象化を解除)して対応しています。
2. 同値分割、境界値分析
連続したデータがあった場合は,同値分割と境界値分析の考え
方で水準を選びます。つまり、入力値が0~5までの整数値を
取る場合であれば、同値分割し、
-∞ ~ -1 : 無効同値クラス
0 ~ 5: 有効同値クラス
6 ~ ∞: 無効同値クラス
各クラスのサンプル値「-3,2,8」を選択するとともに、境界値
の「-1,0,5,6」を水準に選びます。
なお、現在のHAYST法は,正常系評価なので,「0,2,5」を水準
に選びます。残りの「-8,-1,6,8」については、エラー処理
系のテストタイプで実施してください。
- 33. 33
補足. 水準の抽出へマンダラートを活用
水準の抽出にマンダラートを活用することができます。
1. マンダラートの中心のマスに因子名を置く
2. 周辺の8マスに水準名を置く
3. 水準が数値の場合
3.1 上の3つのマスに有効同値クラスの下限値、最頻値、上限値を置く
3.2 下の3つのマスに対応する無効同値クラスの値を置く
3.3 因子の両脇のマスには特異値を置く
4. 水準が離散値の場合
4.1 水準のデフォルト値を左上のマスに置く
4.2 2~8水準までは通常のマンダラートの周辺マスに水準を埋める
4.3 16水準になるときには5×5の拡張マンダラートの外枠に埋める
4.4 32水準になるときには9×9の拡張マンダラートの外枠に埋める
4.5 16水準、32水準については、残りのマスを使って抽象化を表現する
5. 空いているマスがあった場合、埋められないか頭を絞る
- 37. 37
直交表一覧
HW系
推奨
名称
列数
備 考
2水準 3水準 4水準 5水準 6水準 8水準 16水準 合計
2水準系
L4 3 3
2水準系は
4水準→2水準3つ
8水準→4水準1つと2水準4つ
16水準→8水準1つと2水準8つ
にそれぞれ分解できる
L128とL256は富士ゼロックスで
開発
L8 4 1 7
L16 5 15
L16 8 1 15
L32 8 1 31
L64 9 63
L128 12 10 10 1 127
L256 11 21 13 6 255
3水準系
L9 4 4
L27 13 13
L81 40 40
L243 121 121
混合系
☆ L18 1 7 8
☆ L18(7) 6 1 7 L18の1,2列より6水準作成
L54 1 25 26
☆ L36 11 12 23
☆ L36(1
6)
3 13 16
L36(1
3)
13 13 上記16因子タイプの3水準列のみ
L108 49 49
4~5水準系
L16(5) 5 5
L32(1
0)
1 9 10
L64(2
1)
21 21
L25 6 6
L50 1 11 12
殆直交表
L’18 1 8 9 標準形に2'列を付加
L’27 22 22
- 40. 40
禁則の回避が必要な理由
テスト可否 部数 ソート 出力用紙サイズ まとめて1枚 ズーム 原稿の向き 両面 とじしろ位置 スタンプ文字列 スタンプ位置スタンプ最初のページのみ
? 1 On A3 しない なし たて なし しない なし 上 しない
? 2 On A4 2アップ 25% たて 長辺とじ しない まる秘 下 する
? 3 On B4 4アップ 400% よこ 短辺とじ しない 回覧 左 しない
? DMY_1 On はがき 8アップ DMY_なし よこ DMY_なし しない 社外秘 右 する
? 1 Off A3 2アップ 25% よこ 短辺とじ 短辺左 回覧 右 する
? 2 Off A4 しない なし よこ DMY_なし 短辺左 社外秘 左 しない
? 3 Off B4 8アップ DMY_なし たて なし 短辺左 なし 下 する
? DMY_1 Off はがき 4アップ 400% たて 長辺とじ 短辺左 まる秘 上 しない
? 1 Off A4 4アップ DMY_なし よこ なし 短辺右 まる秘 左 する
? 2 Off A3 8アップ 400% よこ 長辺とじ 短辺右 なし 右 しない
? 3 Off はがき しない 25% たて 短辺とじ 短辺右 社外秘 上 する
? DMY_1 Off B4 2アップ なし たて DMY_なし 短辺右 回覧 下 しない
? 1 On A4 8アップ 400% たて 短辺とじ 短辺上 社外秘 下 しない
? 2 On A3 4アップ DMY_なし たて DMY_なし 短辺上 回覧 上 する
? 3 On はがき 2アップ なし よこ なし 短辺上 まる秘 右 しない
? DMY_1 On B4 しない 25% よこ 長辺とじ 短辺上 なし 左 する
? 1 Off はがき しない DMY_なし よこ 長辺とじ 長辺左 回覧 下 しない
? 2 Off B4 2アップ 400% よこ なし 長辺左 社外秘 上 する
? 3 Off A4 4アップ 25% たて DMY_なし 長辺左 なし 右 しない
? DMY_1 Off A3 8アップ なし たて 短辺とじ 長辺左 まる秘 左 する
? 1 On はがき 2アップ 400% たて DMY_なし 長辺右 なし 左 する
? 2 On B4 しない DMY_なし たて 短辺とじ 長辺右 まる秘 右 しない
? 3 On A4 8アップ なし よこ 長辺とじ 長辺右 回覧 上 する
? DMY_1 On A3 4アップ 25% よこ なし 長辺右 社外秘 下 しない
? 1 On B4 4アップ なし たて 長辺とじ 長辺上 社外秘 右 する
? 2 On はがき 8アップ 25% たて なし 長辺上 回覧 左 しない
? 3 On A3 しない 400% よこ DMY_なし 長辺上 まる秘 下 する
? DMY_1 On A4 2アップ DMY_なし よこ 短辺とじ 長辺上 なし 上 しない
? 1 Off B4 8アップ 25% よこ DMY_なし DMY_しない まる秘 上 しない
? 2 Off はがき 4アップ なし よこ 短辺とじ DMY_しない なし 下 する
? 3 Off A3 2アップ DMY_なし たて 長辺とじ DMY_しない 社外秘 左 しない
? DMY_1 Off A4 しない 400% たて なし DMY_しない 回覧 右 する
禁則処理を全く回避しないで、直交表に因子水準を割付けた結果です。
どこに禁則処理が含まれているかわかります?
いったいどのテスト項目に修正が必要なのでしょう?
修正するにしても、“あちらを立てればこちらが立たず”でまるでモグラたたきです。
- 41. 41
禁則の回避が必要な理由
テスト可否 部数 ソート 出力用紙サイズ まとめて1枚 ズーム 原稿の向き 両面 とじしろ位置 スタンプ文字列 スタンプ位置スタンプ最初のページのみ
× 1 On A3 しない なし たて なし しない なし 上 しない
× 2 On A4 2アップ 25% たて 長辺とじ しない まる秘 下 する
× 3 On B4 4アップ 400% よこ 短辺とじ しない 回覧 左 しない
○ DMY_1 On はがき 8アップ DMY_なし よこ DMY_なし しない 社外秘 右 する
× 1 Off A3 2アップ 25% よこ 短辺とじ 短辺左 回覧 右 する
○ 2 Off A4 しない なし よこ DMY_なし 短辺左 社外秘 左 しない
× 3 Off B4 8アップ DMY_なし たて なし 短辺左 なし 下 する
× DMY_1 Off はがき 4アップ 400% たて 長辺とじ 短辺左 まる秘 上 しない
○ 1 Off A4 4アップ DMY_なし よこ なし 短辺右 まる秘 左 する
× 2 Off A3 8アップ 400% よこ 長辺とじ 短辺右 なし 右 しない
○ 3 Off はがき しない 25% たて 短辺とじ 短辺右 社外秘 上 する
× DMY_1 Off B4 2アップ なし たて DMY_なし 短辺右 回覧 下 しない
× 1 On A4 8アップ 400% たて 短辺とじ 短辺上 社外秘 下 しない
○ 2 On A3 4アップ DMY_なし たて DMY_なし 短辺上 回覧 上 する
× 3 On はがき 2アップ なし よこ なし 短辺上 まる秘 右 しない
× DMY_1 On B4 しない 25% よこ 長辺とじ 短辺上 なし 左 する
× 1 Off はがき しない DMY_なし よこ 長辺とじ 長辺左 回覧 下 しない
× 2 Off B4 2アップ 400% よこ なし 長辺左 社外秘 上 する
× 3 Off A4 4アップ 25% たて DMY_なし 長辺左 なし 右 しない
× DMY_1 Off A3 8アップ なし たて 短辺とじ 長辺左 まる秘 左 する
× 1 On はがき 2アップ 400% たて DMY_なし 長辺右 なし 左 する
× 2 On B4 しない DMY_なし たて 短辺とじ 長辺右 まる秘 右 しない
× 3 On A4 8アップ なし よこ 長辺とじ 長辺右 回覧 上 する
× DMY_1 On A3 4アップ 25% よこ なし 長辺右 社外秘 下 しない
× 1 On B4 4アップ なし たて 長辺とじ 長辺上 社外秘 右 する
× 2 On はがき 8アップ 25% たて なし 長辺上 回覧 左 しない
× 3 On A3 しない 400% よこ DMY_なし 長辺上 まる秘 下 する
× DMY_1 On A4 2アップ DMY_なし よこ 短辺とじ 長辺上 なし 上 しない
× 1 Off B4 8アップ 25% よこ DMY_なし DMY_しない まる秘 上 しない
× 2 Off はがき 4アップ なし よこ 短辺とじ DMY_しない なし 下 する
○ 3 Off A3 2アップ DMY_なし たて 長辺とじ DMY_しない 社外秘 左 しない
○ DMY_1 Off A4 しない 400% たて なし DMY_しない 回覧 右 する
禁則処理がテスト項目にどのように含まれているのかを確認してみました。
32項目あるテスト項目のうち25項目が禁則処理を含んでいることが分かります。
このままでは、正常系のテストが出来ないので、禁則関係にある水準を別な水準に変更する必要があります。
実際のソフトウェアでは因子の数もたくさんあり、禁則の数も膨大です。これらを一つ一つチェックし、組合せの
出現頻度を維持しながら、テスト実施可能なテスト項目を作成するのはたいへんな作業です。
直交表は、全ての組合せを保証してくれるのですが、その反面、禁則の回避をあらかじめしておかないと、
正常系のテスト項目として成り立たなくなってしまいます。
- 44. 44
相互排他因子融合手法
融合する
抽象化、又は、ダミー水準の付与
を行い、線点図に割付ける。
今回は8水準線点図
1
3
2 6
5
4
7
直交表に融合した状態で割付ける 融合した因子を分離する
融合を分離
相互排他関係にある条件因子と禁則設定因子を融合してしまいます。
まとめて1枚
し
な
い
2
u
p
4
u
p
8
u
p
拡
大
縮
小
しない
25%
70%
400%
拡大縮小 / まとめて1枚
しない・しない
25%・しない
70%・しない
400%・しない
しない・2up
しない・4up
しない・8up
拡大縮小/まとめて1枚 8 9 10 11 12 13 14 15
1 しない・しない 0 0 0 0 0 0 0 0
2 しない・しない 1 1 1 1 1 1 1 1
3 25%・しない 0 0 0 0 1 1 1 1
4 25%・しない 1 1 1 1 0 0 0 0
5 70%・しない 0 0 1 1 0 0 1 1
6 70%・しない 1 1 0 0 1 1 0 0
7 400%・しない 0 0 1 1 1 1 0 0
8 400%・しない 1 1 0 0 0 0 1 1
9 しない・2up 0 1 0 1 0 1 0 1
10 しない・2up 1 0 1 0 1 0 1 0
11 しない・4up 0 1 0 1 1 0 1 0
12 しない・4up 1 0 1 0 0 1 0 1
13 しない・8up 0 1 1 0 0 1 1 0
14 しない・8up 1 0 0 1 1 0 0 1
15 DMYしない・2up 0 1 1 0 1 0 0 0
16 DMYしない・2up 1 0 0 1 0 1 1 0
拡大縮小 まとめて1枚 8 9 10 11 12 13 14 15
1 しない しない 0 0 0 0 0 0 0 0
2 しない しない 1 1 1 1 1 1 1 1
3 25% しない 0 0 0 0 1 1 1 1
4 25% しない 1 1 1 1 0 0 0 0
5 70% しない 0 0 1 1 0 0 1 1
6 70% しない 1 1 0 0 1 1 0 0
7 400% しない 0 0 1 1 1 1 0 0
8 400% しない 1 1 0 0 0 0 1 1
9 しない 2up 0 1 0 1 0 1 0 1
10 しない 2up 1 0 1 0 1 0 1 0
11 しない 4up 0 1 0 1 1 0 1 0
12 しない 4up 1 0 1 0 0 1 0 1
13 しない 8up 0 1 1 0 0 1 1 0
14 しない 8up 1 0 0 1 1 0 0 1
15 しない 2up 0 1 1 0 1 0 0 0
16 しない 2up 1 0 0 1 0 1 1 0
- 46. 46
多層化処理
Sub Matrix 1
Sub Matrix 2
Sub Matrix 3
L16に
割付ける
L4に
割付ける
L8に
割付ける
出力用紙サイズ A4
B4
両面 しない
長辺とじ
短辺とじ
給紙トレイ トレイ1
トレイ2
トレイ3
両面 長辺とじ
短辺とじ
とじしろ裏 しない
する
とじしろ裏 する
とじしろ裏 0
10
50
出力用紙サイズ
SubMatrix
両面 給紙トレイ
とじしろ裏
とじしろ裏(幅)
出力用紙
サイズ
とじしろ裏
両面
Main Matrix
Sub Matrix 1
MainMatrixへ連結
因子の出現が他の因子に依存する場合、
外部の直交表(Sub Matrix)に割付け、後からMainMatrixへ連結
因子A 因子B 因子C 因子D
Sub Matrix 2
Sub Matrix 3
- 47. 47
可変因子処理
2) パターンの生成1) 禁則マトリクスのパターンの解析 3) とじしろ位置の
仮想因子の作成
同一列への割付
とじしろ位置
し
な
い
短
辺
左
短
辺
右
短
辺
上
長
辺
左
長
辺
右
長
辺
上原稿の
向き
両面
たて なし
たて 長辺
たて 短辺
よこ なし
よこ 長辺
よこ 短辺
とじしろ位置
し
な
い
短
辺
左
短
辺
右
短
辺
上
長
辺
左
長
辺
右
仮想1
し
な
い
短
辺
上
長
辺
左
長
辺
右
仮想2
し
な
い
長
辺
左
長
辺
右
仮想3
し
な
い
短
辺
左
短
辺
右
仮想4
し
な
い
長
辺
上
用紙サイズ 原稿の向き 両面 とじしろ位置 出力トレイ 部数
A4 たて なし 0 トレイ1 1
A4 たて 長辺 11 トレイ2 2
A4 よこ 短辺 101 トレイ3 1
A4 よこ DMY_なし 110 手差し 2
B4 よこ なし 110 手差し 1
B4 よこ 長辺 101 トレイ3 2
B4 たて 短辺 11 トレイ2 1
B4 たて DMY_なし 0 トレイ1 2
A3 よこ なし 11 トレイ2 2
A3 よこ 長辺 0 トレイ1 1
A3 たて 短辺 110 手差し 2
A3 たて DMY_なし 101 トレイ3 1
B5 たて なし 101 トレイ3 2
B5 たて 長辺 110 手差し 1
B5 よこ 短辺 0 トレイ1 2
B5 よこ DMY_なし 11 トレイ2 1
- 48. 48
禁則回避手法のまとめ
概 略禁則回避手法名禁則関係
IF、FF、ME、AFを割付ける直交表
(:Main Matrix) とは別の小さなマトリクス
(:Sub Matrix)に割付けを行い、あとから
Sub MatrixをMain Matrixに結合する。
条件因子側の水準パターンに応じて、
仮想的な因子をパターンの数だけ作成し
仮想因子をMain Matrixに割付ける。
相互排他関係にある因子を融合して
1因子にしてしまう
多層化手法
可変因子手法
相互排他因子融合手法
因子の出現が他の因子の保有
する水準の出現に依存する
複雑な禁則関係
相互排他関係
説明で用いた禁則関係では、簡単化のために、それぞれの禁則関係を独立させて割付けを実施
しましたが、実際には、相互に禁則関係が入り組んでいて難解なものになっている場合も有ります。
そのような場合でも、順番に禁則回避手法に従って割付を実施すれば、自然にマトリクスは出来上がります