论文部分内容阅读
随着信息技术领域的不断发展,软件产品的质量变得越来越重要。企业若想在愈加激烈的市场竞争环境下生存和发展,必须对软件质量加倍重视。随之而来的便是为了保证软件系统品质的自动化测试系统的普及。优秀自动化测试工具的涌现使得软件质量在一步步提升。然而随着大型复杂软件的出现,普通的自动化测试系统已经渐渐不能满足日渐苛刻的测试要求,特别是测试用例繁多的回归测试。本文对软件测试技术中最耗费时间的回归测试流程进行研究,并结合业内广泛使用的分布式计算技术,提出了针对大量测试用例的测试平台解决方案,并完成了自动化回归测试系统。本文首先对国内外软件自动化测试领域的研究现状进行了阐明与陈述,通过对软件测试、回归测试以及自动化测试等相关技术的研究,以及对分布式技术的分析,为回归测试系统的实现打好了理论基础。然后结合公司项目需求,设计了基于MapReduce编程思想的无缝测试模型。此模型运行于RESTful架构的分布式平台,并且模型的分配测试任务模块使用了预占用策略与高优先级抢占策略两种策略结合后的优先级调度算法,保证了测试过程中作业调度的准确与灵活。最后文章根据此无缝测试模型实现了自动化回归测试系统(ARTS, Auto Regression Test System)。系统实现中使用了MVC模型完成了测试人员需要的各种数据交互管理功能模块,并使用了多线程并发、分布式计算等技术实现了无缝测试模型的测试引擎。测试结果表明ARTS系统能够满足设计需求,在批量运行测试用例的测试中有良好的效果,充分利用了所分配的多个测试虚拟机。与公司之前的半自动化回归测试工具相比,每个测试补丁的测试持续时间缩短了30%左右,并且测试工程师大概有20%左右的时间从分配测试用例、手动执行测试工作中节省出来,并投入到问题测试用例的分析上面。ARTS系统为公司的测试工作节省了大量时间,大幅度提升了测试效率。在后续的研究中,将进一步加强对回归测试系统分布式架构的研究,争取对虚拟机集群资源的利用有更高的效率。