自动化测试方案选取时需要考虑的因素:
(1)项目的影响:自动化测试能否对项目进度、覆盖率、风险有积极的作用,或者让开发更敏捷
(2)复杂度:自动化是否容易实现,包括数据和其他环境的影响
(3)时间:自动化测试的实现需要许多时间
(4)早期需求和代码的稳定性:需求或早期代码是否能证明是在一定范围内变化的
(5)维护工作量:代码是否能长期保持相对稳定?功能特性是否会进化
(6)覆盖率:自动化测试能否覆盖程序的关键特性和功能
(7)资源:测试组是否拥有足够的人力资源、硬件资源和数据资源来进行自动化测试
(8)自动化测试的执行:负责执行自动化测试的小组是否拥有足够的技能和时间去运行自动化测试
自动化测试脚本编写方法:
(1)线性脚本的编写方法:
- 一种非结构的编程方式
- 测试用例由脚本定义
- 非常低的开发成本
- 测试人员所需要的编程方面技巧几乎可以忽略
- 不需要计划、设计
- 测试数据在脚本中是硬编码的
- 脚本会很脆弱,因此维护成本很高
- 没有公用的脚本,因此可能造成重复劳动
(2)结构化脚本的编写方法
特点:引入结构化语句:如if…else分支、循环等
- 结构化的脚本编写方法
- 测试用例在脚本中定义
- 编程的成本要比线性脚本编写方法略高一点
- 需要测试员的调整编码技巧
- 需要某种程度上的计划、设计
- 测试数据也是在脚本中被硬编码
- 因为相对稳定一点,所以需要相对少的脚本维护,维护成本比线性脚本相对低
- 除了编程知识外,还需要脚本语言的知识
(3)共享脚本的编写方法
特点:测试数据是共享的,可以供多个脚本使用
- 脚本是结构化的
- 测试用例在脚本中定义
- 开发成本相对结构化脚本编写方法来说,要较低一些,因为少了很对重复劳动
- 需要测试人员的调整代码的编程技巧
- 由于脚本需要模块化,所以需要更多的计划和设计
- 测试数据也是硬编码
- 脚本维护和维护成本比线性脚本低