2003 · 会议论文

GUI 抓取:面向测试的图形用户界面逆向工程

GUI ripping: reverse engineering of graphical user interfaces for testing

GUI 抓取从运行中的桌面应用程序逆向工程出测试模型,而不依赖其源码或规格说明。抓取器从顶层窗口开始,以编程方式点击可执行控件逐一打开子窗口,记录每个窗口的控件、属性与取值,并构建由窗口组成的 GUI 森林。它再从森林推导出事件流图(记录组件内哪些事件可以相继发生)以及表示组件调用关系的集成树。论文介绍了两种抓取器:面向 Microsoft Windows 应用、基于窗口句柄与 Windows API 的实现,以及面向 Java Swing 应用、基于 Java AWT 与 Swing API 的实现。作者将其应用于 WordPad、Notepad、Yahoo Messenger 及学生开发的 TerpOffice 办公套件中的四个应用,所得模型用于作者 GUITAR 与 DART 系统中的自动化测试生成。

研究范围与局限

目标是 2003 年前后 Microsoft Windows 与 Java Swing 上的桌面 GUI,而非移动应用或网页界面;模型假定控件上的事件结果确定且属性取值离散,不涵盖依赖时序、连续媒体或非确定性的 GUI。恢复出的模型是供测试生成使用的窗口、控件与事件结构,并非 UI 代码或应用逻辑,论文也未证明覆盖了全部行为。抓取可能遗漏窗口与控件:Windows 抓取器会遗漏绕过 Windows API 的控件,且无法区分模态与非模态窗口;Java 抓取器则无法提取打印对话框的结构。在案例研究中,测试人员需手动补充遗漏的窗口,每个应用耗时 5 至 10 分钟,并需为 Windows 应用手动指定顶层窗口。结果来自七个应用以及作者自己的测试流程。

与本合集的关联

补充一种经典的基于执行恢复应用 GUI 结构与事件模型的方法,与本节的截图转代码及应用分析研究互补。

发表与复核详情

发表载体
WCRE 2003
发表状态
会议论文
出版/提交日期
2003 年(具体日期未核实)
日期依据
IEEE Xplore 给出的出版日期为 2003 年,论文集名称为 WCRE 2003;Crossref 元数据未记载出版日期。本条目保留年精度,不以会议日期或 2004 年的 Xplore 收录日期替代。
DOI
10.1109/WCRE.2003.1287256

IEEE Xplore 与 Crossref 仅以 A. Memon、I. Banerjee 和 A. Nagarajan 列出作者,页码为第 10 届逆向工程工作会议(Victoria, BC)论文集第 260–269 页;本条目采用论文中印出的作者全名。标题沿用 IEEE 的句首大写形式;论文中的写法为“GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing”。PDF 为 Atif Memon 在马里兰大学页面上提供的 10 页副本;版本记录以 IEEE Xplore 为准,后者未将其标为开放获取。论文称 GUI Ripper 已作为可下载工具提供,并引用 guitar.cs.umd.edu,但本次审阅时该主机名无法解析;本条目不记录代码链接,也不将后来的 GUITAR 项目视为本论文的产物。本次未运行代码或实验。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

报告条目过时 建议修正翻译

一手来源

  1. https://ieeexplore.ieee.org/document/1287256
  2. https://web.archive.org/web/20251228032001/https://ieeexplore.ieee.org/document/1287256/
  3. https://api.crossref.org/works/10.1109/WCRE.2003.1287256
  4. https://www.cs.umd.edu/~atif/papers/MemonWCRE2003.pdf