(日本語) [修士論文] 変更差分解析に基づくロケータ記述追従によるUIテスト破損の自動修復

Sorry, this entry is only available in 日本語.

小林研M2の池田さんが修士論文を提出しました.

題目:変更差分解析に基づくロケータ記述追従によるUIテスト破損の自動修復
論文概要:

Webアプリケーション開発において、アプリケーションの品質を保つために自働化されたUIテストを用いる開発者は多い。しかし、このようなテストはアプリケーションの進化によって容易に壊れてしまうため、テストの維持が開発者にとって大きな負担となっている。特に、ロケータは操作対象のウィジェットを指定する部分であり、アプリケーションの機能に変更がない場合でも破損しやすく、テスト破損の原因において大きな割合を占めている。

この問題を解決するため、破損したロケータを自働または半自動で修復する手法が提案されてきた。しかし、これらの手法のほとんどはビルドされたHTMLやそれにより描画される画面のみを参照しており、アプリケーションコードを参照することはない。そのため、変更後のアプリケーションで指すべき要素の探索範囲がページ全体と広くなってしまい、困難の要因となっている。

そこで本研究では、アプリケーションコードの差分解析結果をもとに破損したテストステップを自動で修復する手法を提案する。これはWebページ全体のHTMLを解析対象とするよりも、細かくファイルに分割されたアプリケーションコードを解析対象とした方が、変更前後のアプリケーション中の各要素の対応関係が容易かつ正確に作れるのではないかと考えたからである。
アプリケーションコード中のHTML要素を定義している箇所に、差分解析で同一または移動と判定された部分では同一のものになるようテスト用IDを埋め込み、そのテスト用IDがビルド後のHTMLにも露出するようにすることで、テスト用IDに基づいた修復対象の絞り込みを行う。これにより既存手法より高い修復精度を実現し、かつ既存手法では発見の難しい実行時エラーを伴わないテスト破損の発見・修復が行えることを期待する。

提案手法を評価するためオープンソースの開発プロジェクト2件に対し実験を実施しベースラインと精度と実行時間を比較した。その結果、ベースラインと同程度の実行時間でより高い精度を達成できることを確認した。また、少ないオーバーヘッドで実行時エラーを伴わないテスト破損の有無をチェックできることを確認した。

小林研のそのほかの学位論文等の一覧は こちら です.