首先,先来了解一下测试框架
测试框架的属性:
1. 测试框架是测试开发过程中提取特定领域测试方法共性部分形成的体系结构
2. 测试框架的作用:在其基础上重用测试设计原则和测试经验,调整部分内容便可满足需求,可提高测试用例设计开发质量,降低成本,缩短时间
3、测试框架类型根据测试领域不同而改变
4、测试框架是一个半成品,需要测试工程师基于它转化成自己的测试用例;
5、测试框架是提供给测试人员开发相应领域测试用例的测试分析设计工具
6、测试框架不是测试用例集,而是通用的,具有一般性的系统主体部分。测试人员像做填空一样,根据具体业务完成特定应用系统中与众不同的特殊部分
7、测试设计模式的思想(等价类/边界值)在测试框架中进行应用。
可以看出,测试框架主要作用就是提高测试效率,降低成本。
测试框架的好处在于:
提高开发速度
提升测试代码的执行效率
提高软件代码质量,同时引入重构概念,让代码更干净和富有弹性
提升系统的可信赖度,作为回归测试的一种实现方法支持修复后“再测试”,确保代码的正确性。
再来介绍一下 自动化测试框架
第一种: 数据驱动测试框架(The Data-Driven Testing Framework)
仅仅是将测试数据从测试脚本中分离出来
优点:
至少测试数据可以单独维护了
缺点:
任何被测试程序的变更所导致的工作量是所有架构中最多的,因此维护成本非常高
第二种:测试脚本模块化框架(The Test Script Modularity Framework)
说明:
l 箭头方向代表的是被调用和调用关系
l 测试脚本中包含了各功能点中涉及到的控件识别和业务逻辑操作,其中包含了外部测试数据的调用
l 测试脚本的维护由自动化测试开发工程师负责,要求必须懂自动化编程和业务逻辑
l 测试数据的维护由测试工程师负责
优点:
控件和业务逻辑一旦发生变化,要进行修改和维护的是底层的测试脚本
第三种:测试库构架框架(The Test Library Architecture Framework)
说明:
l 箭头方向代表的是被调用和调用关系
l 将所有的针对测试系统本身的控件识别和控件支持的操作封装在测试库中
l 测试脚本调用测试库的同时传递外部的测试数据
l 测试库的编写由自动化测试开发工程编写(可以不懂业务),负责控件的变更和维护
l 测试脚本的编写可由对业务比较掌握的自动化测试开发工程编写,负责业务逻辑的变更和维护
l 测试数据由测试工程师维护(可以不懂自动化开发)
优点:
l 被测试系统无论是哪层发生变化,只需要相应的人员进行变更维护即可
l 完成了控件识别操作和业务逻辑的抽象分离
总结:三者存在递进关系,关系如下。