原文链接https://testsigma.com/blog/smart-test-automation-using-nlp-what-you-should-know/
By
Mohammad Adil
在这篇文章里,我们将会关注什么是NLP,NLP是为什么对智能自动化测试有效的。
什么是NLP?
自然语言处理(NLP)指的是计算机科学的一个分支,更简单的话来讲,它是人工智能的一个分支。
它是一个电脑可以像人类一样理解文字和语言的过程。
NLP描述了让计算机和人类语言进行互动成真的过程
这项科技已经出现了许多年了而今已被人们日常所使用。我们已经在某些方面以某些方法接触过NLP。
Alexa,亚马逊的语音服务就是一个基于NLP的解决方案的例子。Siri,苹果的语音助手和谷歌助手用的也是这种科技。
其他的NLP例子包含:
智能测试自动化
这个世界变化的很快而我们必须准备好应对它。大厂以后不一定会击败小厂了。天下武功,唯快不破。变化越快的战胜不思进取的。
最近几年,测试世界迎来了许多重大的变化。早些,测试是人工地来做的,是一个漫长而耗时的过程。但是今天,我们在测试中比以往使用了更多自动化的技术。
我们选择这样的改变是为了更快地获得更好的质量,这将有助于以更快的速度提供更好的产品。 简而言之,我们现在正在寻找更智能的解决方案。
智能是有智慧的东西
让我用一个简单的例子来解释。 早些时候,我们使用通常用于发短信和打电话的手机。 然后是智能手机时代,它彻底改变了手机的使用方式。 智能手机只是另一台迷你电脑。
因此,当测试自动化可以让您以更少的努力做更好的事情时,它可以被称为智能。
例如,为了更好地解释,我们可以说无脚本可能是“智能测试自动化”的一个功能,如果它能让您的团队更快地自动化您的测试。
企业需要具有自我意识和自适应能力的智能测试平台来支持整个应用程序生命周期。 智能测试自动化平台需要承载测试自动化以及性能、安全性和兼容性测试需求
让我们继续看看一些可以提高测试自动化的附加功能。
智能元素定位器
- Testsigma 等智能测试自动化工具通过采用动态定位器策略,帮助测试人员使用智能元素定位器(也称为 UI 标识符)轻松进行测试维护。 即使产品发生一些结构变化,它也能确保功能测试保持强大。
重做修改
- 使用记录和回放工具,无法轻松编辑记录的测试。
- 如果应用程序流程有细微的变化,测试人员需要从头开始重新记录测试步骤。 这又是一个耗时的过程。
- 当涉及到基于 NLP 的测试脚本时,可以轻松地进行修改。 测试人员可以轻松地在开始、结束或中间的任何位置添加测试步骤,而无需重做。
条件等待
- 等待命令对于执行测试脚本至关重要,有助于识别和解决与时间延迟相关的问题。
- 基于 NLP 的测试自动化工具 Testsigma 有一组条件等待语句,有助于根据用户定义的条件添加等待:
- 等到当前页面完全加载;
- 等到元素 ui 标识符可点击;
- 等到元素ui标识符被选中;
- 等到元素 ui 标识符可见等。
条件流和控制结构
-控制流或控制流是我们创建的代码块,用于控制我们通过代码的方向。 在程序中,根据数据采取不同的方向是很常见的。
-让我们以登录屏幕为例。 如果提供的凭据(即用户名和密码)有效,我们会登录。如果无效,我们不会。 这被定义为流量控制。
-想象一下工具中可用的相同功能集,而不会增加复杂性。
-使用 Testsigma,您可以使用一组参数(数据驱动方法)循环整个测试用例,也可以循环测试步骤的子集。 如果我们想在有/没有可用的测试数据集的情况下简单地重复一个步骤多次,这将非常有用。
跨浏览器支持
-使用像 TestSigma 这样的智能测试自动化工具,自动化测试可以在数千个真实的设备/操作系统/浏览器版本组合以及本地物理设备上运行。
为什么选择 NLP 进行智能测试自动化?
- 使用 NLP 进行智能测试自动化可以获得许多好处。
- 低学习曲线。 由于测试是用自然语言编写的,因此测试人员或团队中的任何人都不需要具备编程知识才能通过它。
- 由于测试用例是用自然语言创建的,不需要学习。 减少了测试创建所花费的时间。
同样,测试用例也变得更容易维护。
使用 NLP 进行智能测试自动化的工具
像 Testsigma 这样的工具在测试自动化中使用 NLP,使得复杂的自动化可以用所有人都能理解的简单自然语言轻松完成。 只需最少或无需培训,就可以编写复杂的自动化测试,而无需编码
除了简单的自然语言测试创建之外,Testsigma 还提供了一些额外的功能,使您的测试自动化变得智能。 这些功能包括:
- 可能的故障检测——受影响的测试用例
- 测试管理能力(需求、测试套件、测试用例优先级等)
- 自动错误报告(JIRA)
- 共享对象存储库
- 状态管理
另一个智能测试自动化工具的例子是“uphorix”。
特点包括:
- 低代码自动化
- 智能脚本
- Swift 兼容性
- 本机测试数据生成器
何时不使用 NLP
在测试自动化中使用 NLP 有一些缺点:
NLP 不应用于该工具可以通过 NLP 提供的所有功能无法满足您的项目要求的情况。 在这种情况下,请检查是否允许使用其他语言进行自定义。 或者选择其他工具,让您根据项目要求实现自动化。
结论
- 从自动驾驶汽车到可以检测癌细胞的微型设备,再到可以帮助在胸部 X 光片和许多其他方式中发现 Covid-19 的神经网络,人工智能正在改变我们的世界和其中的一切。
- 在这种情况下,测试和 QA 能否远离它的优点? 这个领域有很多用例,例如工具和 IDE 中的内置智能、要交付的预打包内容。
- 广泛使用自然语言处理来自动生成智能、交互式、自我修复的测试套件仅仅是前奏,未来的道路是有利的。