自动化测试模型(一)自动化测试模型介绍

自动化测试模型(一)自动化测试模型介绍

 

一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库,测试数据源,测试对象标准,以及各种可重用的模块。自动化测试在发展过程中经历了以下几个阶段,模块驱动测试,数据驱动测试及对象驱动测试。

一、自动化测试模型介绍

线性测试

通过录制或编写脚本,一个脚本完成一个场景(一组完整功能操作),通过对脚本的回放进行自动化测试。之前介绍的webdriver API所编写的脚本也是这种方式。

从上图可以看出,可以看出线性测试的优势就是每一个脚本都是独立的,任何一个脚本文件拿出来就能单独运行;当然,缺点也很明显,用例的开发与维护成本很高:

一个用例对应一个脚本,假如登陆发生变化,用户名的属性发生改变,不得不需要对每一个脚本进行修改,测试用例形成一种规模,我们可能将大量的工作用于脚本的维护,从而失去自动化的意义。这种模式下数据和脚本是混在一起的,如果数据发生变也需要对脚本进行修改。这种模式下脚本没有可重复使用的概念。

1、模块化与类库

将脚本中重复可复用的部分拿出来写成一个公共的模块,需要的时候就调用它,可以大大提高测试人员编写脚本的效率。

通过阅读上面的代码发现,我们可以把脚本中相同的部分代码独立出来,形成模块或库;这样做有两方面的优点:

一方面提高了开发效率,不用重复的编写相同的脚本;假如,我已经写好一个登录模块,我后续需要做的就是在需要的地方调用,不同重复造轮子。

另一方面方便了代码的维护,假如登录模块发生了变化,我只用修改login.py 文件中登录模块的代码即可,那么所有调用登录模块的脚本不用做任何修改。

2、数据驱动

数据驱动应该是自动化的一个进步;从它的本意来讲,数据的改变(更新)驱动自动化的执行,从而引起测试结果的改变。这显然是一个非常高级的概念和想法。其实,我们可直白的理解成参数化,输入数据的不同从而引起输出结果的变化。

不管我们读取的是数组,还是字典、函数,又或者是csv、txt 文件。我们实现了数据与脚本的分离,换句话说,我们实现了参数化。我们传一千条数据,通过脚本的执行,可以返回一千条结果出来。

3、关键字驱动

通过关键字的改变引起测试结果的改变。

QTP、robot framework 等都是以关键字驱动为主的自动化工具,因为这类工具主打的易用性,“填表格”式的关键字驱动帮我们封装了很多底层的东西,我们只要考虑三个问题就可以了:我要做什么? 对谁做?怎么做?

我们可以把selenium IDE 看做是一种关键字驱动的自动化工具。

Selenium IDE 脚本分:命令(command)、对象(target)、值(value)

通过这样的格式去描述不同的对象,从而引起最终结果的改变。也就是说一切以对象为出发点。当然,这样的脚本,显然对于不懂代码的同学非常直观!我要做什么(命令)?对谁做(对象)?怎么做(值)?更高级的关键字驱动,可以自己定义keyword 然后“注册”到框架;从而实现更强大的功能和扩展性。

如果大家对于学习Python有任何问题,学习方法,学习路线,如何学习有效率的问题,可以随时来咨询我,或者缺少系统学习资料的,我做这行年头比较久,自认为还是比较有经验的,可以帮助大家提出建设性建议,这是我的Python交流qun:785128166,有任何问题可以随时来咨询我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值