论文部分内容阅读
随着信息科学技术的飞速发展,软件产品特别是高质量的软件产品已经成为人们生活不可或缺的一部分,软件测试作为保证软件质量的重要手段受到高度的重视。软件测试技术成为了软件技术分支中不可以缺少的一部分,软件测试贯穿于整个软件工程过程。随着软件规模的扩大,软件复杂度的提高,逐渐发现传统手工测试具有执行时间长、效率低、过程繁琐重复和成本高等特点,成为了实际软件开发过程中的短板,无法满足实际项目的要求。为了解决这些手工测试中存在严重问题,自动化测试技术被广泛的推广和运用,让软件自动化测技术得到了快速和充分的发展。自动化测试框架的涌现说明软件自动化测试已经走到了一个比较成熟的阶段,自动化框架能帮助软件开发团队解决了软件自动化测试中的常见问题,但是在现行的软件系统中,软件系统往往是多模块多组件跨平台的复杂异构软件系统,各个模块散布在不同的服务器中,待测软件系统的复杂度导致市面上流行单个或者多个自动化框架也很难解决企业在现实项目中自动化测试的问题,特别是针对于一个涉及到不同的软件类型、不同的部署方式和不同的软件运行平台的复杂软件系统,就更加显得力不从心。本文针对如何设计和实现一个异构系统端到端的自动化测试框架这一问题,首先介绍了软件测试和软件自动化测试的背景,分析了国内外软件自动化测试的状况;然后阐述软件自动化测试的概念,分析了手工测试过程中存在的问题,自动化测试的优点和局限性,同时也对常见的自动化测试技术研究和测试框架进行比较。通过对公司待测软件系统的深入了解和其自动化测试的需求分析,开发出一个能够满足待测异构软件系统端到端自动化测试的框架。通过用例和逻辑等视图分析了系统的设计架构,进行了自动化测试的框架中用例执行,日志,测试报告模块和待测软件系统中不同类型子系统子模块测试代理的设计和实现,保证了端到端的测试用例执行过程的正确性和完整性。在不同类型子系统子模块测试代理中,采用面向服务的体系结构(SOA)设计方式,以Web Service的方式实现子系统模块的测试代理,在完成各个对待测系统的子模块的自动化操作和验证的前提下使得整个测试框架能够完成对跨平台,不同部署方式的异构系统的端到端自动化测试,同时也具备很好的扩展性和可复用性。最后,部署在企业实际测试环境,帮助企业完成对整套系统的端到端自动化测试,节省了大量的人力物力。随着异构系统端到端自动化测试框架持续发布,以及构建此框架之上的测试用例的执行结果表明,该自动化测试框架的可行性和有效性达到了设计要求。