软件测试之AI测试

网友投稿 1196 2022-11-25

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件测试之AI测试

AI支持的测试是继自动化后测试领域的又一个自然的发展。

我们见证了手动测试到自动化测试,再到AI支持的测试的逐渐演变。我们可以追踪这一发展过程:

随着软件变得越来越复杂,自动化变得越来越重要:测试自动化是一种成熟的方法。在许多情况下,它是唯一可实现的选择——在不同场景下运行大量测试用例并按时完成回归测试的唯一方法。它提供了更高的效率,用更少的精力和时间找到大量的缺陷。

未来将会看到支持AI的测试:通过使用大量的数据来有效地使用机器学习和AI,自动化测试会变得“更智能”。我们正在看到支持AI的测试案例,例如,使用可视化验证,或者使用基本机器人轻点和滑过应用程序并测量性能。我们将看到人工智能在自动代码评审中发挥作用,通过漏洞评估提高安全性并自动生成测试用例。 QA工程师用历史数据来训练算法以提高检测率。机器学习也可以用来提供应用程序性能的实时反馈,并自动调整。

尽管人工智能兴起,QA工程师不应该担心他们的工作会被抢走。

在市场上有一些基本的使用机器学习来测试移动应用的测试服务,例如Eggplant AI。这些工具能有效地发现应用中的错误。自动化解决方案背后的引擎通过应用程序生成新的测试路径。我们可以使用通过算法自动化产生测试用例的web应用。然而,你需要注意到,你所获得的测试服务发生在整个产品开发生命周期的末尾。

如果公司决定独自采取这种方式,他们将错过高水平的QA工程师可以提供的巨大价值,从安全和风险管理,可扩展性和性能评估,文档管理,过程保证(如规范和关键指标的跟踪)。

QA工程师能够让AI变得更好。

虽然AI不会让测试人员变得多余,但如果QA工程师不熟悉AI以及AI如何能够帮助自己创造更好的软件,那么他们将正在犯错。AI不仅可以帮助我们更快地发现错误,还可以帮助我们确定需要测试什么,或者哪里更可能发现错误。例如,如果手动测试人员学习使用算法创建测试用例,则可以创建更多与用户体验有关的测试用例,包括测试人员根本不会想到的用例。

想象一下基于自学模式的测试的未来。

在思考未来如何发展时,我们有必要讨论一下神经网络和科学家们所取得的最新进展。神经网络虽然可训练,但不一定要从经验中学习。你必须把它们放在“学习模式”。然而,人工智能科学家已经提出了“生成式对抗网络或GANs”,其本质上是多个神经网络,它们相互激励,相互学习。现在设想一个世界,有不同的神经网络在测试、并一直学习破坏软件系统和发现安全漏洞。这更接近无监督的学习,将代表软件构建和测试过程的革命。

如果你是一名开发者,不要以为没有你什么事情,你同样会被AI影响。为了看看这将会是什么样子,看一下一些人在循环神经网络(RNNs)上所做的工作:一位专家能够将奥巴马总统的演讲稿提供给RNN,RNNs网络就可以产生听起来像奥巴马所写的文字。但更加可怕的是,他将Linux源代码添加到RNNs中,现在网络就能够生成结构良好的C代码(尽管它不能编译,你可以想象一个带有监督的神经网络运行多个这样的代码,用一种革命性的方式生成可编译代码将是多么的不可思议)。

在数字时代,支持AI的测试将是必不可少的。

随着各种团体组织希望能够持续交付、企业需要更快的软件开发,支持AI的测试将成为QA工作的核心部分。这将是确保数字时代软件质量的唯一途径。然而,我们仍然需要测试人员,因为人类能够理解其他人类需要什么,而机器在开发“常识”的道路上还有很长距离要走。我们仍然需要有创造力、高素质的QA工程师将他们的见解应用到整个产品开发生命周期中。

上一篇:AI自动化测试之AI测试机器人
下一篇:软件测试之即兴测试
相关文章

 发表评论

暂时没有评论,来抢沙发吧~