1 / 19

ICSE’13 勉強会 Session H : Test-Case Selection

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 データ 井ノ口 伸人. 研究の目的と主要な貢献. 研究の目的

matteo
Download Presentation

ICSE’13 勉強会 Session H : Test-Case Selection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ICSE’13 勉強会Session H : Test-Case Selection 2013年7日9日(火) NTT朱色のチーム

  2. 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) のいいとこ取りをしたMulti-point Stride Coverage (MPSC) の提案 • 主要な貢献 • MPSCは、DFCより小さいオーバーヘッドで、同じくらいうまくテストスイートの効率の予測できる • が…… 予測性能 MPSC DFC CFC コスト ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage

  4. MPSCの概要 begin • 2つのパラメータを持つbranchesの組 • gap (g): branchesの間にあるbranchesの数 • points (p):組に含まれるbranchesの数 • 例:右図フロー (g=1, p=3) • (begin, begin, b1), (begin, b1, b2), (b1, b2, b3), (b2, b3, b4),(b3, b4, end), (b4, end, end) b1 b2 b3 b4 end ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage

  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

  6. 評価結果 • 定量評価 (TABLE II) • MPSC: 7/15でAdj R2最大 • CFC: 7/15でAdj R2最大 • DFC: 1/15でAdj R2最大 • 考察 • 各カバレッジのAdj R2の大きさはほぼ同じで、実用上の差異はほとんどない • 期待に反し、DFCの予測性能が低い。テストケース数も用いているためかも Fig. 5. MPSC vs. number of mutants detected for g= 10and 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

  7. 紹介者の所感 • 実用上はブランチカバレッジで十分そう • 性能評価の紹介は割愛しました • Research Questionを立て、それに応える形式で書かれているので、対応が取りやすい 予測性能 • 指標の妥当性についての議論もある (恐らく心理学から転用) • internal validity • external validity • construct validity CFV MPSC DFC コスト ICSE‘13 勉強会 H1 : Comparing Multi-point Stride Coverage and Dataflow Coverage

  8. ★H2 : Interaction-Based Test-Suite Minimization Dale Blue, ItaiSegall, Rachel Tzoref-Brill, and AviadZlotnick IBM, USA; IBM Research, Israel 発表者:株式会社NTTデータ 朱峰 錦司

  9. 研究の目的 • 背景 • 組み合わせテスト設計(CTD)は重要な技術 • パッケージソフトウェアなど、テストすべきパターンが膨大なソフトウェアが増えている • CTDの適用は難しい • 組み合わせ制約をモデリングするのが大変 • 新たに作成された組み合わせパターンを具体的なテストケースに落とし込むのが大変 • 目的と貢献 • 組み合わせパターンのカバレッジを落とさずに、既存のテストケースを削減する手法を確立 • ITSM(Interaction-based Test-Suite Minimization) • 実プロジェクトでのケーススタディを通して手法の有用性を確認 テストエンジニアの心情 テストエンジニアの心情 ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization

  10. ITSMのアプローチ(1/2) • 一般的なCTDの適用 Pairwise法(2パラメータ間の 組み合わせパターンを網羅)の適用 15件の組み合わせパターンでOK (出所)Dale Blue, ItaiSegall, Rachel Tzoref-Brill, and AviadZlotnick; 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

  11. ITSMのアプローチ(2/2) • ITSMの適用 既存の50件のテストケース 2パラメータ間の組み合わせパターンカバレッジを保つように削減 22件の組み合わせパターンでOK (出所)Dale Blue, ItaiSegall, Rachel Tzoref-Brill, and AviadZlotnick; 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

  12. 評価方法と結果 • 実プロジェクト適用による評価 • 2つの詳細なケーススタディ • 既存のテストケース(手法のインプット)の組み合わせパターンカバレッジは十分か? • どれぐらいテストケースを削減できたか? • 処理にどれぐらい時間がかかったか? • 1つめのケーススタディの結果を以下に紹介 工夫したアルゴ リズムも有用 削減効果大 (出所)Dale Blue, ItaiSegall, Rachel Tzoref-Brill, and AviadZlotnick; 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

  13. 紹介者の所感 • 有用性の高さ • 「組み合わせテスト」という、地味だけど現場でのニーズが増えている分野を攻めている • 「既存のテストケースが存在する」という、現場の実情に沿った前提を置いている • 精度/コストのトレードオフをきちんと考慮したアルゴリズムを提案している • 実プロジェクトでの検証 • 詳細なケーススタディ2件に加え、8件の実プロジェクト適用結果も掲載している • 鉄壁の防御 • ことあるごとに「ここでは関心外とする」的な予防線をはりつつ、参考文献はきちんと載せている • ex.) テストケース削減によるバグ発見能力の低下は議論の余地はあるが、[7][8][12][13]あたりを参考に、FutureWorkとして扱う ICSE‘13 勉強会 H2 : Interaction-Based Test-Suite Minimization

  14. 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 strategy • それ以前のテストで未カバーの部分をカバーしていく • 故障発見確率が高い対象に有効(1回叩けば十分) • Total strategy • 1つのテストケースでなるべく広範囲をカバーする • 故障発見確率が低い対象に有効(何度も叩く必要) • 定量的な評価により、効果を実証的に提示 ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies

  16. 提案手法の概要 • p値によるテストケースの並べ替えアルゴリズムを提案 • p値: テストケースがメソッド内の故障を発見できる確率 • 基本手法では一様なp値とし、応用手法ではメソッドごとの複雑度で調整 • 並べ替え: p値に基づいて行われる(詳細なアルゴリズムは論文を参照) p値が高い → 故障を発見しやすい → Additional strategyに漸近 t1 t2 • t3 テストケース ・・・ カバレッジ p値の設定 テスト対象 メソッド p値が低いとき → 故障を発見しづらい → Total strategyに漸近 u1 u2 • u3 ・・・ ICSE‘13 勉強会 H3 : Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies

  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

  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

  19. SessionHおわり ICSE'13 勉強会 セッション:Test-Case Selection

More Related