自动化测试脚本开发的几种策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动化测试脚本开发的几种策略
摘要:
本文主要对自动化脚本开发策略作简单的介绍,从整体上了解自动化脚本开发。
关键字:
自动化脚本开发策略
缩略语:
编写脚本的方法:
不同的自动化测试脚本编写方法主要有:
1.线性的
2.结构化的
3.共享的
4.数据驱动的
5.关键字驱动的
线性脚本编写方法
线性脚本编写方法是使用简单的录制回放的方法,在我们日常开发过程中经常用到,例如进行WEB页面配置操作:必须要进登陆页面——登陆——进相关主菜单——子菜单——配置参数——应用保存——确定。
优缺点:
1. 是一种非结构化的编程方式
2. 测试用例由脚本定义
3. 非常低的开发成本
4. 测试人员所需要的编程方面的技巧几乎可以忽略
5. 不需要计划、设计
6. 测试数据在脚本中是硬编码的
7. 脚本会很脆弱,因此维护成本会很高
8. 没有公用的脚本,因此可能造成重复劳动
结构化脚本编写方法
结构化脚本编写方法在脚本中使用结构控制。结构控制让测试员可以控制测试脚本或测试用例的流程。在脚本中,典型的结构控制是使用“if-else”,“switch”,“for”,“while”等条件状态语句来帮助实现判定、实现某些循环任务、调用其它覆盖普遍功能的函数
如下脚本实现选择所有端口:
优缺点:
1.是结构化的脚本编写方法
2.测试用例在脚本中定义
3.编程的成本要比线性脚本编写方法略为高一点
4.需要测试员的调整编码技巧
5.需要某种程度上的计划、设计
6.测试数据也是在脚本中被硬编码
7.因为相对稳定一点,所以需要相对少的脚本维护,维护成本比线性脚本编写方法的
要相对低
8.除了编程知识外,还需要一些脚本语言的知识
共享脚本编写方法
共享脚本编写方法是把代表应用程序行为的脚本在其它脚本之间共享。意味着把被测应用程序的公共的、普遍的功能的测试脚本独立出来,其它脚本对其进行调用。这使得某些脚本按照普遍功能划分来标准化、组件化。这种脚本甚至也可以使用在被测系统之外的其它软件应用系统。
例如开发过程中大家都会用到的环境,公共资源等可以编写为共享脚本。
优缺点:
1. 脚本是结构化的
2. 测试用例在脚本中定义
3. 开发成本相对于结构化脚本编写方法来说要降低一些,因为减少了很多复制的劳动
4. 需要测试员的调整代码的编程技巧
5. 由于脚本需要模块化,所以需要更多的计划和设计
6. 测试数据也是硬编码的(~一套数据写死在脚本里~)
7. 脚本维护和维护成本要比线性脚本编写方法的相对低
数据驱动脚本编写方法
这种方法把数据从脚本分离出去,存储在外部的文件中。这样脚本就只是包含编程代码了。这在测试运行时要改变数据的情况下是需要的。这样脚本在测试数据改变时也不需要修改代码。有时候,测试的期待结果值也可以跟测试输入数据一起存储在数据文件中。
例如对交换机命令检测,会有许多命令需要检测,这时我们就可以将需要测试的命令作为数据分离,如下:
具体模板的使用请参考:参考文献:1。
优缺点:
1. 脚本是以结构化的方式编程的
2. 测试用例由测试数据或脚本定义
3. 由于脚本参数化和编程成本,这种方法的开发成本跟共享脚本编写方法比较要相对高
4. 需要测试员较高的代码调整方面的编程技巧
5. 需要更多的计划和设计
6. 数据独立存储在数据表或外部文件
7. 脚本维护成本较低
8. 推荐在需要测试正反数据的时候使用(~推荐对数据种类、格式验证要求比较严格的测试中使用~)
关键字驱动脚本编写方法
这种方法把检查点和执行操作的控制都维护在外部数据文件。因此测试数据和测试的操作序列控制都是在外部文件中设计好的,除了常规的脚本外,还需要额外的库来翻译数据。是数据驱动测试方法的扩展。
例如在测试QOS时需要配置的规则和策略相当紧密,除了各个页面的配置,还需要TESTCENTER库的配合进行打流,如果用关键字驱动脚本后对各个用例的编写都好维护。如下:
具体的关键字请参考参考文献:2
优缺点:
1. 综合了数据驱动脚本编写方法、共享脚本编写方法、结构化脚本编写方法
2. 测试用例由数据定义
3. 开发成本高,因为需要更多的测试计划和设计、开发方面的投入(~适合公司模式~开始可能入不敷出,但是随着时间和项目的进展效率会越来越高~)
4. 要求测试人员有很强的编程能力
5. 最初的计划和设计、管理成本会比较高
6. 数据在外部文件存储
7. 维护成本比较低
8. 需要额外的框架或库,因此测试员需要更多的编程技巧(~对人员要求比较严格~) 评价
关于开发的成本
随着脚本编写方法从线性到关键字驱动的改变,开发的成本不断地增加。
关于维护的成本
随着脚本编写方法从线性到关键字驱动的改变,维护的成本在降低。(~对于长期项目来说,降低维护成本~)
关于编程技能要求
随着脚本编写方法从线性到关键字驱动的改变,对一个测试员的编程熟练程度的要求在增加。(~对于人员的培养~)
关于设计和管理的需要
随着脚本编写方法从线性到关键字驱动的改变,设计和管理自动化测试项目的要求在增加。
参考文献
【1】:ATTRobot中如何使用模板[Template]设置来实现数据驱动方式的测试用例.doc
【2】:QOS-SP调度自动化开发简述_罗淑芬.doc
【3】:
【4】: