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