paperbot · PL 论文追踪

全部论文 待读 收藏

P2 AppFlow: using machine learning to synthesize robust, reusable UI tests

AppFlow:利用机器学习合成鲁棒、可复用的 UI 测试
FSE Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2018匹配度 2/10 · 该论文将机器学习用于移动应用 UI 测试合成,属于 ML+软件工程/测试方向,但未涉及用户画像核心关注的静态分析、Agentic 程序/LLM 与 PL 的交叉、浮点程序分析或贝叶斯程序分析。引用 94 inbox
Gang Hu, Linjie Zhu, Junfeng Yang
crossref: 2026-09-12

AI 速览

一句话:AppFlow 利用机器学习识别界面与控件,自动合成鲁棒、可复用的 UI 测试,显著降低新应用测试成本。

UI 测试困难,手工测试昂贵易错,自动化测试编写维护成本高。AppFlow 用机器学习自动识别常见屏幕和控件,避免开发者编写脆弱逻辑;开发者可为某类应用主功能编写模块化测试库(如购物应用的“加入购物车”),AppFlow 再为新应用合成完整测试,提供低人工冒烟测试并支持定制。作者在 60 个购物与新闻应用、BBC 新闻和 JackThreads 案例及 15 人用户研究中评估。结果显示,AppFlow 能准确识别屏幕与控件,合成鲁棒可复用的测试,覆盖 JackThreads 46.6% 可自动化测试,将新应用测试工作量最多降低 90%,并发现 8 个 bug(7 个功能 bug)。

问题
UI 测试困难,手工 UI 测试繁琐、昂贵且易错,自动化 UI 测试的编写与维护成本高;尤其需要为同类应用快速复用测试。
方法
AppFlow 利用机器学习识别常见屏幕和控件,让开发者编写模块化测试库,并为同类新应用合成完整 UI 测试;聚焦主功能以提供低人工冒烟测试,并支持应用特定定制。
评估
在 60 个购物和新闻类热门应用、BBC 新闻与 JackThreads 两个案例研究以及 15 名受试者的用户研究中评估;AppFlow 能准确识别界面元素,覆盖 JackThreads 46.6% 可自动化测试,最多降低 90% 新应用测试工作量,并发现 8 个 bug。
原文摘要(Abstract)

UI testing is known to be difficult, especially as today’s development cycles become faster. Manual UI testing is tedious, costly and error- prone. Automated UI tests are costly to write and maintain. This paper presents AppFlow, a system for synthesizing highly robust, highly reusable UI tests. It leverages machine learning to automatically recognize common screens and widgets, relieving developers from writing ad hoc, fragile logic to use them in tests. It enables developers to write a library of modular tests for the main functionality of an app category (e.g., an “add to cart” test for shopping apps). It can then quickly test a new app in the same category by synthesizing full tests from the modular ones in the library. By focusing on the main functionality, AppFlow provides “smoke testing” requiring little manual work. Optionally, developers can customize AppFlow by adding app-specific tests for completeness. We evaluated AppFlow on 60 popular apps in the shopping and the news category, two case studies on the BBC news app and the JackThreads shopping app, and a user-study of 15 subjects on the Wish shopping app. Results show that AppFlow accurately recognizes screens and widgets, synthesizes highly robust and reusable tests, covers 46.6% of all automatable tests for Jackthreads with the tests it synthesizes, and reduces the effort to test a new app by up to 90%. Interestingly, it found eight bugs in the evaluated apps, including seven functionality bugs, despite that they were publicly released and supposedly went through thorough testing.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4643,
  title = {AppFlow: using machine learning to synthesize robust, reusable UI tests},
  author = {Gang Hu and Linjie Zhu and Junfeng Yang},
  booktitle = {FSE},
  year = {2018},
  doi = {10.1145/3236024.3236055}
}