[论文解读] Estimating Return on Investment for GUI Test Automation Tools
本文提出一种手动的源代码历史回放方法,通过回放实际开发变更来估算GUI测试自动化框架的维护成本和投资回报率(ROI)。在一项工业案例研究中对比Selenium与EyeAutomate,该方法揭示:实现时间占总成本的约90%,其中EyeAutomate虽减少了实现时间,但维护成本增加了32%,并发现了25%更多的缺陷。
Automated graphical user interface (GUI) tests can reduce manual testing activities and increase test frequency. This motivates the conversion of manual test cases into automated GUI tests. However, it is not clear whether such automation is cost-effective given that GUI automation scripts add to the code base and demand maintenance as a system evolves. In this paper, we introduce a method for estimating maintenance cost and Return on Investment (ROI) for Automated GUI Testing (AGT). The method utilizes the existing source code change history and can be used for evaluation also of other testing or quality assurance automation technologies. We evaluate the method for a real-world, industrial software system and compare two fundamentally different AGT tools, namely Selenium and EyeAutomate, to estimate and compare their ROI. We also report on their defect-finding capabilities and usability. The quantitative data is complemented by interviews with employees at the case company. The method was successfully applied and estimated maintenance cost and ROI for both tools are reported. Overall, the study supports earlier results showing that implementation time is the leading cost for introducing AGT. The findings further suggest that while EyeAutomate tests are significantly faster to implement, Selenium tests require more of a programming background but less maintenance.
研究动机与目标
- 解决工业环境中缺乏客观、实证方法来估算GUI测试自动化长期成本和ROI的问题。
- 提供一种基于实际历史开发数据的决策支持方法,用于在不同GUI测试自动化框架之间进行选择。
- 评估不同AGT框架在实现工作量、维护成本、缺陷检测能力与可用性之间的权衡。
- 证明利用现有源代码变更历史作为历史记录来衡量自动化成本与收益的可行性和价值。
- 支持项目经理和团队基于数据做出有关采纳GUI测试自动化技术的明智决策。
提出的方法
- 逐步回放软件的源代码变更历史,通过人工执行并跟踪每个版本的测试实现与维护工作量。
- 采用预定义流程,测量每个测试用例在初始部署时的实现时间以及随时间推移的维护工作量。
- 利用版本控制历史来模拟测试套件的演化过程,将每个版本视为成本度量的里程碑。
- 从人工测试人员处收集测试创建、执行和维护的时间数据,确保成本估算的现实性。
- 使用相同的测试套件和版本历史,在Selenium(基于ID/名称)和EyeAutomate(基于图像)两种AGT框架之间进行对比。
- 通过访谈补充定量数据,评估可用性、缺陷检测能力以及实际应用中的实际挑战。
实验结果
研究问题
- RQ1在真实工业系统中,两种不同GUI测试自动化框架——Selenium与EyeAutomate——随时间推移的相对维护成本如何?
- RQ2这些框架的初始实现时间与长期维护成本相比如何?
- RQ3每种框架的缺陷发现能力如何?在真正阳性与假阴性方面有何差异?
- RQ4每种框架的可用性有何不同,特别是在所需编程专业知识和测试创建速度方面?
- RQ5在实践中,源代码变更历史在多大程度上可用于估算GUI测试自动化的ROI?
主要发现
- 对于Selenium和EyeAutomate,实现时间占达到ROI之前总成本的约90%。
- EyeAutomate相比Selenium减少了初始实现时间,但平均每个版本的维护工作量高出32%。
- EyeAutomate检测到30个缺陷,比Selenium的25个缺陷多出25%,表明其缺陷发现能力更强。
- Selenium的测试创建需要编程背景,而EyeAutomate对非程序员也更易用。
- 手动逐步回放方法成功估算出维护成本和ROI,为框架选择提供了可操作的见解。
- 访谈显示,人工测试人员对EyeAutomate中的视觉变化更具包容性,表明其在应对UI波动方面可能具有优势。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。