首页 > 新闻中心 > 智能机器人网 > 人工智能

王永庆 人工智能原理与方法 人工智能替代软件测试大概还有几年?

    发布时间: 浏览量:
  • 0
内容由水哥提供,电器吧机器人网提供王永庆 人工智能原理与方法相关内容,小编雾尽眉目清为您整理并发布于人工智能栏目下,原标题:人工智能替代软件测试大概还有几年?,处理后为王永庆 人工智能原理与方法 人工智能替代软件测试大概还有几年?内容图片均为互联网搜集。阅读:7856次。

王永庆 人工智能原理与方法 人工智能替代软件测试大概还有几年?

客观讲人工智能替代软件测试还很遥远,远不止三五年。但通过人工智能完成软件测试领域内的部分测试活动已经实现了。


首先,软件测试是一个广义上的概念,其包含功能测试、性能测试、安全性测试、可靠性测试、可用性测试等等,测试覆盖软件整个生命周期。随着类敏捷、devops模式的逐渐普及、应用,推进着测试左移与右移的持续发展,使得软件测试领域变得更加丰富,因此人工智能替代软件测试,目前来看还是很遥远的。


其实类似的问题,放到若干年前好像也遇到过,比如自动化测试出现的时候,也会有部分测试人员产生自动化测试是否可以全部替代手工测试的疑问,后来经过实践我们也发现答案是否定的。


但随着人工智能的发展,的确对测试领域产生了积极的影响,比如我们正在尝试利用人工智能实现页面自动化测试,取代原先基于元素定位等方式页面自动化,使得开发、维护成本将至极低。


我们作为测试人员,持续的感知测试相关行业的技术发展,拥抱变化,不断促进测试技术的创新与应用,保障产品质量的同时,使得测试更智能化、高效化。

王永庆 人工智能原理与方法 人工智能替代软件测试大概还有几年?

王永庆 人工智能原理与方法介绍

人工智能替代软件测试的可能性,这个问题要区别对待。

软件测试是一个大的范畴,作为软件工程以及信息系统项目管理中质量管理下的一个小部分,或是说,作为软件开发周期的一个环节,软件测试工作有其相对的完整性、复杂性、特殊性和流程性。

如果说,AI能不能代替软件测试中的某一方法、某一个例,或者某个小部分,那么完全可以认为,现有的人工智能技术已经达到了这样的水平,而且也有不少的开发团队、研发组织已在软件测试工作中运用了AI。

如果说,AI能不能代替软件测试的全过程(在整个项目周期中),答案是目前做不到的,而且今后十年内都难以企及。

人工智能是继移动互联之后与云计算、边缘计算、虚拟/增强现实并列的下一个技术革新风口。前些年的概念热炒把人工智能的历史进程人为拔高了过多,以至于现实中冒出许多不切实际的观点,这些观点肯定人工智能对人类劳作的强替代性,认为许多工作与技能岗位将被AI所占有。这种观点盲目地排斥了现代职业体系中人的作用,缺乏系统性的辩证思维。

事实上,从人工智能的历史发展进程来看,其本身的演进方向一直是强化对人智的辅助作用,而非完全取代人智,这在学术界早已是共识。

近些年来,人工神经网络领域的深度学习发展迅猛,加之业界巨头、机构、市场的助推,AI训练市场飞速崛起。也就是说,目前人工智能最前沿以及落地前线的几乎所有成果,多与此有关。在软件测试中运用的AI也不例外。

软件测试是促进软件开发正确、完整、安全和质量的过程,已保证结果的可靠性、稳定性、轻便性、易于维护、以及实用性。按照进程测试有Alpha测试、Beta测试、缺陷测试等;按照方法则可分为黑盒测试、白盒测试、压力测试与性能测试等;按照阶段可分为单元测试、集成测试、系统测试和回归测试。

当前的人工智能能够企及的地方,包括黑盒测试、单元测试、回归测试等等,但其结果只能作为测试员判断的依据或是参考,起到一个辅助的作用。也就是说,AI还做不到“无人化”的参与效果。虽然并行计算与分布式计算给我们带来了可靠的算力支撑,但目前的瓶颈是缺乏有效的建模。

为什么说十年之内AI都难以企及软件测试领域的全部?这与人工智能发展的大方向有关。人工神经网络、深度学习这条进程线之前的阶段是什么,专家系统。这是一脉相承的,AI技术进程的方向正朝着人智的高辅助发展,而不是强替代,十年之内很难预见偏离人工神经网络的方向。

王永庆 人工智能原理与方法 人工智能替代软件测试大概还有几年?

先上结论:

软件测试智能化是未来的发展趋势,但是完全替代人工还有很长的路,还需要人工智能的进一步突破,预计至少十年以上。

我研究生从事人工智能算法研究,其中一个导师就是做的智能软件测试相关的工作。首先我从两个方面来回答一下,一是当下的人工智能和你们目前在媒体中看见的不一样,二是人工智能目前在软件测试方面的探索。


一、当下人工智能是什么

人工智能分为强人工智能和弱人工智能,目前的人工智能还停留在弱人工智能阶段。所以能替代的只能是比较机械的活,比如简单的电话销售,简单的语音翻译。

所以对于软件测试上的一些比较复杂的测试是很难能通过简单的人工智能达到的。


二、人工智能在软件测试方面的探索

目前人工智能在软件方面的测试主要有两个维度,一个维度是通过模式识别来做一些bug的定位,比如通过app截图来查看这个app的某些界面是否有bug,相当于是替代了一部分众包工作。另一个维度是在数据生成方面,软件测试里面很重要的一块是fuzz测试和分支覆盖,那么如何提高fuzz的效率,可以结合强化学习来实现,前段时间微软有一个工作则是将强化学习和fuzz测试做了结合。总之,对于软件测试的智能化,目前在学术界已经有了很多比较好的工作,但是距离真正的落地到工业界还有一定距离,要想完全替代人工进行软件测试还有比较长的路。


三、未来的挑战

除了软件测试的智能化以外,还有一个比较有趣的方向就是智能软件的测试,即像深度神经网络、自动驾驶这一类的智能软件该如何进行有效的测试,和传统软件由逻辑和事情驱动所不同,当下的智能软件更多的是数据驱动。比如我有一个师兄他们在做百度的无人驾驶系统阿波罗的测试,发现现在的fuzz只能覆盖很小很小一部分的代码,所以这个方向未来的路也很长


四、总结

题主问的问题是一个非常大的概念,总结一下的话就是未来软件测试智能化一定是趋势,但是路还很长,预计至少要十年才能真正全面的铺开。


文章关键词人工智能,几年,原理,测试,方法

结语:感谢水哥的辛苦撰写及电器吧小编雾尽眉目清的整理。有关王永庆 人工智能原理与方法的介绍如果您还有不理解的,欢迎留言。

声明:
分享知识,勿忘初创!
电器吧内容大部分均为自己原创,欢迎转载,请注明出处,页面永久链接http://www.dianqi8.cn/pro/AI/2255.html

猜您想看