Transcript H - qwik.jp
+
ICSE’13 勉強会
Session H : Test-Case Selection
2013年7日9日(火)
NTT朱色のチーム
+
H1 : Comparing Multi-point Stride
Coverage and Dataflow Coverage
Md. Mahdi Hassan and James H. Andrews
University of Western Ontario, Canada
発表者:株式会社NTTデータ 井ノ口 伸人
+
3
研究の目的と主要な貢献
研究の目的
(Control Flow Coverage,
CFC) とデータフローカバレッジ (Data Flow
Coverage, DFC) のいいとこ取りをした Multipoint Stride Coverage (MPSC) の提案
制御フローカバレッジ
主要な貢献
MPSCは、DFCより小さい
オーバーヘッドで、同じく
らいうまくテストスイート
の効率の予測できる
が……
予
測
性
能
MPSC
DFC
CFC
コスト
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow
Coverage
2013/7/9
+
4
MPSCの概要
2つのパラメータを持つ
branchesの組
(g): branchesの間にある
branchesの数
points (p): 組に含まれる
branchesの数
gap
例:右図フロー
(g=1, p=3)
(begin,
begin, b1), (begin, b1, b2),
(b1, b2, b3), (b2, b3, b4),
(b3, b4, end), (b4, end, end)
begin
b1
b2
b3
b4
end
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow
Coverage
2013/7/9
+
5
評価方法
評価手順
SIRから15の対象プログラムを取得
(TABLE I)
以下の計測コードと100のmutationsを埋め込み
CFC (ブランチカバレッジ)
DFC (データフローカバレッジ)
MPSC (g=0 to 10, p=2 to 5)
3~50のテストケースを20ずつ無作為抽出し実行
評価指標
カバレッジを説明変数に含む、killできた
mutationsの割合予測モデルの自由度調整済み決
定係数(Adj R2) で評価
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow
Coverage
2013/7/9
+
6
評価結果
定量評価
(TABLE II)
MPSC:
7/15でAdj R2最大
CFC: 7/15でAdj R2最大
DFC: 1/15でAdj R2最大
考察
R2の大き
さはほぼ同じで、実用上の差
異はほとんどない
期待に反し、DFCの予測性能
が低い。テストケース数も用
いているためかも
各カバレッジのAdj
Fig. 5. MPSC vs. number of
mutants detected for g = 10 and p
= 5, subject program nanoxml
(出所) HASSAN, Mohammad Mahdi; ANDREWS, James H.
Comparing multi-point stride coverage and dataflow coverage. In:
Proc. of the 2013 ICSE. IEEE Press, 2013. p. 172-181.
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow
Coverage
2013/7/9
+
7
紹介者の所感
実用上はブランチカバレッジで十分そう
性能評価の紹介は割愛しました
Research
Questionを立て、それに応える
形式で書かれているので、対応が取りやすい
指標の妥当性についての
議論もある (恐らく心理
学から転用)
予
測
性
能
validity
external validity
construct validity
CFVMPSCDFC
internal
ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow
Coverage
コスト
2013/7/9
+
★H2 : Interaction-Based Test-Suite
Minimization
Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick
IBM, USA; IBM Research, Israel
発表者:株式会社NTTデータ 朱峰 錦司
+
9
研究の目的
背景
組み合わせテスト設計(CTD)は重要な技術
パッケージソフトウェアなど、テストすべきパターンが膨大なソフ
トウェアが増えている
CTDの適用は難しい
組み合わせ制約をモデリングするのが大変
新たに作成された組み合わせパターンを具体的なテストケースに
落とし込むのが大変
目的と貢献
テストエンジニアの心情
組み合わせパターンのカバレッジを落とさずに、既存のテス
トケースを削減する手法を確立
テストエンジニアの心情
ITSM(Interaction-based Test-Suite Minimization)
実プロジェクトでのケーススタディを通して手法の有用性を
確認
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
2013/7/9
+
10
ITSMのアプローチ(1/2)
一般的なCTDの適用
Pairwise法(2パラメータ間の
組み合わせパターンを網羅)の適用
15件の組み合わせパターンでOK
(出所) Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick; IBM, USA; IBM Research, Israel; Interaction-Based Test-Suite
Minimization. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 182-191.
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
2013/7/9
+
11
ITSMのアプローチ(2/2)
ITSMの適用
既存の50件のテストケース
2パラメータ間の組み合わせパター
ンカバレッジを保つように削減
22件の組み合わせパターンでOK
(出所) Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick; IBM, USA; IBM Research, Israel; Interaction-Based Test-Suite
Minimization. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 182-191.
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
2013/7/9
+
12
評価方法と結果
実プロジェクト適用による評価
2つの詳細なケーススタディ
既存のテストケース(手法のインプット)の組み合わせパ
ターンカバレッジは十分か?
どれぐらいテストケースを削減できたか?
処理にどれぐらい時間がかかったか?
1つめのケーススタディの結果を以下に紹介
削減効果大
工夫したアル
ゴ
リズムも有用
(出所) Dale Blue, Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick; IBM, USA; IBM Research, Israel; Interaction-Based Test-Suite
Minimization. In: Proc. of the 2013 ICSE. IEEE Press, 2013. p. 182-191.
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
2013/7/9
+
13
紹介者の所感
有用性の高さ
「組み合わせテスト」という、地味だけど現場でのニーズが
増えている分野を攻めている
「既存のテストケースが存在する」という、現場の実情に
沿った前提を置いている
精度/コストのトレードオフをきちんと考慮したアルゴリズ
ムを提案している
実プロジェクトでの検証
詳細なケーススタディ2件に加え、8件の実プロジェクト適
用結果も掲載している
鉄壁の防御
ことあるごとに「ここでは関心外とする」的な予防線をはり
つつ、参考文献はきちんと載せている
ex.) テストケース削減によるバグ発見能力の低下は議論の余地はあ
るが、[7][8][12][13]あたりを参考に、FutureWorkとして扱う
ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization
2013/7/9
+
H3 : Bridging the Gap between the Total and
Additional Test-Case Prioritization Strategies
Lingming Zhang, Dan Hao, Lu Zhang, Gregg Rothermel, and Hong Mei
University of Texas at Austin, USA; Peking University, China; University of Nebraska-Lincoln, USA
発表者:NTT・ソフトウェアイノベーションセンタ
田端 啓一
+
15
研究の目的と主要な貢献
回帰テストの並べ替えで故障検出率を増加
2つのテストケース並べ替え戦略を融合
Additional
それ以前のテストで未カバーの部分をカバーしていく
故障発見確率が高い対象に有効(1回叩けば十分)
Total
strategy
strategy
1つのテストケースでなるべく広範囲をカバーする
故障発見確率が低い対象に有効(何度も叩く必要)
定量的な評価により、効果を実証的に提示
ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization
Strategies
2013/7/9
+
16
提案手法の概要
p値によるテストケースの並べ替えアルゴリズムを提案
p値: テストケースがメソッド内の故障を発見できる確率
基本手法では一様なp値とし、応用手法ではメソッドごとの複雑度で調整
並べ替え: p値に基づいて行われる(詳細なアルゴリズムは論文を参照)
p値が高い
→ 故障を発見しやすい
→ Additional strategyに漸近
p値の設定
p値が低いとき
→ 故障を発見しづらい
→ Total strategyに漸近
テストケース
t1
t2
t3
・・・
u1
u2
u3
・・・
カバレッジ
テスト対象
メソッド
ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization
Strategies
2013/7/9
+
17
評価方法と結果
評価手法と基準
3つのプログラムの計19バージョンで調査
APFD(平均故障検出パーセンテージ)で評価
APFDは
高いほうが良い
評価の一例を抜粋
論文本文より抜粋
Additional
Total
p値の設定
評価結果
TotalよりAdditionalの方が優秀だった
Additionalよりも提案手法の方が優秀なp値の区間が存在した
ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization
Strategies
2013/7/9
+
18
紹介者の所感
評価プログラムの選択が上手い
3つのアプリケーションの異なるバージョンを利用(計19個)
それぞれJUnitによるテストを流用して評価している
対象としているテストの粒度がよくわからない
ユニットテストとは明言していないがJUnitを利用している
結合度の高いテストでもp値を応用できないだろうか?
複雑度指標を取り入れた効果について
メソッドごとのp値をCyclomaticとMLoC(Method LoC)で調整している
評価結果を見ると、著者の主張ほど大きな効果があると言えるか疑問
ソフトウェアメトリクスの信奉派??
ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization
Strategies
2013/7/9
+
2013/7/9
SessionH おわり
ICSE'13 勉強会 セッション:Test-Case Selection
19