资讯专栏INFORMATION COLUMN

聊聊自动化测试里的数据驱动和关键字驱动

shiina / 2141人阅读

摘要:关键字驱动的自动化测试框架建立在数据驱动手段之上,表中包含指令关键词,而不只是数据。关键字驱动的自动化测试是对数据驱动的自动化测试的有效改进和补充。


今天,我们来聊聊自动化测试里的高逼格词汇(装x词汇),关键字驱动和数据驱动,相信大伙经常听到吧,首先来说说关键字驱动吧,

关键字驱动,作为一种自动化测试框架的设计形式,在很久以前就被提到过。它的基本原理或者说构思就是将原本的自动化代码进行代码与数据的分离,再将分离出来的代码二次分离,形成所谓行为代码与测试代码,而后再经由数据内容驱动行为代码,生成测试代码。从而更加便捷地进行自动化测试代码的管理,以及提高自动化的复用性,让使用者更加容易理解和使用自动化(毕竟还是有很多很多测试人员对代码一窍不通。)

再说的通俗易懂点,比如

我喜欢她

你喜欢她

他喜欢她

从上面例子可以看到,三个人都有着同样的行为,那就是喜欢她,那么这里我们是不是可以把喜欢这个行为提取出来,因为喜欢一个人太累了,把它作为一个公共的内容,我们只需要提供个主语就行了,这样谁都能轻松的喜欢她了,把这个提取行为作为公共内容的过程就是传说中的关键字封装,通过主语数据去驱动这样的一个行为,形成了一件事,那么这个就是传说中的“关键字驱动+数据驱动”的自动化测试设计模式了。

再来说说数据驱动

数据驱动必须有数据来控制测试的业务流,比如测一个WEB程序,有很多页面,你可以通过一个数据来控制每次是在哪个页面下工作的(即通过数据来导航到相应的页面)。它是关键字驱动的低级版本,他控制的是函数级的,而关键字是控制动作级的。所以数据驱动应该是可以控制整个测试的”。

在一些复杂的测试用例中,同一个用例包含了很多的测试流程,其中不同的测试流程采用不同的测试输入数据,这个时候测试数据的输入不仅仅是参数的输入,还有业务流程的控制字段的输入(可以理解为逻辑参数),这种情形会更深入的体现数据驱动的含义。

●数据驱动的自动化测试

数据驱动的自动化测试框架是这样的一个框架,从某个数据文件(例如ODBC源文件、Excel文件、Csv文件、ADO对象文件等)中读取输入、输出的测试数据,然后通过变量传入事先录制好的或手工编写的测试脚本中。其中,这些变量被用作传递(输入/输出)用来验证应用程序的测试数据。在这个过程中,数据文件的读取、测试状态和所有测试信息都被编写进测试脚本里;测试数据只包含在数据文件中,而不是脚本里,测试脚本只是一个“驱动”,或者说是一个传送数据的机制。

●关键字驱动的自动化测试

关键字驱动的自动化测试(也称为表驱动测试自动化),是数据驱动自动化测试的变种,可支持由不同序列或多个不同路径组成的测试。它是一种独立于应用程序的自动化框架,在处理自动化测试的同时也要适合手工测试。关键字驱动的自动化测试框架建立在数据驱动手段之上,表中包含指令(关键词),而不只是数据。这些测试被开发成使用关键字的数据表,它们独立于执行测试的自动化工具。关键字驱动的自动化测试是对数据驱动的自动化测试的有效改进和补充。

放张我的猫,看它这么可爱,快来关注我吧

以上笔者的经历更像一张横向的知识网,创建了一个交流平台 914172719 ,群内有各种技术同行交流、学习资料、面试经验等。其中用到jenkins、docker、moutebank、python编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119085.html

相关文章

  • 聊聊调度框架,K8S、Mesos、Swarm 一个都不能少

    摘要:在这三种调度框架做出选择需要进行验证根据应用的工作方式,数量以及如何管理数据等基础,可以帮助缩小选择范围。容器安装和运行时对存储服务进行特定的请求,以实现如创建删除检查列表连接分离挂载卸载等功能。和一样,它也有相同的功能和限制。 Swarm、Mesos、和Kubernetes都为各种规模的企业提供了全面的支持,如何选择是好? API ▼ 目前找到符合企业自身需求的调度框架比较困难,Do...

    fasss 评论0 收藏0
  • 技术栈:小菜前端的技术栈是如何规划演进的

    摘要:本文以管理者的视角,与大家分享下我自年月入职小菜后,与前端同学一起是如何规划团队的技术栈的,这条技术栈上的技能点又是如何在不同童鞋不同业务中生长出来的。 Scott 近两年无论是面试还是线下线上的技术分享,遇到许许多多前端同学,由于团队原因,个人原因,职业成长,技术方向,甚至家庭等等原因,在理想国与现实之间,在放弃与坚守之间,摇摆不停,心酸硬抗,大家可以找我聊聊南聊聊北,对工程师的宿命...

    betacat 评论0 收藏0
  • Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗?

    摘要:我们就继续以此为基础,用保姆级的粒度一步一步操作,来讨论一下字符设备驱动程序的编写方法。如何使用新的函数来编写字符设备驱动程序,下一篇文章再详细讨论。 作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。 关注下方公众号,回复【书籍】,获取 Linux、嵌入式领域经典书籍;回复【PDF】,获取所有原创文章( PDF 格式)。 目录 ...

    Godtoy 评论0 收藏0
  • 前端进阶之路: 前端架构设计(3) - 测试核心

    摘要:而测试驱动开发技术并不只是单纯的测试工作。需求向来就是软件开发过程中感觉最不好明确描述易变的东西。这里说的需求不只是指用户的需求,还包括对代码 可能很多人和我一样, 首次听到前端架构这个词, 第一反应是: 前端还有架构这一说呢? 在后端开发领域, 系统规划和可扩展性非常关键, 因此架构师备受重视, 早在开发工作启动之前, 他们就被邀请加入到项目中, 而且他们会跟客户讨论即将建成的平台的...

    Karuru 评论0 收藏0
  • 前端进阶之路: 前端架构设计(3) - 测试核心

    摘要:而测试驱动开发技术并不只是单纯的测试工作。需求向来就是软件开发过程中感觉最不好明确描述易变的东西。这里说的需求不只是指用户的需求,还包括对代码 可能很多人和我一样, 首次听到前端架构这个词, 第一反应是: 前端还有架构这一说呢? 在后端开发领域, 系统规划和可扩展性非常关键, 因此架构师备受重视, 早在开发工作启动之前, 他们就被邀请加入到项目中, 而且他们会跟客户讨论即将建成的平台的...

    宋华 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<