8.2 框架设计
自动化测试框架的建设主要包括设计开发自动化测试核心支撑框架,建立一套自动化测试脚本设计、脚本开发、扩展开发、数据维护、调度执行的模式和规范,保证自动化测试实施技术和方法的一致性,使自动化测试过程中各种角色和工作环节能够有效连接和运转。自动化测试框架由自动化测试工具和自动化测试框架两部分构成。
自动化测试工具包含如下内容:
· 被测系统属于B/S架构,可以使用Selenium负责页面对象识别操作;
· ANT用于测试脚本的构建;
· Eclipse负责脚本开发和调试工具;
· TestNG负责测试脚本运行和报表输出。
自动化测试框架有如下功能:
· 自动化用例的编写和导入,手动用例和自动化脚本相关联;
· 为测试脚本开发提供统一的功能接口;
· 完成业务流程定义、业务组件定义、测试数据维护和运行参数设置;
· 管理测试脚本和执行机的调度运行;
· 测试结果的统计、输出和展示。
8.2.1 框架设计思想
在传统的自动化测试方式下,开发自动化脚本难度大,脚本维护成本高,对于测试资产库缺乏统一的管理,重要的测试资产库无积累、无共享、无复用,需要自动化测试人员掌握一定的开发技能,不利于大规模的普及使用。自动化测试框架的引入将业务与技术相分离,不同的测试人员可以互相协作完成自动化用例的开发和维护,注重测试资产库的积累和复用,提高测试的效率。
自动化测试框架以业务与技术相分离、脚本与数据相分离、统一的自动化工作模式和测试资产库的不断积累为设计思想。如图8-2所示为自动化框架设计思想的抽象。
图8-2 自动化测试框架的设计思想
· 业务与技术分离
在自动化框架的设计过程中,首先实现被测系统的业务逻辑和实现这些逻辑的脚本相分离。框架提供协同工作平台,由功能测试工程师设计业务组件和业务流,由自动化测试技术人员完成具体自动化脚本的开发,两个角色分工明确、高效配合。
· 脚本与数据分离
实现测试脚本和测试数据相分离,脚本和数据分别独立构建,使得同一套测试脚本可以使用不同的测试数据,降低脚本和数据的维护。基于以上的设计思路,自动化测试框架可以使用较低成本满足高复用、快速开发的要求。
· 统一的自动化工作模式
自动化测试框架固定了一套自动化脚本设计、自动化脚本开发、扩展开发和调度执行的模式和规范,保证了自动化测试技术和方法的一致性。
· 测试资产库的不断积累
自动化测试框架注重自动化测试资产的积累、共享和复用。自动化测试过程中,对产生的业务组件、业务流、测试脚本、测试数据等资产库进行有效的管理,并在不同的测试中实现复用。
8.2.2 框架物理架构
开发人员每天完成代码开发后将代码提交到Git服务器,Jenkins服务器会自动从Git服务器中提取最新的代码,定时完成每日集成的任务,集成完毕后通过调用测试执行机启动测试人员已经编写好的测试脚本进行定时的回归测试,并用邮件将生成的集成结果和测试结果发送到相关人员的邮箱。如图8-3所示为自动化执行的流程,从物理上进行划分,应包含如下资源:
开发人员:负责代码的编写、调试和提交。
测试人员:负责测试脚本的编写、调试和提交。
Git服务器:用于存放框架运行库、测试脚本和测试数据。
Jenkins服务器:用于设置运行参数、管理测试执行机、控制执行测试、收集测试结果。
测试执行机:执行自动化测试脚本的计算机。
图8-3 自动化执行流程
本文选自《质量全面管控—从项目管理到容灾测试》第八章,本站经电子工业出版社和作者的授权。
版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。