Contenu connexe
Plus de Kouichi Akiyama (12)
N-Switchカバレッジテストの問題点と解決策
- 2. 目次
1. 状態遷移テスト
2. N-Switchカバレッジ
3. N-Switchカバレッジの問題点
4. 本手法(PathCombo法)
5. 本手法(PathCombo法)before / after
6. PathCombo法の効果
7. 残課題と今後の取組み
© 2013 Fuji Xerox Co., Ltd. All rights reserved. 2
- 3. 1. 状態遷移テスト(状態遷移図・状態遷移表)
© Fuji Xerox Co., Ltd. All Rights Reserved. 3
状態遷移図を描く
状態遷移表を書く
• 状態×イベント
セルをテストする
• 遷移すること
• 遷移しないこと(N/A)
状態
イベント |
スタート 連続再生 リピート再生 エンド
CD挿入 連続再生 N/A N/A N/A
曲送り N/A 連続再生 N/A N/A
Repeat N/A リピート再生 連続再生 N/A
Eject N/A エンド エンド N/A
- 4. 2. N-Switchカバレッジ(1-Switch,2-Switch,……)
© Fuji Xerox Co., Ltd. All Rights Reserved. 4
N-Switchカバレッジでは
N+1回の状態遷移を網羅す
るパスをテストする
関係行列を書く
• 遷移元×遷移先
関係行列をN+1乗する
遷移先
遷移元 |
スタート 連続再生 リピート エンド
スタート CD挿入
連続再生 曲送り Repeat Eject
リピート再生 Repeat Eject
エンド
遷移先
遷移元 |
スタート 連続再生 リピート エンド
スタート CD挿入
*曲送り
CD挿入
*Repeat
CD挿入
*Eject
連続再生 曲送り
*曲送り
+Repeat
*Repeat
曲送り
*Repeat
曲送り
*Eject
+Repeat
*Eject
リピート再生 Repeat
*曲送り
Repeat
*Repeat
Repeat
*Eject
エンド
S0 S1 S2
データ破壊 故障顕在化
状態遷移 1-Switch
- 5. 3. N-Switchカバレッジの問題点
© Fuji Xerox Co., Ltd. All Rights Reserved. 5
イベントが複数存在する場合に,N-Switchカバレッジを適用しようとすると
パスが非常に複雑になる
例)カーオーディオでは,一つの命令(イベント)を,画面タッチ,
ボタン操作,リモコン操作,後部座席からの4つの操作で実現している
左図の非常に単純な状態遷移であっても,A {a, b, c, d},I{i, j, k,
l},M {m, n, o, p}のイベントが存在する場合,
S0→S0: (a + b + c + d)2 と(i + j + k + l)×(m + n + o + p)
aa+ab+ac+ad+ba+bb+bc+bd+ca+cb+cc+cd+da+db+dc+dd+im+in+io+ip+jm+jn+jo+j
p+km+kn+ko+kp+lm+ln+lo+lp
S0→S1:
ai+aj+ak+al+bi+bj+bk+bl+ci+cj+ck+cl+di+dj+dk+dl
S1→S0:
ma+mb+mc+md+na+nb+nc+nd+oa+ob+oc+od+pa+pb+pc+pd
S1→S1:
mi+mj+mk+ml+ni+nj+nk+nl+oi+oj+ok+ol+pi+pj+pk+pl
遷移パスは,80通り(イベント数は160イベント)出現する
- 6. 3. N-Switchカバレッジの問題点(補足)
© Fuji Xerox Co., Ltd. All Rights Reserved. 6
S0
a
b
c
d
a = 画面タッチ
b = ボタン操作
c = リモコン操作
d = 後部座席から
A2 = (a + b + c + d)2
= aa+ab+ac+ad+ba+bb+bc+bd+ca+cb+cc+cd+da+db+dc+dd
A
- 7. 4. 本手法(PathCombo法)
© Fuji Xerox Co., Ltd. All Rights Reserved. 7
本手法(PathCombo法)は,状態遷移とイベントの組合せを分けて考える.
1. イベントを一つにまとめてN-Switchカバレッジパスを求める
2. パスを連結し一本の長いパスを作成する
3. まとめたイベントを因子、元のイベントを水準として直交表に割り付け組
み合わせる(水準集約法を使用して直交表の大きさは固定する)
1. イベントをA,M,Iのままパスを求める
S0→S0について,AA+IM
S0→S1について,AI
S1→S0について,MA
S1→S1について,MI
2. パスを1本に連結する
[S0]:A→[S0]:A→[S0]:I→[S1]:M→[S0]:A→[S0]:I→[S1]:
M→[S0]:I
3. まとめたイベントを因子、元のイベントを水準として
直交表に割り付ける
A1{a, b, c, d},A2{a, b, c, d},I1{i, j, k, l},M1{m, n, o, p},
A3{a, b, c, d},I2{i, j, k, l},M2{m, n, o, p}, I2{i, j, k, l}
- 8. 4. 本手法(PathCombo法の補足:L16水準集約法とは)
© Fuji Xerox Co., Ltd. All Rights Reserved. 8
水準集約法とは直交表を横に複数並べる方法
1. L16は4水準の因子が5列存在する
2. 横に並べると5列ごとに同じ列(同じ水準通しの
組合せしか現れない列)が発生する
3. 逆に言うと,前後4列との水準組合せは出現する
4. そもそも1-Switchカバレッジは前後のイベントの
水準組合せを出せばよい
A A I M A
1 a a i m
2 a b j n
3 a c k o
4 a d l p
…
d c j m
d d l n
I M I 4 5 1 2 3 4 5 1 2 3 4 5
15
16
前後4列との2列間組合せが現れる
- 9. 5. 本手法(PathCombo法) before / after
© Fuji Xerox Co., Ltd. All Rights Reserved. 9
1. イベントをA,M,Iのままパスを求める
S0→S0について,AA+IM
S0→S1について,AI
S1→S0について,MA
S1→S1について,MI
2. パスを連結する [S0]:A→[S0]:A→[S0]:I→[S1]:M→[S0]:A→[S0]:I→[S1]:M→[S0]:I
3. イベントを因子として直交表に割り付ける
A1{a, b, c, d},A2{a, b, c, d},I1{i, j, k, l},M1{m, n, o, p},A3{a, b, c, d},I2{i, j, k, l},
M2{m, n, o, p}, I2{i, j, k, l}
S0→S0について
aa+ab+ac+ad+ba+bb+bc+bd+ca+cb+cc+cd+da+db+dc+dd+im+in+io+ip+jm+jn+jo+jp+km+kn+ko+kp+lm
+ln+lo+lp
S0→S1について
ai+aj+ak+al+bi+bj+bk+bl+ci+cj+ck+cl+di+dj+dk+dl
S1→S0について
ma+mb+mc+md+na+nb+nc+nd+oa+ob+oc+od+pa+pb+pc+pd
S1→S1について
mi+mj+mk+ml+ni+nj+nk+nl+oi+oj+ok+ol+pi+pj+pk+pl
N-Switch
面倒!
PathCombo
簡単!
- 10. 6. PathCombo法の効果
© Fuji Xerox Co., Ltd. All Rights Reserved. 10
No. A1 A2 I1 M1 A3 I2 M2 I3
1 a a i m a i m i
2 b b j n a j n j
3 c c k o a k o k
4 d d l p a l p l
5 c a j p b k m j
6 d b i o b l n i
7 a c l n b i o l
8 b d k m b j p k
9 d a k n c l m k
10 c b l m c k n l
11 b c i p c j o i
12 a d j o c i p j
13 b a l o d j m l
14 a b k p d i n k
15 d c j m d l o j
16 c d i n d k p i
本手法(PathCombo法)は,状態遷移とイベントの組合せを分けて考える.
1. 従来のN-Switchでは160イベントのバラバラなテストを必要とした
2. 本手法では128イベントで16回のテストとなった
(=8個の因子×16回のテスト)
3. 1-Switchカバレッジは満たし,さらにL16水準集約法なので前後4イベン
トの組合せが出現している
4. 実際に医療機器の状態遷移テストへ適用済(状態数20程度)
- 11. 7. 残課題と今後の取組み
© Fuji Xerox Co., Ltd. All Rights Reserved. 11
1. N-Switchテストでは,Nが増加するごとにテスト数は指数関数的(階乗)
に増加する.
2-Switchであれば,強度3のL125を使って5水準の因子を5列ずつ水準集
約法で割り付ければよいがテスト数がだいぶ多くなる(125回).
テストの効果と効率を考えると, Nにいくつの値を取るのが最適値なのか
に論理的に答えを出したい.
2. また,N-Switchカバレッジのテストを不要とするためのソフトウェアテス
ト設計技術(もしくはレビュー手法)について考えていきたい.