2.测试脚本开发
测试脚本开发必须通过详细、合理的设计,要对脚本代码进行划分,脚本文件或数据文件分层管理。这样有利于自动化脚本的开发与维护,从而节省自动化测试的投入成本,也使得不同测试人员或开发人员可以协调开发脚本。
(1)脚本规范
测试脚本的开发也要遵循编程的规则与标准,应该统一规划,所有开发脚本的人员按照统一的规定进行编码。除了编程本身规范,还考虑测试用例与库函数名的命名,测试用例需要加上项目名称,但公共的库函数却不需要,因为公共的库函数是独立于项目的。例如,项目M4.1客户端登录测试用例可命名为:TC_M4.1_client_login;读取excel表的函数可命名为:read_excel。
(2)脚本划分
测试脚本的划分,如何定义公共的脚本库,不同模块特有的脚本库,以及直接构建测试用例的脚本。为了方便以后脚本的维护问题,必须对脚本进行有效的分层,同时,提高了脚本的复用率。
① 公共类库
公共类库包括所有模块都可能用户的操作方法,其抽象了不同模块同性,比如操作excel表的方法、读写测试报告、驱动引擎等。
② 模块特定类库
在模块内部将可以为该模块共享使用的方法抽象出来,作为一个公共类。它可以是一个单的逻辑操作,也比较独立。比如客户端登录操作、控制台登录操作、控制台更新操作等。
③ 测试用例脚本
测试用例脚在最上层,它根据测试点进行设计,面向具体的应用。它可直接调用公共类库或模块特定类库的方法,即调单个逻辑操作。它是单个或多个逻辑操作的集合,即一个测试用户脚本。比如,在客户端访问资源的测试用例,它调用了客户端登录方法和访问资源方法。
(3)测试用例
① 测试用例粒度
测试用例的粒度决定了用例模型级的复杂度,也决定了每一个用例内部的复杂度。应该根据每个系统的具体情况来把握各个层次的复杂度,在尽可能保证整个用例模型的易理解性前提下决定用例的大小和数目。用例不能太大,这样一旦出执行测试用例出错,不利于定位问题;但也不能太细化,太小则不方便执行。
② 测试用例与测试套件
一个大型的项目有许功能模块,必然会产生大量的测试用例,怎样才能有效的管理这些测试用例呢?这就需要创建测试套件,通过测试套件将测试某一个模块或功能点的测试用例集合起来,方便运行与管理。例如,只验证“用户管理”模块功能,则只需要执行“用户管理”模块套件即可。
(4)脚本与html标记分离
脚本与html标记分离使得在一定程度上脚本独立于WEB页面,脚本没有直接的处理html标记,脚本代码通过html映射表获取赋有WEB页面标记值的变量。WEB页面标记包括html标记和页面内容(文本或图片等,这些都可能是判断用例是否成功能的检查点),当WEB页面标记变更后,不需要在范围的修改脚本。
(5)选择适合自动化测试的用例
在编写自动化测试脚本前,首先要确定哪些用例适合做自动化测试,因为自化测试不像手工测试,它不能那么智能,也没有发发散思维。
通常适合自动化测试的用例有:
产品型项目。产品型的项目,新版本是在旧版本的基础上进行改进,功能变不大的项目,但项目的新老功能都必须重复的测试。
回归测试。回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
机械并频繁的测试。每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。
有一些交互性比较强,需要人工干预的操作,就不要指望通过自动化测试来完成了。例如,用户使用DKEY登录。