沃卡logo

在测试中实施人工智能:值得吗?

2022-09-16来源:

  本文中的人工智能指的是其现代状态,而不是理想目标。我们生活在一个狭隘或弱人工智能的世界中,它在个别任务上击败了人类,例如比开发人员更快地尝试基本的故障排除选项。我们距离真正强大的人工智能还有几年或几十年的时间,它几乎可以做人类能做的任何事情。这意味着人工智能测试不会在没有人工输入的情况下进行,但您可以最大限度地减少工作量。

人工智能

  AI 实施如何改进软件测试过程?

  软件测试中的人工智能是自动化 QA 的自然演变。人工智能测试自动化比模拟手动工作更进了一步。“机器”还首先决定何时以及如何运行测试。

  创新不止于此。人工智能测试已经成为现实。根据实现的不同,测试将被修改和/或从头开始创建而无需任何人工输入。如果项目的复杂性让你想知道如何测试,这是一个很好的解决方案——人工智能很可能是答案。

  人工智能的好处

  根据定义等因素,仅本节就有一系列文章。让我们坚持人工智能测试的好处以及人工智能在 QA 中的其他用途。

  • AI 自动化测试可以节省时间。我们已经介绍了使用测试自动化工具来实现调度奇迹,但让我们更上一层楼。如果你也可以只维护有用的测试呢?例如,您可以自动取消或暂停测试,以调查它们是否确实是在浪费时间。
  • 测试一致性可以提高很多。偶尔会遇到无缘无故失败的片状测试是很自然的。可以自动标记此类测试以供人工智能审查,以识别编码问题或指出在多个测试中发现的概念缺陷。
  • 测试维护变得不那么麻烦。这对于经常每天(如果不是更频繁地)调整用户界面以实现 A/B 目的的 B2C 解决方案尤其重要。对于模拟用户旅程的测试,这样的小变化仍然可能是破坏性的,例如,按钮根本不再存在。结合人工智能 + 测试自动化意味着您的测试无需人工输入即可针对 UI 更改进行调整。

  最佳实践

  以下是来自处于人工智能测试前沿的公司的反复试验的一些建议。

  • 知道你在做什么。在没有充分准备的情况下推动测试自动化是一个巨大的时间消耗。就像自动化测试一样,缺乏能够带路的高级专家是灾难性的。
  • 整理好你的测试套件。缺少或不正确的标签、拼写错误和遗留数据库都可能会扭曲人工智能将用于改进测试的数据。
  • 写下实施人工智能的目标。这包括您希望解决的业务目标(例如,通过更流畅的 UX 显着提高留存率)、验证您的 AI 努力值得付出努力的 QA 目标,以及一些用于查看您是否走在正确轨道上的 AI 测试基准。
  • 提醒你的同事。将人工智能纳入测试是一个漫长的过程,它可能会在最短的时间内影响 QA 专家的可用性及其输出。您的项目经理、产品负责人和高层管理人员会很高兴提前通知这种剧烈的变化。当然,开发人员也应该知道,特别是如果他们处理项目的单元测试。
  • 确保您的测试管理同样具有创新性。如果您的团队仍然坚持在 Excel 上进行 QA,那么 AI 测试几乎没有用处。您需要一个对第三方人工智能工具友好的专用测试管理解决方案。

  基于人工智能的软件测试自动化方法

  将人工智能融入软件测试的方法主要来自最流行的人工智能技术。它们是机器学习、自然语言处理 (NLP)、自动化/机器人和计算机视觉。以下是这些技术如何用于 QA 的一些示例。

  • 模式识别采用机器学习来查找测试和/或测试执行中的模式,这些模式可以转化为可操作的见解。如果同一个类的问题导致多个测试失败,您的 AI 解决方案将要求团队重新查看可能有问题的代码。模式识别还可用于您的软件代码本身,以发现和预测潜在漏洞。
  • 如果自动化测试开始令人头疼,自我修复可以纠正它们。不稳定的测试最终可以追溯到问题的路径。看似不可重现的缺陷将被捕获并解决。随着您的项目变得越来越大,自我修复的测试将真正改变游戏规则。
  • 视觉回归测试使您的软件和测试都保持正常工作。这就是前面提到的 UI 调整示例。良好的自我修复消除了许多多余的工作,使产品团队对 A/B 测试更加雄心勃勃,并帮助他们快速响应趋势。
  • 数据生成与主要的软件测试工具一起非常有用。可以使用人工智能对更大规模的测试进行参数化,例如,生成大量具有稀有分辨率和元数据的个人资料图片,以查看用户是否可以正常上传它们。

  人工智能软件测试的最佳测试工具

  让我们看一些使用上述方法的工具。

  Launchable

  Launchable使用模式识别来查看测试失败的可能性。此信息可用于切断测试套件并消除一些明显的冗余。此外,您可以对测试进行分组,例如,在部署修补程序之前只运行最有问题的测试。Launchable 最受认可的客户是宝马。

  Percy

  Percy是一个视觉回归测试工具。它非常适合保持 UI 测试的相关性,并帮助您在不同浏览器和设备之间保持用户界面的一致性。Google、Shopify 和 Canva 都在 Percy 的客户组合中。

  mabl

  mabl是一个简洁的测试自动化平台,具有自我修复功能。它宣扬一种低代码方法,但可以以传统方式完美使用。Riot Games、JetBlue 以及 Stack Overflow 和 Splunk 等 IT 公司作为客户出现在 mabl 的网站上。

  Avo测试数据管理

  Avo有一个用于管理测试数据的专用工具,该功能还包括 AI 数据生成。该解决方案声称可以大规模模拟真实世界的数据,并在顶部进行一些数据发现。Avo 被索尼、普华永道以及 aqua 的客户之一——Tech Mahindra 使用。

  结论

  软件测试中的人工智能方法是一种真正强大的工具,它比常规自动化更能提高效率。一些子集可能看起来有点过分(例如,数据生成是人们开始将所有东西标记为“AI”之前的事情),但自我修复测试和模式识别是不小的壮举。只要您制定适当的目标并找到合适的人员,在您的质量保证程序中实施 AI 肯定是值得的。

  但是,如果没有好的测试管理解决方案,将 AI 引入您的软件测试是没有意义的。你需要一个坚实的测试组织来涉足人工智能,任何认真的努力都会增加使用多个人工智能 QA 工具的复杂性。在开始软件测试 AI 之旅之前,请确保您找到了一个好的多合一测试管理解决方案。

  图片使用申明:原创文章图片源自‘Canva可画’平台免费版权图片素材;引用文章源自引用平台文章中所使用的原图。