一句话:Avgust 利用视频与神经图像理解生成应用无关状态机,并为目标应用合成基于使用场景的 UI 测试。
移动应用 UI 测试的编写与维护耗时且繁琐。现有自动生成方法多关注崩溃检测或代码覆盖率最大化,但开发者更偏好围绕具体功能使用路径的基于使用场景的测试。Avgust 自动化此类测试生成的关键步骤:先用神经图像理解模型处理应用使用视频,合成与应用无关的状态机编码,表示用户操作与界面语义;再据此为目标应用合成测试用例。作者在 18 个流行应用的 374 段常见使用视频上评估,69% 的生成测试能成功执行预期使用路径,且其分类器优于当前最佳方法。
Writing and maintaining UI tests for mobile apps is a time-consuming and tedious task. While decades of research have produced auto- mated approaches for UI test generation, these approaches typically focus on testing for crashes or maximizing code coverage. By contrast, recent research has shown that developers prefer usage-based tests, which center around specific uses of app features, to help support activities such as regression testing. Very few existing techniques support the generation of such tests, as doing so requires automating the difficult task of understanding the semantics of UI screens and user inputs. In this paper, we introduce Avgust, which automates key steps of generating usage-based tests. Avgust uses neural models for image understanding to process video recordings of app uses to synthesize an app-agnostic state-machine encoding of those uses. Then, Avgust uses this encoding to synthesize test cases for a new target app. We evaluate Avgust on 374 videos of common uses of 18 popular apps and show that 69% of the tests Avgust generates successfully execute the desired usage, and that Avgust’s classifiers outperform the state of the art.
@inproceedings{paperbot7079,
title = {Avgust: automating usage-based test generation from videos of app executions},
author = {Yixue Zhao and Saghar Talebipour and Kesina Baral and Hyojae Park and Leon Yee and Safwat Ali Khan and Yuriy Brun and Nenad Medvidović and Kevin Moran},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3549134}
}