聊聊自动化测试里的数据驱动和关键字驱动
Posted 软件测试情报局
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊自动化测试里的数据驱动和关键字驱动相关的知识,希望对你有一定的参考价值。
今天,我们来聊聊自动化测试里的高逼格词汇(装x词汇),关键字驱动和数据驱动,相信大伙经常听到吧,首先来说说关键字驱动吧,
关键字驱动,作为一种自动化测试框架的设计形式,在很久以前就被提到过。它的基本原理或者说构思就是将原本的自动化代码进行代码与数据的分离,再将分离出来的代码二次分离,形成所谓行为代码与测试代码,而后再经由数据内容驱动行为代码,生成测试代码。从而更加便捷地进行自动化测试代码的管理,以及提高自动化的复用性,让使用者更加容易理解和使用自动化(毕竟还是有很多很多测试人员对代码一窍不通。)
再说的通俗易懂点,比如
我喜欢她
你喜欢她
他喜欢她
从上面例子可以看到,三个人都有着同样的行为,那就是喜欢她,那么这里我们是不是可以把喜欢这个行为提取出来,因为喜欢一个人太累了,把它作为一个公共的内容,我们只需要提供个主语就行了,这样谁都能轻松的喜欢她了,把这个提取行为作为公共内容的过程就是传说中的关键字封装,通过主语数据去驱动这样的一个行为,形成了一件事,那么这个就是传说中的“关键字驱动+数据驱动”的自动化测试设计模式了。
再来说说数据驱动
数据驱动必须有数据来控制测试的业务流,比如测一个WEB程序,有很多页面,你可以通过一个数据来控制每次是在哪个页面下工作的(即通过数据来导航到相应的页面)。它是关键字驱动的低级版本,他控制的是函数级的,而关键字是控制动作级的。所以数据驱动应该是可以控制整个测试的”。
在一些复杂的测试用例中,同一个用例包含了很多的测试流程,其中不同的测试流程采用不同的测试输入数据,这个时候测试数据的输入不仅仅是参数的输入,还有业务流程的控制字段的输入(可以理解为逻辑参数),这种情形会更深入的体现数据驱动的含义。
●数据驱动的自动化测试
数据驱动的自动化测试框架是这样的一个框架,从某个数据文件(例如ODBC源文件、Excel文件、Csv文件、ADO对象文件等)中读取输入、输出的测试数据,然后通过变量传入事先录制好的或手工编写的测试脚本中。其中,这些变量被用作传递(输入/输出)用来验证应用程序的测试数据。在这个过程中,数据文件的读取、测试状态和所有测试信息都被编写进测试脚本里;测试数据只包含在数据文件中,而不是脚本里,测试脚本只是一个“驱动”,或者说是一个传送数据的机制。
●关键字驱动的自动化测试
关键字驱动的自动化测试(也称为表驱动测试自动化),是数据驱动自动化测试的变种,可支持由不同序列或多个不同路径组成的测试。它是一种独立于应用程序的自动化框架,在处理自动化测试的同时也要适合手工测试。关键字驱动的自动化测试框架建立在数据驱动手段之上,表中包含指令(关键词),而不只是数据。这些测试被开发成使用关键字的数据表,它们独立于执行测试的自动化工具。关键字驱动的自动化测试是对数据驱动的自动化测试的有效改进和补充。
放张我的猫,看它这么可爱,快来关注我吧
以上笔者的经历更像一张横向的知识网,创建了一个交流平台 914172719 ,群内有各种技术同行交流、学习资料、面试经验等。其中用到jenkins、docker、moutebank、python编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
以上是关于聊聊自动化测试里的数据驱动和关键字驱动的主要内容,如果未能解决你的问题,请参考以下文章