论文部分内容阅读
敏捷开发模式已经被验证是用来快速应对用户需求变化的有效开发模式。自动化测试是在敏捷开发模式下的重要环节。对于GUI软件的自动化测试需要并发执行大规模的测试用例。在时间和资源双重限制下及时有效的反馈产品质量,成为GUI软件的自动化测试实施的关键。所以需要生成高效的测试任务调度方案来满足生产环境需要。本文通过对现有的基于Jenkins平台的测试调度系统执行自动化测试任务的调度方式以及虚拟机执行方式等方面进行研究分析。一方面,敏捷开发模式下的需要持续集成过程中自动化测试执行的时间要求短。另一方面,GUI软件自动化测试关注重点在UI控件是否被测试‘覆盖’到。以往测试执行情况关注用例完成情况的方法通常需要将用例全部执行完才能通过用例成功和失败用例数判断产品质量。通过对以往任务调度算法的研究发现,不同的任务调度算法往往针对特定问题有效,对于不同目标的测试来说往往需要找到合适的目标函数以找到最佳调度方案。因此,研究提出了一种新的以UI对象在测试脚本中的执行覆盖率作为目标函数的评估方法。并且搭建了自动化软件测试调度系统进行验证。通过数据对比分析可以看到使用GUI覆盖率作为目标函数的效果。当预期100%完成的情况下,可以比原有方法在效率上最高提升42%;当预期80%完成的情况下,提出通过应用贝叶斯分类法首先将覆盖过的UI对象后置进一步提升覆盖效率,此时甚至可比原有方法在效率上最高提升72%。同时可以看到GUI覆盖率评估方法下,应用不同的策略对于生成的调度方案会有所影响。综上所述,表明GUI覆盖率作为测试完成情况的评估方法结合已有的染色算法和遗传算法可以生成理想的任务调度计划,并能满足在冒烟测试,每日构建测试,回归测试中同需要。对于提升GUI软件自动化测试结果反馈效率是有效的。