自动化测试模型

测试模型分类

自动化测试框架和工具的设计都是基于自动化测试模型。自动化测试模型目前比较常见的有以下几种,如图所示:
自动化测试模型

线性测试

线性测试的特点:

  1. 任何一个测试脚本都是完整且独立的,且不产生依赖与调用,任何一个脚本都能单独运行
  2. 一个用例对应一个脚本

线性测试脚本一般都是通过录制或者一个脚本完成一套完整的功能点测试。数据和脚本混合在一起,数据的改变需要脚本相对应的修改。
缺点:脚本重复使用率低,开发和维护成本高。

模块化驱动测试

模块化驱动测试的特点:

  1. 重复操作的动作封装成独立的公共模块(如:登陆)
  2. 用例执行过程中调用公共模块,可以最大程度地消除了重复,提供代码复用
  3. 公共模块功能发生变化,只需要修改公共模块,维护方便,提高开发效率

模块化驱动测试是为了解决脚本重复的问题。

数据驱动测试

数据驱动测试的特点:

  1. 测试数据参数化,与脚本分离
  2. 一般测试数据的修改,不需要修改测试脚本

数据驱动测试是基于数据改变而影响自动化测试提出的,解决脚本执行不同的测试数据得到不同的结果,从而增强了脚本的复用性。

关键字驱动测试

关键字驱动测试的特点:

  1. 关键字的改变引起测试结果的改变
  2. 遵循规则去填写测试数据,就可以实现测试场景的自动化(如:QTP,robot framework)

关键字驱动测试可以让手工测试人员或者没有相关脚本代码经验的人员都可以按照模板写自动化测试脚本

总结

测试模型也并非单纯后者比前者的关系更优秀。不同的自动化测试模型,是解决不同的测试中遇到的问题。自动化测试应该以需求为出发点,混合的来使用以上的模型去解决测试问题。