为什么人工智能不会让软件测试消失?

此刻在质量保障(QA)中最令人激动的事情是机器学习和人工智能给测试技术带来的潜在的影响。我们迫切地想要知道,软件如何能够做到自我测试?软件能够自动地跟踪和消除Bug吗?

这并不仅仅是幻想。2016-2017世界质量报告上有这样的阐述“我们认为人工智能将是克服日益增长的质量保证和测试挑战的重要的解决方案。基于人工智能的测试方法将是继基于风险的测试策略和自动化测试技术之后的另一个测试技术的变革浪潮”。

Forrester的研究认为,测试是目前“应用AI进行软件交付的生命周期中最受欢迎的阶段”。在我们在Belatrix进行的一项调查中,81%的商业和技术专业人员(需要注册)说机器学习在五年内将会对其组织造成一些甚至重大影响。

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

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

手动测试仍然可以发挥核心作用:测试开始于并将继续依赖于手动测试。在软件开发过程中总会有bug出现。即使今天我们有那么多的工具可以使用,手动测试仍然是测试策略中的一部分,尤其是为了确保高质量的用户体验。

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

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

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

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

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

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

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

我相信机器学习实际上会增加我们对高素质QA专家的需求。这是因为算法的底层软件将根据收到的数据做出决定。潜在的变量在增加,QA工程师如何知道什么是正确的结果?

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

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

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

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

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

