解读:十年测开如何理解自动化测试里的数据驱动、关键字驱动思路
优采云 发布时间: 2022-10-14 04:26解读:十年测开如何理解自动化测试里的数据驱动、关键字驱动思路
刚接触自动化测试的时候,对数据驱动和关键字驱动不是很了解,感觉有点棘手,不仅仅是参数和函数!其实也反映了不同测试开发(主要指系统测试)的一些特点,以及技术发展脉络的展示。
01 录音/回放的神话
其实可以理解为自动化测试脚本和测试用例之间的紧密耦合,不仅使得测试脚本难以维护,而且在系统测试中也抵制了面向用户的思维。
每个自动化测试工具制造商都会宣传他们的工具非常易于使用。没有技术背景的测试人员只需将测试的操作过程记录下来,然后播放录制好的测试脚本,就可以轻松实现所有测试的自动化。这样的说法是非常不负责任的。
现在让我们来分析一下仅靠记录/回放无法完成自动化测试的原因。通过录制创建的脚本基本上是用脚本语言以硬编码的方式编写的。当应用程序发生变化时,这些硬代码也需要更改。因此,维护这些录制脚本的成本非常高,几乎无法接受。
当应用程序可以正确执行时,必须记录所有测试脚本。如果在记录过程中发现缺陷,测试人员必须将其报告给缺陷管理机制。缺陷修复后,整个录制脚本可以继续进行。在这种情况下,仅依靠录制脚本进行测试是非常低效的。
同时,这些录制的脚本也不是很可靠,即使应用程序不做任何改动直接播放,也可能会因为一些意外情况而无法执行。如果测试人员在录制脚本时使用了错误的脚本语言,则必须重新录制脚本。
综上所述,通过录制来创建自动化测试脚本看似容易,但实际上会遇到以下问题:
02数据驱动的自动化测试框架
“什么是数据驱动?
很多人一定认为数据驱动就是在EXCEL中写出需要参数化的东西,然后在运行脚本的时候调用。如果我告诉您这实际上不是数据驱动的,而只是更高级别的参数化,您会感到惊讶!
现在解释一下:首先,为什么叫数据驱动,那它肯定有驱动的意思,比如可以用EXCEL来控制测试的业务流程吗?答案是不。那你怎么开车?因此,我们将测试数据放在单独的文件中只是一个高级参数。而数据驱动,你必须有数据来控制测试的业务流程。比如你测试一个WEB程序,页面很多,你可以用一个数据来控制每次工作哪个页面(也就是通过数据导航到对应的页面)。它是关键字驱动的低级版本,控制功能级别,关键字控制动作级别。所以数据驱动应该能够控制整个测试。”
在一些复杂的测试用例中,同一个用例收录很多测试过程,不同的测试过程使用不同的测试输入数据。此时测试数据的输入不仅仅是参数的输入,也是业务流程的控制域。输入(可以理解为一个逻辑参数),这种情况会更深刻地体现数据驱动的含义。
数据驱动的自动化测试是针对上述开发和测试之间的紧密耦合而提出的一种测试方法。通过在测试和开发定义的软件元数据——元数据映射表之间建立关联,在测试和开发之间建立松散耦合的关系。无论是测试人员修改测试脚本还是开发人员修改软件,只需要修改元数据映射表,即可满足测试与开发的同步。这样可以减少测试脚本调试的工作量,更好的实现自动化测试。
数据驱动的自动化测试框架是从数据文件(如ODBC源文件、Excel文件、Csv文件、ADO对象文件等)中读取输入和输出测试数据的框架,记录或手写测试脚本. 除其他外,这些变量用作传递的测试数据(输入/输出)以验证应用程序。在这个过程中,数据文件的读取、测试状态以及所有的测试信息都写入到测试脚本中;测试数据只收录在数据文件中,不收录在脚本中,而测试脚本只是一个“驱动程序”,或者说是传输数据的一种机制。
数据驱动脚本是与应用程序相关联的那些脚本。这些脚本被记录或手动写入自动化工具的语言中,然后为其中的变量分配适当的值作为测试数据的输入。这些变量充当一些关键应用程序输入的媒介,使脚本能够使用外部数据驱动应用程序。
优势:
缺点:
03关键词驱动的自动化测试
关键字驱动的来源是很自然的。从面向对象的思想出发,同样的业务逻辑自然会被写成类或函数作为关键字被不同的测试脚本调用。当测试框架发展到所有的测试过程都可以与编写的函数和类结合起来的时候,就进化到了关键字驱动的高级阶段,测试用例的开发就变成了测试数据和关键字。,并将这种组合的工作简化为大家熟悉的填表任务,从而最终达到数据和关键词驱动的整体测试效果。
在关键字驱动的框架中,您可以创建关键字以及相关的方法和函数。然后,您创建一个函数库,其中收录读取关键字的逻辑,然后调用相关操作。
关键字驱动自动化测试(也称为表驱动测试自动化)是数据驱动自动化测试的一种变体,它支持由不同序列或多个不同路径组成的测试。它是一个独立于应用程序的自动化框架,适合在处理自动化测试的同时进行手动测试。关键字驱动的自动化测试框架建立在数据驱动的方法之上,表格收录指令 (关键词),而不仅仅是数据。这些测试是使用关键字作为数据表开发的,它们独立于执行测试的自动化工具。关键字驱动的自动化测试是对数据驱动的自动化测试的有效改进和补充。
该自动化测试模型主要由核心数据驱动引擎、组件功能、支持库和应用映射表组成。自动化测试首先从初始脚本执行。此脚本将高级测试表传递给高级驱动程序。在处理这些表的过程中,高层驱动遇到中层测试表时调用中层驱动。中层驱动程序在处理中层表时做同样的事情。加工。当低级驱动程序处理低级表时,它会尝试使应用程序与测试保持同步。当低级驱动程序遇到某个组件的低级关键字组件时,它会判断该组件的类型,并调用相应的组件功能模块来处理指令操作。所有这些元素都依赖于映射表中的信息,映射表是自动化测试模型和被测应用程序之间的桥梁。支持库主要完成文件处理、日志记录、邮件发送等功能。
推荐研究
推荐码同学8月8日选好课程开始《高级测试经理管理课程》课程。码同学带领过一定线的互联网压测团队50多人,擅长测试团队建设和测试体系建设。此外,他们在职场思维和情商训练方面也有丰富的经验。互联网新贵公司测试总监。讲师和课程内容100%好评!
不想错过就star我们吧!
第一步:点击顶部蓝字“自动化软件测试”进入公众号首页
第二步:点击右上角的“...”
第三步:点击“设为星号”
专业知识:英文优化:10个值得一试的付费SEO工具
《英文优化:值得一试的10款付费SEO工具》文章已存档,站长首页不再显示相关内容。以下是站长家的自动写作机器人,通过算法提取的文章关键内容。这个 AI 还很年轻,请联系我们帮助它成长:
有很多工作可以使用工具来完成,以使这项工作更容易。下面列出的10个更好的英文付费SEO工具,并不是大家期待的黑帽工具,而是应该属于白帽及周边地区。辅助工具...
相信很多人都知道这个工具,也是我非常喜欢用的一个SEO工具...
seoClarity平台主要提供统计,包括数据分析、ROI(ReturnOnInvestment,投资回报)报告等...
您应该熟悉这个工具,KeywordElite。它已经推出了几年,是 Clickbank 上最畅销的 SEO 工具...
无论如何,付费目录工具应该可以进入TOP榜单!...
本文由深圳SEO原创整理,原文链接:版权所有,转载必究!...
……
本文由站长之家用户“”投稿。本平台仅提供信息索引服务。由于内容发布时间超过平台更新维护时间,为保证文章信息的及时性和内容意见的准确性,平台将不提供完整的内容展示,本页内容为仅用于平台搜索索引。需要阅读全文的用户,请联系作者索取原文。
即将跳转到外部网站
安全性未知,继续
继续