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

一、自动化测试模型介绍

线性测试

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

从上图可以看出,可以看出线性测试的优势就是每一个脚本都是独立的,任何一个脚本文件拿出来就能单独运行;当然,缺点也很明显,用例的开发与维护成本很高:
一个用例对应一个脚本,假如登陆发生变化,用户名的属性发生改变,不得不需要对每一个脚本进行修改,测试用例形成一种规模,我们可能将大量的工作用于脚本的维护,从而失去自动化的意义。这种模式下数据和脚本是混在一起的,如果数据发生变也需要对脚本进行修改。这种模式下脚本没有可重复使用的概念。
1、模块化与类库
将脚本中重复可复用的部分拿出来写成一个公共的模块,需要的时候就调用它,可以大大提高测试人员编写脚本的效率。

通过阅读上面的代码发现,我们可以把脚本中相同的部分代码独立出来,形成模块或库;这样做有两方面的优点:
一方面提高了开发效率,不用重复的编写相同的脚本;假如,我已经写好一个登录模块,我后续需要做的就是在需要的地方调用,不同重复造轮子。
另一方面方便了代码的维护,假如登录模块发生了变化,我只用修改login.py 文件中登录模块的代码即可,那么所有调用登录模块的脚本不用做任何修改。
2、数据驱动
数据驱动应该是自动化的一个进步;从它的本意来讲,数据的改变(更新)驱动自动化的执行,从而引起测试结果的改变。这显然是一个非常高级的概念和想法。其实,我们可直白的理解成参数化,输入数据的不同从而引起输出结果的变化。

不管我们读取的是数组,还是字典、函数,又或者是csv、txt 文件。我们实现了数据与脚本的分离,换句话说,我们实现了参数化。我们传一千条数据,通过脚本的执行,可以返回一千条结果出来。
3、关键字驱动
通过关键字的改变引起测试结果的改变。
QTP、robot framework 等都是以关键字驱动为主的自动化工具,因为这类工具主打的易用性,“填表格”式的关键字驱动帮我们封装了很多底层的东西,我们只要考虑三个问题就可以了:我要做什么? 对谁做?怎么做?
我们可以把selenium IDE 看做是一种关键字驱动的自动化工具。

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

乐玩自动化测试模块_自动化测试模型(一)自动化测试模型介绍相关推荐

  1. pythonweb自动化测试实例_[转载]python webdriver自动化测试实例

    python webdriver自动化测试初步印象 以下示例演示启动firefox,浏览google.com,搜索Cheese,等待搜索结果,然后打印出搜索结果页的标题 from selenium i ...

  2. 电气simulink常用模块_从整车控制器VCU模型入门simulink(1)

    学习一门语言或者一门技术,最烦的就是长篇大论的理论和脱离实际的练习,我想正在阅读这篇文章的你一定深有体会,既然认识到了这样的痛点,我们接下来就换一种方式来学,通过实际工程中能运用到模型来逐步入门sim ...

  3. 乐玩自动化测试模块_五大测试框架介绍,附带全套黑马自动化测试视频教程(完结)...

    这个框架需要开发数据表和关键字,这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来"驱动"待测应用程序和数据的测试脚本代码,关键宇驱动测试看上去与手工测试用例很类似. 概述 在自动 ...

  4. 乐玩自动化测试模块_深圳大数据测试培训推荐班

    推荐就业服务.很多培训机构都有推荐就业的服务,比如就有终身就业推荐服务,如果学员找的工作不满意,的就业老师会一直为他免费推荐工作.深圳大数据测试培训推荐班4.企业内推.有的培训机构会和企业建立比较深入 ...

  5. 华为python自动化测试框架_华为五年自动化测试工程详细解说:unittest单元测试框架...

    一.单元测试框架说明 单元测试是指在编程中,针对程序模块的最小单元(类中的方法)进行正确性检验的测试工作.python+selenium自动化测试中通常使用unittest或者pytest作为单元测试 ...

  6. 易语言封装调用乐玩多线程插件模块

    ,乐玩插件和大漠图色插件几乎完全相同,最主要的是乐玩目前是完全免费的,易语言调用乐玩插件,乐玩插件模块的制作,封装了后台绑定判断,键鼠图色窗口文本输入等游戏辅助常用的方法,每种方法都做了游戏调用测试示 ...

  7. 511遇见易语言乐玩插件FindMultiColor找色多点及找色块

    本节视频封装了乐玩的多点找色FindMultiColor及找色块FindMultiColor,并通过<剑侠情缘>这款游戏调用示范. 乐玩插件模块源码: .版本 2.子程序 FindMult ...

  8. 511遇见易语言乐玩插件置图片密码和枚举图片卡屏判断

    本节视频录制的命令较多,非常实用,有图示加密SetPicPwd,枚举图片MatchPicName,这个命令在使用FindPicEx找图扩展时,非常好用,支持通配符,强烈推荐,而IsDisplayDea ...

  9. python自动化测试开发_基于python的selenium2自动化测试从基础到实战(Python3、selenium2、自动化测试、web测试)...

    Selenium2是目前比较流行的一款针对web页面测试的自动化测试工具,他的前身是Selenium .Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozi ...

最新文章

  1. AI已来,更有未来!科大讯飞全球1024开发者节,这场AI盛会你也可以云参与
  2. 大疆没有边界:刚拳打GoPro,又脚踢优必选
  3. 【VMCloud云平台】SCCM(五)创建第一个集合
  4. 在java中私有方法能被重载吗_我可以在Java中重载私有方法吗?
  5. python数据科学入门_干货!小白入门Python数据科学全教程
  6. C++ new一个数组时,指针移动程序崩溃问题
  7. mysql报tns无监听_oracle提示TNS:无监听程序的解决办法
  8. 离散数学反对称关系_离散数学课程总结(4)
  9. 横岗无线充android,史上第一款“真无线充”,真正实现随时随地无线充电!
  10. python学爬虫还是人工_本人初二生,学习Python爬虫,要不要继续深入学习啊?
  11. ASA REST API安装步骤
  12. 配置IP Phone在CUCME路由器上注册
  13. Case when的用法
  14. 【JavaScript】牛客编程:实现一个打点计时器
  15. OpenGL PowerVR SDK 编译:Could NOT find X11 (missing: X11_X11_INCLUDE_PATH X11_X11_LIB)
  16. 如何在头条做营销:2022今日头条营销价值洞察报告.pdf(附下载链接)
  17. word保存html格式批注没有了,word批注不见了 怎么显示批注
  18. 深度学习网络图画图工具
  19. 图片识别——差异哈希算法
  20. 用友财务软件--T3

热门文章

  1. flutter从0到1构建大前端应用 pdf_前端骨架屏都是如何生成的
  2. python 元类 type_Python 使用元类type创建类对象常见应用详解
  3. NS3Gym python侧代码分析
  4. 交换机多少钱一个?影响工业交换机价格的因素?
  5. [渝粤教育] 潍坊职业学院 化工安全技术 参考 资料
  6. 【渝粤教育】国家开放大学2018年秋季 0717-21T社会保障基础 参考试题
  7. 【渝粤教育】电大中专学前儿童健康教育 (4)作业 题库
  8. 【渝粤教育】电大中专药物化学基础_1作业 题库
  9. 【渝粤题库】陕西师范大学700005 遗传学
  10. AC-DC电源模块怎么选择?有哪些注意事项?