自动化测试架构思想
一、模块化思想
将一个测试用例中不同的测试点拆分并且将其单个点的测试步骤进行封装,形成一个模块
例如:
登录功能,测试用例,其中包括:用户名输入、密码输入、以及确定登录
可以将用户名输入、密码输入、确定登录、取消登录四个操作分别封装4个不同的模块中,测试时,只需要调用其模块即可,
这样的话,当一个模块有变化,只需要维护那个模块即可,也可以根据模块的不同组合成不同的测试用例
二、测试库思想
模块化思想的升华,为其应用程序的测试创造了库文件,这些文件为一些列的函数集合
与模块化思想不同的是,拓展了接口思想,可以通过接口取传递参数,而不是一个死模块,形成一个交互模块
例如:
登录测试用例
将用户名输入、密码输入、确定登录、取消登录封装成一个库,这个库包含一个函数 login,这个函数login可以接受2个参数:用户名、密码
对输入不同的用户名、密码进行不同的测试用例,也可以另外一个函数cancle
三、数据驱动
很多人觉得依靠excle表进行不同数据的读取是一个高级的参数化,关键是其思想能够好的应用到你的框架,而我的理解就是变量不变,数据驱动结果,
不同的数据导致不同的结果产生。而对于数据的导入可以通过很多方式
例如
EXCLE表、XML、数据库DB、CSV等
四、关键字
关键字驱动就是一种面向对象的思想
例如
QTP中,对象可以为一个数据或关键字,对对象的抓取,可以将其测试对象封装为一个关键字(gui元素封装),这样对其关键对象可以各种操作,
这样可以对其关键对象进行各种操作,不同的UI小可以驱动不同的测试流向与结果
简单的应用方式可以用EXCLE表,里面包含 对象类型、对象名称、对象操作名称、判断方式、预期结果,这样通过导入不同的对象类型和名称、
不同的对象操作来构建成一个测试用例表
做好自动化测试,不是说你掌握了一个框架,而是要掌握其自动化的思想,然后根据这些思想,结合你不同的测试环境和流程来构建你自己的自动化测试框架。