论文部分内容阅读
面向服务的架构具备协议无关性、位置透明性和松耦合性等特性,因而成为企业级应用系统的主流架构。它能使企业平台架构的构建方式变得更为灵活,帮助企业更加迅速有效地响应业务发展变化、并且达到利用业务的发展变化在竞争中取得领先的目的。然而,面向服务的架构在提升灵活性的同时,为了支撑架构和业务快速灵活的增长,系统的数量越来越多,单个业务处理过程所覆盖的系统链路也越来越长。因此,基于面向服务架构设计的系统(简称面向服务的系统)的测试成本和测试复杂度也变得越来越高,传统的自动化测试工具和平台难以支撑如此复杂的测试场景。面向服务的系统需要怎样的自动化测试平台,如何提升面向服务的系统的自动化测试效率,这一系列问题对软件测试提出了新的挑战,同时也提供了新机遇。本文从面向服务的系统的自动化测试需求出发,对在面向服务的系统上实施自动化测试进行了研究,设计并实现了一个自动化测试平台,支持面向服务的系统的接口测试和集成测试。在本自动化测试平台设计与实现过程中主要对提升自动化测试的稳定性、灵活性、通用性方面进行了深入研究。本测试平台针对面向服务的系统的特性,不依赖WEB页面驱动自动化测试,转而从被测系统的服务出发,覆盖完整系统链路,完成对应业务的自动化测试;解决因页面端变更频繁而导致自动化脚本失效、用例运行失败的问题,使自动化测试执行和脚本维护趋于稳定。本测试平台的测试模板以组件化为基础,通过实现各种测试组件,丰富本测试平台的自动化原子能力。通过组件构建出符合某个业务场景或功能的测试模板,可以通过模板中组件的增删和排序功能实现自动化测试脚本灵活变更,自由伸缩的能力。本测试平台的测试模板既可以由多个组件组成,针对复杂系统链路进行集成测试,也可以只由单个组件组成,针对单个系统接口进行接口测试。使接口测试平台和集成测试平台得以整合,形成通用的自动化测试平台,降低测试人员学习和实施成本,更完整地展现自动化测试的整体情况。目前该自动化测试平台已上线,正常运行了24个月。原来在使用其他测试工具的背景下,一个业务功能的自动化实施成本需要占据整体测试周期的一半以上。通过本自动化测试平台,自动化实施成本降低到整体测试周期的三分之一。单个测试用例执行耗时平均60秒左右,比原来自动化测试耗时降低一半,测试执行效率显著提升。并且自动化测试执行的稳定性大幅提升,测试用例总体成功率从60%提升至近100%。