arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2209.02577cs.SEcs.HC
收藏

Avgust:根据应用程序执行视频自动生成基于使用的测试

Avgust: Automating Usage-Based Test Generation from Videos of App Executions

Yixue Zhao, Saghar Talebipour, Kesina Baral, Hyojae Park, Leon Yee, Safwat Ali Khan, Yuriy Brun, Nenad Medvidovic, Kevin Moran

摘要:

为移动应用编写和维护UI测试是一项耗时且繁琐的任务。虽然数十年的研究已经产生了UI测试生成的自动化方法,但这些方法通常专注于崩溃测试或最大化代码覆盖率。相比之下,最近的研究表明,开发人员更喜欢基于使用的测试,这些测试围绕应用程序功能的特定使用,以帮助支持回归测试等活动。很少有现有的技术支持生成这样的测试,因为这样做需要自动化理解UI屏幕和用户输入的语义的困难任务。在本文中,我们介绍了Avgust,它自动生成基于使用的测试的关键步骤。Avgust使用神经模型进行图像理解,处理应用程序使用的视频记录,以合成这些使用的应用程序不可知状态机编码。然后,Avgust使用这种编码来合成一个新的目标应用程序的测试用例。我们评估了Avgust对18个流行应用程序的374个常见用途的视频,并显示Avgust生成的测试中有69%成功地执行了所需的用途,并且Avgust的分类器优于最先进的技术。

英文摘要:

Writing and maintaining UI tests for mobile apps is a time-consuming and tedious task. While decades of research have produced automated 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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