更多关于软件测试方面的文章,请前往51Testing软件测试网。(http://www.51testing.com)

原文地址:https://www.cnblogs.com/testor/p/8350745.html

时间: 2024-11-06 03:46:18

为什么人工智能不会让软件测试消失?的相关文章

他们要消失了吗?探访人工智能浪潮下的鉴黄师

鉴黄师是怎样的一个群体? 在搜索引擎里键入"鉴黄师",会有数百万的相关结果.在知乎里,输入同样的关键字,也有各种各样的问题和回答. "如果不考虑薪水.尊严.面子,你最想从事什么工作?"有人就回答了三个字:"鉴黄师",答案获得了上千点赞,数百评论.尽管有一些人向往鉴黄师,但鉴黄师这个岗位,在大多数人的眼里却是一个世界黑暗.心理伤害重的岗位.外媒报道,内容审查(鉴黄师的另外个名称)是科技产业增长最快,但或许是最累人的工作之一--工作压力大巨大,且普遍

人工智能将如何改变软件开发过程

人为驱动的软件开发时代意味着编写基于规则的代码,使用逻辑解决确定性问题.机器学习的时代就在这里,用于软件开发的人工智能将永远改变编程.它不再是关于定义if-then-else循环,而是更多地选择正确的数据来训练神经网络,这将解决给定的问题而无需人为干预. 这是解决问题的方式,使用的工具,思维模式甚至是程序员所做的定义的革命.我们将研究人工智能可以增强软件开发的一些方法,一些陷阱以及最终为什么这种方法很有价值. 人工智能如何促进软件开发?即使围绕人工智能进行软件开发有明显的炒作,该技术仍处于起步阶

影响软件测试未来的5件事 (译)

摘要: 从我们看软件.评估风险.思考复杂性.设计我们的测试方法和策略,以及帮助发布一个稳定的产品给用户的方式,技术在我们如何测试软件上产生了影响.而且那种影响将只会随着技术进步而持续.在一个高水平上,有5件我们已经看到正在使软件测试的将来成形的重要事情. 在过去的二十多年里,软件测试不仅以执行不同活动的工具,而且以人们使用这些工具的思维演进.那时习惯了少量的工具用于软件测试,但是现在我们有过多的工具可以选择,从专利到开源.同样地,人们开始把测试者当作信息破坏者而不是守门员,并且在敏捷的世界里有很

【原创】连“霍金”都想学习的“人工智能”---【自己动手写神经网络】小白入门连载开始了(1)

欢迎关注[自己动手写神经网络]的博客连载!!! 第1章 神经网络简介 神经网络这个词,相信大家都不陌生.就在你打开本书,并试图了解神经网络时,你已经在使用一个世界上最复杂的神经网络——你的大脑,一个由大约1000亿个神经元(每个单元拥有约1万个连接)构成的复杂系统.但人的大脑太过复杂,以至于科学家们到目前为止仍然无法准确解释大脑的工作原理和方式.但有幸的是,生物神经网络的最最基本的元素已经能够被识别,而这就构成了本书想为你介绍的人工神经网络(Artificial Neural Network).

软件测试修炼之道(转载)

软件测试修炼之道 前言 软件测试发展到今天,已经逐渐形成一门学科,但是还不够系统. 初学者面对铺天盖地的资料应该如何选取?应该从哪里入手?如何迅速的掌握各种业务各项测试技能以便开展工作?在保证测试质量的前提下,一日内编写或执行1000个测试用例是不是梦想? 入行多年者面对复杂的业务逻辑,海量的测试需求,如何在最短的时间内进行测试?如何尽可能更早的开展测试?如何对系统架构进行测试?如何全面提高测试质量与测试效率?如何百尺竿头更进一步? 本文将针对这些问题进行初步解答,主要阐述解决这些问题应该具备哪

我对软件测试行业的个人理解 4

我觉得我上一篇写得太简略了,估计很多人看了觉得不过如此,我决定在这篇里深化一下. 本文中,我定义技术路线长度或技术基础的标准为:普通人完全掌握一种技术所需要的时间,我把他的单位名称定义为Y,M,D (年,月,日) 比如3Y表示某技术需要普通人花3年时间来掌握,1M表示某技术需要普通人花1个月时间掌握. 本文有以下前提条件,基于我的个人理解: 前提一 计算机专业应届生的技术路线基础理论上为4Y,因为大学要读4年 培训班毕业非计算机专业的学生,以培训一年为例,技术基础为1Y 黑盒手工测试的技术路线为

人工智能代替司机

随着智能科技的发展,人类越来越趋向于没有人工的时代.今天的Uber司机能否会被人工智能汽车取代就是一个最好的论题. 其实UberCEO早就关注过此事,UberCEO特拉维斯卡兰尼克(TravisKalanick)在今年5月的Code科技大会上表示,他很欣赏无人驾驶汽车的理念,而且很愿意将人类驾驶员替换成无人驾驶汽车.卡兰尼克说"Uber的价格之所以那么贵,是因为你还要为司机付费.如果没有司机,费用就将降低."在卡兰尼克发表这番评论前,Uber刚刚对外宣称,该公司的UberX司机年收入可

我对软件测试行业的个人理解 3

有人发消息问我: 我该做什么,走什么路线? 我想做XXX该怎么办? 我学了XXXXX但是只懂皮毛怎么办? 我想去XXX公司,要怎么做? 有什么书推荐? 我感觉学不到东西,怎么办? 我感觉测试很无聊,怎么办? ------------------------------------- 想去XXX公司,是需要敲门砖的. 这里有一个矛盾,大家都想去大公司.好公司,但是大公司好公司凭什么让你去. 我觉得,这时通常需要一个敲门砖的,比如, 高学历或名牌大学毕业 大公司可能校招的时候就只去几个学校招人,那么

互联网没能降低房价,人工智能就可以不?

如果这次人工智能浪潮真的落了地,那一定会影响就业,这点很多人探讨过,这里不再展开.反倒是想探讨一个开脑洞的问题,人工智能这类科技的发展可以降房价么? 抛开各种细节,房价增长的基本原因是人口向少数地区集中,而少数地区房子供给有限.所以人口净流出的地区比如辽宁,房价是十分不坚挺的,甚至下跌趋势已经比较明显. 这样一来核心问题就是:科技的发展到底是有助于催生越来越中心化的大城市,还是说让城市可以去中心化?答案如果是前者,那科技就是助推中心区域房价上涨的力量,如果是后者那科技的发展就是站在高房价的对立面