- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章无脚本测试vs脚本测试:哪种测试适合您?由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
无脚本测试是一种不需要脚本的测试自动化方式,也是一种新方法。它旨在最大限度地减少测试人员在学习编码和脚本方面的工作量。就像Sprint一样,无脚本测试也是一种新的流行范例。您可能听说过无脚本测试,或者您想知道应该采用无脚本测试还是脚本测试?如果选择其中之一,那么会得到什么?别担心,本文将消除您的困惑。但是本文不会深入探讨无脚本测试技术,如果对此感兴趣,可以了解什么是无脚本测试及其工作原理.
脚本测试一直是软件自动化测试的标准方法,如今已用于大多数软件开发周期。下图显示了自动化测试市场规模多年来的增长情况(以10亿美元为单位):
随着团队融入敏捷性,自动化在软件测试中发生了新的转变。脚本的自动化可以更好地执行,并且开发的成本更低。对于某些测试,企业可以在一夜之间进行创建和测试,并随后进行检查。它需要仔细规划,并由质量保证(QA)测试人员编写、监控、维护测试脚本的创建.
人们如今可以看到测试自动化的转变——从脚本测试发展到无脚本测试。顾名思义,无脚本测试意味着一种不涉及脚本的测试自动化方法。现在有多种方法可以实现无脚本测试自动化,一篇名为《无脚本测试不仅仅是记录和回放:十大无脚本测试方法》的文章涵盖这些方法:有些工具可以让您对复杂场景使用脚本测试的方法,而有些工具也可以让您通过无脚本测试方法实现复杂场景的自动化.
下表将对无脚本测试和脚本测试进行比较.
上表提到了对各种参数的逐点分析。以下详细探讨这些要点.
(1)脚本编写 。
首先想到的最常见的比较参数是脚本编写的过程及其强度。如上所述,无脚本测试不涉及编写脚本来测试函数或大模块。它可能不会一直是完全无脚本或无代码的,因此编码要求是很低的.
脚本化测试需要针对每个模块和功能的测试脚本。这些脚本可能很复杂,也可能比较简单,具体取决于所选的测试框架.
因此,如果您的团队受过脚本编写培训,那么可以选择保持脚本编写。否则,将采用无脚本测试.
(2)编程知识 。
无脚本测试不需要您具有编程知识,因为测试脚本的构建是最低限度的。您可以让测试人员或来自其他领域的人员在没有任何编程知识的情况下开始实施无脚本测试.
脚本测试是通过用编程语言编写脚本来完成的。因此在这种情况下,测试人员必须具备良好的编程知识。在这里,选择取决于企业的具体情况。如果是一家初创公司,无脚本测试可能是一个很好的起点,因为雇佣自动化测试人员会花费更多费用。对于拥有大量自动化测试人员的成熟企业,脚本化测试可能是一个更好的选择.
(3)脚本管理 。
如果您已经编写了并执行了脚本,接下来就是维护。脚本的维护是当一些现有功能更改或依赖项与新功能发生时必须在更改它们时所做的努力。在这方面,无脚本编码可以使团队更加放松。如果功能发生变化,您可能需要拖放某些内容、记录和重放或更改基于自然语言处理(NLP)的语言。所有这些过程都不会花费太多时间.
另一方面,当软件功能发生变化时,脚本化测试有时会带来噩梦。随着时间的推移,自动化测试脚本随着模块变得过于复杂。这些测试脚本的依赖关系和流程需要测试人员花时间来理解它们。时间已经成为软件开发中最宝贵的资源之一,从长远来看,将在维护测试脚本的同时进行测试.
(4)相关人员 。
让相关人员参与测试过程可以为测试质量带来改进和更好的输入。团队成员越多样化,测试结果就会越好,无脚本测试在这里具有更多优势,因为其测试是无代码的——人们可以很容易地参与其中。无脚本测试可能涉及业务团队、管理团队、利益相关者甚至客户的人员。这些几乎没有编程知识的人可以理解测试流程,可以即兴创作并建议过程中的更改.
然而,脚本测试的所有内容都是用编程语言编写的。因此,参与人员无法直接理解测试脚本并提出任何更改建议,只有质量保证(QA)测试人员才能做到这一点。然而,分析师、经理和客户帮助质量保证(QA)测试人员定义模块的需求和最终目标。但是,实际的测试过程只能由质量保证(QA)团队完成.
因此,如果企业的客户想要参与其中,并且没有可以从事测试自动化的质量保证(QA)测试人员,那么无脚本测试将是一个更好的选择.
(5)学习曲线 。
学习曲线是您从头开始学习测试过程所需的努力。无脚本测试的学习曲线非常平缓。虽然不同的工具提供了不同的无脚本测试方法,但是文档很详细,其过程也不算复杂.
而在另一方面,脚本测试具有非常陡峭的学习曲线。虽然文档很全面,但涉及大量与编程相关的部分。要开始脚本化测试,测试人员必须从头开始学习编程语言。然后,他们必须能够了解编程语言应用逻辑。最后,测试人员必须选择支持其编程语言的软件,并学习该软件及其功能来执行测试。所有这些都需要花费一些时间和精力,从而形成陡峭的学习曲线.
(6)测试设置和执行 。
测试设置和执行是创建测试并执行它们以生成最终报告所需的时间。无脚本测试不包含复杂的代码,因此可以快速形成测试用例并生成结果.
脚本化测试创建需要一些时间,有时需要数天的时间,因此花费的时间相对较长.
(7)范围 。
有时使用无脚本测试,不可能自动化复杂的场景。这就是大多数无脚本测试自动化工具也允许在需要时使用代码的原因.
与无脚本测试相反,脚本测试可以应用于各种类型的复杂性和各种测试方法的一部分。这些可以包括单元测试、集成测试和端到端测试等。如果您的唯一要求是用户界面(UI)测试,那么无脚本测试是一个不错的选择,否则脚本测试应该是首选,或者两者混合使用也可以.
(8)工具 。
这就是脚本测试和无脚本测试之间的基本区别,它们将帮助您决定选择其中的一个。在完成后,您将需要一个可以建立所需任务的工具。无脚本测试使用的工具较少,但它们很有效。并且可以完美地完成工作。这些工具有不同的方法来定义测试并在以后进行管理。您可以了解有关各种无代码自动化工具的更多信息,并确定最适合的工具.
脚本测试是一种更流行的方法,Selenium就是一个很好的工具。Selenium有很多不同的语言,因此不必根据软件进行调整。Selenium还是一个功能强大的开源工具,并且拥有一个非常庞大的社区,可以在各个方面提供帮助.
通过上面的仔细分析,相信您已经决定选择哪一种方法了。这两种方法都很好,可以带来不同的体验。无脚本测试更容易、更快地构建测试,并且从未编写过任何代码的人员可以参与。但是无脚本测试的使用范围有限,在需要测试验证码或条形码的情况下,将会遭遇失败。而脚本测试更成熟,并且带来快速的结果。这可以应用于敏感且需要详尽精度测试的小模块和软件,但他们也有自己的漏洞.
当您根据自己的情况考虑上述这些要点时,最好了解需要选择的测试类型。您可以分配任务、培训团队或花费更多的资金,这取决于项目以及企业的具体情况.
原文标题:Scriptless Testing vs Scripted Testing: Which One Is for You?,作者:Harish Rajora 。
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】 。
原文链接:https://developer.51cto.com/art/202108/677361.htm 。
最后此篇关于无脚本测试vs脚本测试:哪种测试适合您?的文章就讲到这里了,如果你想了解更多关于无脚本测试vs脚本测试:哪种测试适合您?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是 Mercurial 的新手,并且不知何故仍处于评估过程中,所以这四个概念对我来说有点困惑。有些被提到等同于 Git 的 Staging/Index 概念,有些甚至比 Git 的 Staging
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6 个月前关闭。 Improve this ques
任何人都可以给我详细信息吗? 例如? #ID 是属性、特性、选择器还是 anchor ? 默认属性和默认属性是不同的东西吗? 这些都是标签还是元素? 我们将对此说些什么 这个 ..... 还有这些
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我有一个由 Javascript 填充的下拉列表。 在决定加载时显示的默认值时,我意识到以下属性显示的值完全相同: innerText innerHTML label text textContent
我可以知道每个 Exec 之间有什么区别吗? , ExecWait , ExecShell , nsExec::Exec , nsExec::ExecToLog, nsExec::ExecToStac
当您处于版本 1 和版本 2 之间时,您会如何维护您的软件? 从我的角度来看,“补丁”、“修补程序”、“维护版本”、“服务包”等术语都很模糊,根据与您交谈的对象不同,定义也不同。 您如何称呼版本之间的
我刚刚发现在 ES6 中有一个新的数学方法:Math.trunc . 我在 MDN article 中阅读了它的描述。 , 听起来像使用 |0 . 此外,>0 , &-1 , ^0也做类似的事情(感谢
我想知道我的 StackPanel 所有项目的高度。 有什么区别: Height - 获取或设置元素的建议高度。 ActualHeight - 获取该元素的渲染高度。 (只读) ExtentHeigh
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我对所有声称以某种方式阻止计算的内置 Mathematica 函数感到困惑:Unevaluated、Defer、Hold ,以及超过 6 个 Hold* 形式。 Mathematica 文档只是单独解
我什至不确定正确的术语,所以让我从我的目标开始:拥有一个简单的应用程序(“Data Doler”),它只会将大量数据从文件读取到内存中,然后提供服务将该数据切片到名为“Data Lapper”的单个多
我刚刚开始在我的项目中使用 Elasticsearch,我想像 sql 关键字一样搜索 '喜欢%' 做。 谁能解释一下 之间的区别通配符 , 前缀 , 查询字符串和 正则表达式 ? 哪个可以搜索最好性
由于我对任何主流浏览器(Firefox、Chrome、Opera)都不太满意,而且我尝试过的不太受欢迎的浏览器(近十几种)都没有,所以我决定 DIY 并制作一个网页我想要最好的浏览器。 主要目标是让它
我知道如何使用 Python 解析页面。我的问题是哪种方法是所有解析技术中最快的,其他方法的速度有多快? 我知道的解析技术有Xpath、DOM、BeautifulSoup,还有使用Python的fin
我试图从正在解析的命令行中找出哪个函数最适合将十进制、十六进制或八进制数转换为 int 最好——在不知道输入的情况下事先。 目标是使用一个函数来识别不同类型的输入并将其分配给它的整数 (int) 值,
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我们需要在我们的网站上显示酒吧、餐馆和剧院等各种场所的元信息(例如,地址、姓名)。 理想情况下,用户会输入地点名称以及邮政编码,我们会提供最接近的匹配项。 人们将哪些 API 用于类似的地理定位目的?
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在创建我的第一个 Web 应用程序,我真的很困惑应该使用什么技术。 我的应用程序需要看起来很严肃(像一个应用程序),它不需要很多色彩缤纷的图形界面。它只需要一个工具栏、一个标签栏、一个拆分面板(最
我是一名优秀的程序员,十分优秀!