AI将取代测试员?你是不是对它有什么误解!

AI和自动化是可以在软件测试中使用的工具。它们不能自己测试软件,很容易被滥用,但是应使用它们来补充你的测试。就像私人助理一样,它们会执行我们没有时间或渴望去做的事情,这使我们有时间专注于重要的事情。

我们都从一些非常聪明的人那里听说过用于软件测试的AI,但是这个想法引起了很多困惑。本文解决了你可能会问的一些问题,比如使用AI进行软件测试是否需要成为天才?AI会取代我们成为测试员吗?在我们的测试策略中AI适合哪些方面?用训练狗的简单类比,了解AI如何适合测试。

首先,我要说的是,我对数学和编码没有足够的热情,足以关心AI的内在和技术方面。我认为作为一个软件测试人员,它对技术概念有很好的认知,并且可以使用多种编程语言编写普通的代码。我相信软件测试是由人来完成的,并且我相信测试是通过探索和试验来了解产品来评估产品的过程。但是我也喜欢自动化和工具。

让我们解决你可能会问的一些问题,以便我们所有人都能更好地了解AI如何用于测试。

使用AI进行软件测试是否需要成为天才?

如上面所述,在AI的内部运作方面,我绝不是AI专家。信不信由你,由于我在训练狗方面的背景,我发现自己喜欢AI。

严肃地说,让我们超级简化一下,把AI机器人与狗进行比较。如果你曾经养过小狗,我相信你有过这样的经验,当你要求让它们坐下来,但是它们只用困惑的脸抬头看着你。所以你掏出了点心,当它们的屁股撞到地上时,你就奖励了它们。它们很快了解到“坐下”等于报酬。然后,你开始在上面贴上标签。你会说“坐下”,如果屁股撞到了地面,它们会得到一种奖励,所以“坐下”意味着在地面上撞屁股,得到食物了!

同样,人工智能机器人以一种杂乱的方式抓取你的应用程序,尝试不同的路径并浏览不同的屏幕。只有当机器人开始为它们的行为获得“奖励”时,它们才开始学习我们要它们做什么。一旦它们浏览了应用程序的一部分,它们便获得了奖励,我们标记了该动作,然后它们以可重复的方式执行了该动作。就是这么简单,无论你是用户还是培训师。

你不需要成为一名兽医就可以训练狗,但是对狗的思维方式和动机有一个大致的了解确实有帮助。同样,你无需能够创建AI机器人来了解如何使用它们进行软件测试。但是,你应该知道如何测试软件,并对AI的工作原理有足够的了解,以便正确使用它。

AI会取代我们成为测试员吗?

继续这个比喻,我们直接说一个事实,那就是仍然有积极从事工作的训犬师。狗还没有学会,也似乎没有真正的欲望或意图去开始互相了解如何坐以待命。部分原因是它们不会说我们所能理解的语言。

机器人的相似之处在于它们尚无法自我训练。即使它们可以,它们也缺乏理解软件测试所需的上下文和目的的能力。因此,如果你认为你可以雇用很多AI机器人来代替你的测试人员,或者如果你认为自己将失去AI机器人的工作,那么你是完全错误的。

AI在我们的测试策略中适合哪些方面?

如果你问自己这个问题,你将获得奖牌。关于人工智能,我一直注意到的准入障碍之一是二进制的想法:你要么必须选择“人工智能所有事物!”或“没有适合你的人工智能!”

任何事物都会贴近事实。正如我已经解释的那样,AI不会取代软件测试员。我还想解决那个问题,就是AI无法而且不应该做所有事情。

AI和自动化是可以在软件测试中使用的工具。它们不能自己测试软件,很容易被滥用,但是应使用它们来补充你的测试。就像私人助理一样,它们会执行我们没有时间或渴望去做的事情,这使我们有时间专注于重要的事情。

许多公司都试图“使所有事情自动化”。我们许多人仍在尝试使所有事情自动化。有些事情不应该自动化。安吉·琼斯(Angie Jones)对此进行了精彩的演讲和授课。就像自动化一样,人工智能不应该用于“AI所有事物!”你可以将脚趾伸进众所周知的AI水里。

以狗训练类比为基础,你不会要求狗开汽车。我不会要求AI进行复杂的组合自动化。

你可能会想:“但是等一下。人工智能很聪明,所以我不应该让它去做困难的事情吗?”?答案是,你绝对可以让它完成艰巨的任务。但是你必须一遍又一遍地做些什么呢?你知道,这些东西令人无聊,高度可重复并且需要测试人员花费很多个小时吗?那真的是对测试人员大脑的最佳利用吗?你是否雇用它们只是日复一日地按按钮,还是雇用它们来做它们熟练的工作,这就是测试?

我供职的一家公司花费大量资金支付我的测试团队在生产环境中进行冗余UI检查。这是我们大多数人都不喜欢的令人麻木的工作。使用AI,我们能够连续运行这些检查,并为开发和运营提供快速反馈。最重要的是,我们正在使用的AI服务提供的指标包括CPU使用率,内存使用率和性能。因此,在运行自动化程序的同时,我们能够对一些性能指标进行趋势分析并查看模式,而无需进行额外的特定负载和性能测试。这是一个处理我们问题的非常有效的解决方案。

人工智能的最佳用途可能只是处理测试人员不想做的所有事情。如果让机器人执行简单、可重复的任务,则可以让测试人员进行实际测试。因此,你不必担心每天都要按动按钮,而是要让它们动脑筋。

现在,你有了一个机器人,它在做测试人员以前在做的事情,除了更快、更有效之外,并且你有一个热情的人在热情地进行测试。恭喜,你刚刚增加了你的产品范围!

这就是为什么需要将AI纳入测试策略的原因,就像将自动化纳入测试策略一样。

总之,人工智能和人类可以而且应该一起测试软件。使用AI进行软件测试不必成为天才。你只需要对此保持灵活。人工智能不是软件测试的灵丹妙药,因此不应被这样使用。通过战略性地使用AI来补充其它测试工作,你可以大大提高产品覆盖率。而且,如果你使用AI来完成简单、可重复的任务,则可以让测试人员专注于它们擅长的工作:测试,从而提高测试人员的士气。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论