ICSE 2011勉強会 Web Surfing 担当:名大・阿草研 ICSE 2011勉強会 Automated Cross-Browser Comparibility Testing 担当:渥美 紀寿 Contribution cross-browser の互換性問題について定義し,可能な解 決案について議論 cross-browser compatibility の自動テスト手法の提案 オープンソースと商用のWebアプリケーションに適用して 手法の評価 4 ICSE2011 勉強会 11/07/05 Cross-Browser Compatibility Problem A. クライアントサイドの内部 状態の違い B. C. ブラウザを通して確認可 能な違い A∩B D. 提案手法で検出 Figure 2: Browser incompatibility landscape. • B-A: CSSの表現の違いなど (本研究の対象外) • A-B: ユーザが観測できない DOM 表現の違い (互換性の問題ではない) • C: 検出したい問題 5 ICSE2011 勉強会 11/07/05 Approach 異なるブラウザ環境でWebアプリケーションをクロール し,キャプチャ,観測される振舞いを蓄積 (CRAWLJAX) ⇒ finite state machine state graph の構築 1. 2. 3. 状態:Webブラウザの画面を表現 遷移:ユーザのアクション(クリック,マウスオーバ) (アクション によってラベル付け) ブラウザ間の比較 1. 2. 状態を単に頂点とみなして比較 DOM の(screen model)比較 CSS などのブラウザ間の表現の違いを無視 (valign=“center” or “middle”) 6 ICSE2011 勉強会 11/07/05 Evaluation オープンソース,商用エンタープライズWeb Application を対象に実験 false-negative (C-D) : なし false-positive (D-C) : state graph のエッジのラベルの違い 順番が入れ替わっても問題のないタグの順番違い 検出された例 メニュアイコンが表示されるか否か <LABEL class=“icon—538763880”></LABEL> Firefox のバグにより,load が完了しない ブラウザによって実行されない JavaScript 関数 7 ICSE2011 勉強会 11/07/05 A Framework for Automated Testing of JavaScript Web Applications 担当:渥美 紀寿 Contribution JavaScript Web アプリケーションに対する自動 feedback-directed テストのための柔軟なフレームワーク の提案 異なる優先付け方法,入力生成方法を用いることによっ て,実用的なテスト生成アルゴリズムを得られた シンプルなアルゴリズムでも100テストでカバレッジが69% で,ベストなアルゴリズムで 72 % 9 ICSE2011 勉強会 11/07/05 Test Framework worklist ← (URL u0, State S0, Sequence s0) worklist から優先度の高い順にテストケースを取り出す 1. 2. (u, S, s1...sn) ページをロード フォームフィールド,ブラウザパラメータのセット,イベントの実行 worklist 中の優先度の再計算 シーケンスの最後のイベントの入力を変更したものを worklist に加える 3. 4. 5. 6. add(u, S, s1...sn-1.G.generateVariants(sn)) worklist にページ中のイベント pi を全て加える 7. add (u, S, s1...sn.G.generateNew(pi)) worklist にページ中の URL ui を全て加える 8. add(ui, S0, s0) 2 に戻る (worklist が空になるまで) (*) worklistへの追加は優先度を付けて行う 9. 10 ICSE2011 勉強会 11/07/05 Prioritization and Input Generation Prioritization P0 (c) =1 カバレッジが低いほど高い シーケンスが長いほど高い P1 (c) =1- cov(e1 )´¼´ cov(en ) P2 (c) = 前に実行したイベントに関 連するものほど高い | (written(e1 )È¼È written(en-1 ))Çread(en ) | +1 | read(en ) | +1 Input Generation G0 button parameter = 0 generateNew empty string, unselected generateVariants ソースプログラム中でセットされた定数をランダムに選択 G1 イベントハンドラの実行で利用される定数をランダムに選択 11 ICSE2011 勉強会 11/07/05 Evaluation Table 1: Test generation Algorithms シンプルなアルゴリズムでも高いカバレッ ジになった いくつかのHTMLエラー,実行エラーを検 出できた このフレームワークを利用することによっ て,他の戦略を利用するなど今後の発展 が期待できる Table 2: Benchmark characteristics and summary of experimental results 12 ICSE2011 勉強会 11/07/05 ICSE 2011勉強会 Coalescing Executions for Fast Uncertainty Analysis
© Copyright 2024 ExpyDoc