自动化测试框架的设计思路
1.自动化测试框架的概念
它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。
以常见的前端UI测试为例,一个测试框架大概包括测试对象,测试组件,基础类和函数,工具类,测试数据,异常处理,测试日志,断言和测试报告等这些模块。
2.框架的驱动模式
2.1 数据驱动模式
如果被测系统业务逻辑固定不变或变动较小,我们可以使用数据驱动,通过不同数据来保证测试覆盖率,通常数据都是保存在外面文件或数据库中,运行时自动获取。特点是数据与测试脚本分离,基于模块化的测试库,一个驱动脚本可以执行多个相似测试,这样非常容易建立新测试。
2.2 关键字驱动模式
关键字驱动测试也被称为“表格驱动测试”或“操作名测试”,他是一种软件自动化测试的方法论,将数据与关键字结合来描述如何使用数据执行测试。这种方法具备数据驱动的优势,同时非编程人员也能建立新类型测试。例如Robot Framework就是典型的关键字驱动模式。
2.3 模块驱动测试
模块驱动测试使用独立的小脚本来对应待测试的模块、零件和子功能。这些不同层级的小脚本按照一定规则组合成更大级别的测试,如此就实现了一个特定功能的自动化测试案例。在所有自动化测试架构中,这应该是最容易领会和控制的一种,其应用非常广泛,即屏蔽组件的内部实现,仅提供组件的对外抽象接口。如此下层的测试组件发生变动时,对上层自动化测试案例来说是透明的。模块驱动测试引入了抽象和封装的原则,目的是提升自动化测试的可维护性