Submit Search
Upload
N-Switchカバレッジテストの問題点と解決策
•
4 likes
•
4,013 views
Kouichi Akiyama
Follow
SS2013で発表したものです。 本プレゼン資料に対応する論文を以下に置きました。 http://www.hayst.com/Documents/SS2013-paper.pdf
Read less
Read more
Report
Share
Report
Share
1 of 12
Download now
Download to read offline
Recommended
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
ayohe
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Preferred Networks
分散システムの限界について知ろう
分散システムの限界について知ろう
Shingo Omura
Recommended
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
ayohe
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Preferred Networks
分散システムの限界について知ろう
分散システムの限界について知ろう
Shingo Omura
強化学習その1
強化学習その1
nishio
Goとテスト
Goとテスト
Takuya Ueda
例外設計における大罪
例外設計における大罪
Takuto Wada
Rの高速化
Rの高速化
弘毅 露崎
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
Kaggle Avito Demand Prediction Challenge 9th Place Solution
Kaggle Avito Demand Prediction Challenge 9th Place Solution
Jin Zhan
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
Kimikazu Kato
Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)
Tusyoshi Matsuzaki
Unicode文字列処理
Unicode文字列処理
信之 岩永
MineRL Competition Tutorial with ChainerRL
MineRL Competition Tutorial with ChainerRL
Preferred Networks
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Takuya Akiba
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
ShoutoYonekura
強化学習入門
強化学習入門
Shunta Saito
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
最適輸送入門
最適輸送入門
joisino
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
Kazuyuki Wakasugi
強化学習その2
強化学習その2
nishio
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
cvpaper. challenge
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
20160607 SS2016 FP
20160607 SS2016 FP
Kouichi Akiyama
20160619 wacate 解答
20160619 wacate 解答
Kouichi Akiyama
More Related Content
What's hot
強化学習その1
強化学習その1
nishio
Goとテスト
Goとテスト
Takuya Ueda
例外設計における大罪
例外設計における大罪
Takuto Wada
Rの高速化
Rの高速化
弘毅 露崎
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
Kaggle Avito Demand Prediction Challenge 9th Place Solution
Kaggle Avito Demand Prediction Challenge 9th Place Solution
Jin Zhan
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
Kimikazu Kato
Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)
Tusyoshi Matsuzaki
Unicode文字列処理
Unicode文字列処理
信之 岩永
MineRL Competition Tutorial with ChainerRL
MineRL Competition Tutorial with ChainerRL
Preferred Networks
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Takuya Akiba
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
ShoutoYonekura
強化学習入門
強化学習入門
Shunta Saito
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
最適輸送入門
最適輸送入門
joisino
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
Kazuyuki Wakasugi
強化学習その2
強化学習その2
nishio
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
cvpaper. challenge
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
What's hot
(20)
強化学習その1
強化学習その1
Goとテスト
Goとテスト
例外設計における大罪
例外設計における大罪
Rの高速化
Rの高速化
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Kaggle Avito Demand Prediction Challenge 9th Place Solution
Kaggle Avito Demand Prediction Challenge 9th Place Solution
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)
Unicode文字列処理
Unicode文字列処理
MineRL Competition Tutorial with ChainerRL
MineRL Competition Tutorial with ChainerRL
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
強化学習入門
強化学習入門
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
最適輸送入門
最適輸送入門
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
強化学習その2
強化学習その2
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
Binary indexed tree
Binary indexed tree
Viewers also liked
20160607 SS2016 FP
20160607 SS2016 FP
Kouichi Akiyama
20160619 wacate 解答
20160619 wacate 解答
Kouichi Akiyama
20160619 wacate
20160619 wacate
Kouichi Akiyama
テスト分析・設計について、釈然としないところ
テスト分析・設計について、釈然としないところ
Kosuke Fujisawa
Wacate2015summer_report
Wacate2015summer_report
Kosuke Fujisawa
20170203 test analysisdesign
20170203 test analysisdesign
Kouichi Akiyama
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
ques_staff
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用
Tetsuya Kouno
マインドマップを使った 仕様分析&テスト設計
マインドマップを使った 仕様分析&テスト設計
Akira Ikeda
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
Masaki Nakagawa
概説 テスト分析
概説 テスト分析
崇 山﨑
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
POStudy
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
Tsuyoshi Yumoto
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
Tsuyoshi Yumoto
Viewers also liked
(15)
20160607 SS2016 FP
20160607 SS2016 FP
20160619 wacate 解答
20160619 wacate 解答
20160619 wacate
20160619 wacate
テスト分析・設計について、釈然としないところ
テスト分析・設計について、釈然としないところ
Wacate2015summer_report
Wacate2015summer_report
20170203 test analysisdesign
20170203 test analysisdesign
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用
マインドマップを使った 仕様分析&テスト設計
マインドマップを使った 仕様分析&テスト設計
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
概説 テスト分析
概説 テスト分析
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
More from Kouichi Akiyama
業務状態遷移テストを語る夕べ
業務状態遷移テストを語る夕べ
Kouichi Akiyama
Ralph's Chart連結
Ralph's Chart連結
Kouichi Akiyama
20180421 Issueの書き方と伝えかた勉強会
20180421 Issueの書き方と伝えかた勉強会
Kouichi Akiyama
Oa mat
Oa mat
Kouichi Akiyama
SS2016 Workshop
SS2016 Workshop
Kouichi Akiyama
よいアーキテクチャ、よいライブラリ、よいテスター
よいアーキテクチャ、よいライブラリ、よいテスター
Kouichi Akiyama
20150424 jasst新潟基調講演
20150424 jasst新潟基調講演
Kouichi Akiyama
20080615 wacate
20080615 wacate
Kouichi Akiyama
20140610 秋山-ss2014
20140610 秋山-ss2014
Kouichi Akiyama
Answer
Answer
Kouichi Akiyama
20081024 ja sst-sapporo
20081024 ja sst-sapporo
Kouichi Akiyama
とてか2
とてか2
Kouichi Akiyama
More from Kouichi Akiyama
(12)
業務状態遷移テストを語る夕べ
業務状態遷移テストを語る夕べ
Ralph's Chart連結
Ralph's Chart連結
20180421 Issueの書き方と伝えかた勉強会
20180421 Issueの書き方と伝えかた勉強会
Oa mat
Oa mat
SS2016 Workshop
SS2016 Workshop
よいアーキテクチャ、よいライブラリ、よいテスター
よいアーキテクチャ、よいライブラリ、よいテスター
20150424 jasst新潟基調講演
20150424 jasst新潟基調講演
20080615 wacate
20080615 wacate
20140610 秋山-ss2014
20140610 秋山-ss2014
Answer
Answer
20081024 ja sst-sapporo
20081024 ja sst-sapporo
とてか2
とてか2
N-Switchカバレッジテストの問題点と解決策
1.
N-Switch カバレッジテストの問題点と解決策 ――状態遷移パスと,イベントの組合せの分離と統合 ■SS2013 経験論文 2013年7月9日(火) ソリューション・サービス開発本部
秋山 浩一 © 2013 Fuji Xerox Co., Ltd. All rights reserved.
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カバレッジのテストを不要とするためのソフトウェアテス ト設計技術(もしくはレビュー手法)について考えていきたい.
12.
ご清聴ありがとうございました
Download now