传统的测试工具,通过让电脑执行一系列步骤,并根据预先定义的预期来检查结果。 那么,人工智能会在软件测试里扮演一个什么角色呢,机器软件测试人员?
也许。
想像一下按揭计算器的测试,不是按照预定义的几个例子,而是随机选择有效数据。 也就是说,选择随机利率从0%到5%,随机贷款金额,贷款期限等。 然后,编写另一个称为oracle的算法,计算结果。 运行软件,看看oracle和软件本身是否匹配。 这种测试工具的方法是非常明确的,这是模型驱动测试的一个简单例子,它可以扩展到诸如随机遍历应用程序之类的事情,为每个输入提供随机数据,并预测结果应该如何。 通宵运行这些测试,或许可以找到一些有趣的错误。
这样运用人工智能是很诱人的,但实际上计算机没有真正的学习,应用程序正在遵循预定义的规则。 像人工智能和机器学习这样的术语意味着计算机发现规则,或创建自己的规则。通过机器学习,该软件可以查看一千个甚至一百万个例子,并创建自己的算法。这是不是很像机器软件测试人员?
举一个简单的例子:当你在Google上搜索“软件测试”时,你没有办法知道算法是否正确。 例如,你不知道顶部的页面是不是最相关的或具有最大权威性的,你也不知道Google是如何基于你的位置,搜索记录和过去的点击改善你的搜索结果的。 然而,如果结果都是一些关于大学备考的内容时,基于你的生活经历,你会知道结果是错误的。
通过为计算机提供大量数据集,以及对每条数据的一些判断规则,人工智能能帮助计算机尝试找出其中的关联。 例如,保罗·格雷厄姆曾经提出过一个用于电子邮件的贝叶斯过滤器,人们首先将数千个电子邮件识别为垃圾邮件和非垃圾邮件,并将该信息提供给计算机。归纳算法会尝试找出垃圾邮件的共同点,并预测收到的邮件是否为垃圾邮件。 Gmail正是利用这种方法来识别垃圾邮件的,同时还提供了一个“报告垃圾邮件”的按钮,为过滤器提供了更多的信息。
现在,思考一下人工智能在软件测试中的潜力:你可以训练你的应用程序来发现问题。
网络爬虫和链接检查工具可以遍历整个网站,寻找404错误。基于模型的软件可以识别崩溃,比如包含一些错误文本的页面。用不同的方法来训练你的软件,找到那些看起来不正确的东西。结合机器学习,我们可以拥有常用的有效输入集,用模型驱动的技术来随机遍历一个应用程序,让机器具有感性的专业知识。这似乎听起来还只是一个梦想,还不存在这样的软件。
不过,我们不必等待这种理想的机器学习,而是进一步发展软件测试中的人工智能思想。 视觉测试是一个记录测试的过程,然后在新构建中重新运行该测试,测试人员可以使用工具快速地验证差异,将每个更改标记为错误(需要返回到之前的状态),或作为新功能(成为新的标准)。大多数视觉测试工具允许用户训练软件来忽略那些变化的字段,比如自动生成的日期,而只专注在不应该改变的内容上。
所有编程本质上都是创造变革,这些可视化工具提供变更检测。 这可能看起来是多余的,告诉计算机,“是的,这种改变是我们预期的”,但它也提供了一种非常快速的方式来检查任何视觉变化,而不仅仅像传统测试工具那样去检查预期结果。
未来,人工智能会取代软件测试人员么?当收音机出现时,人们认为报纸应该消失,然而一百年后,报纸依然运作良好。即使使用机器软件测试人员,仍然需要一个人来运行它们。 自动发现问题的机器学习将会发现常见的通用问题,但不具备专业和定制化的知识能力。 当然,软件测试中的人工智能还不存在。今天测试中大多数成功的机器学习项目,更像分析生产日志中的一系列错误,以确定是哪些行为产生了这些错误。
翻译原文链接:
http://searchsoftwarequality.techtarget.com/tip/Is-artificial-intelligence-in-software-testing-coming-to-you
相关推荐
软件测试领域的从业人员需要持续学习和掌握人工智能的相关技术,以更好地适应和推动软件测试行业的智能化进程。未来的软件测试将会是一个更加自动化和智能化的过程,它将更加依赖于机器学习等人工智能技术来提高效率...
### 中国软件测试行业2013年度发展白皮书-V1.0D 知识点解析 #### 1. 当前测试行业的现状 - **背景概述**:2013年被视为软件质量和测试行业的转折点,这一年发生了多起重大软件质量事故,如“光大银行乌龙指”、...
尤其是在计算机网络软件测试与开发方面,人工智能的应用正在成为推动行业创新发展的一个关键因素。该技术可以模仿人的思维模式,通过数据处理替代人类完成相关工作,从而提高工作的质量和效率。 在探讨人工智能技术...
在IT行业中,软件测试是确保软件质量的关键环节。对于初学者而言,理解并掌握软件测试基础知识至关重要。"零基础学习软件测试 软件测试基础知识"这个资源包,旨在为那些对软件测试感兴趣但尚未接触过该领域的人提供...
近年来,人工智能(AI)和机器学习(ML)的应用也为软件测试带来了革命性变革。AI可以帮助设计更智能的测试用例,自动发现潜在的缺陷,提高测试效率。此外,AI还能用于预测软件行为,帮助优化测试策略。 总结来说,...
近年来,随着移动互联网、云计算、大数据等新兴技术的发展,中国的软件测试行业也经历了快速的发展和变革。越来越多的企业开始重视软件测试,并投入更多的资源来提升测试效率和质量。 ### 三、成为软件测试先行者的...
报告概述了2024年人工智能(AI)在软件行业中的应用及影响。随着AI技术的不断成熟,它已经成为软件行业创新与发展的关键驱动力。本报告详细介绍了AI在软件开发过程中的各项应用,包括自动化代码生成、自动化测试、...
### 软件测试行业研究知识点 #### 一、行业分析师的角色与价值 - **核心工作**:行业分析师的核心工作是“用已知推断未知”。这意味着分析师需要收集已有的数据和信息,通过分析和推理来预测未来的趋势或解决当前...
云计算的引入对计算机软件测试领域也产生了重大影响,本文将对基于云计算的计算机软件测试技术进行详细探讨。 首先,云计算环境为软件测试带来了诸多优势。在传统软件测试中,测试资源通常由本地服务器或者测试实验...
为了更准确地把握国内软件测试行业的现状和发展趋势,51Testing作为国内领先的软件测试门户,在2008年启动了“2008年中国首届企业软件测试现状调查活动”。此次调查旨在收集第一手的数据和资料,以帮助企业更好地...
在IT行业的软件开发过程中,软件测试是确保产品质量和用户满意度的关键环节。而“软件测试bug统计分析图表”作为软件测试中的...在未来,随着AI技术的发展,自动化bug分析将成为可能,进一步提高软件测试的智能化水平。
在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、稳定性和用户体验。这份名为“软件测试资料以及微软软件测试人员培训PPT”的压缩包文件显然为学习和理解软件测试提供了丰富的资源,特别是对于那些...
AI+网络安全是指将人工智能技术应用于网络安全检测、入侵检测和恶意软件防御等领域。通过AI技术,网络安全系统可以实时监控和分析网络流量,检测和防御恶意攻击,保护网络安全。 四、AI+数字政务 AI+数字政务是指...
【标题】:软件测试行业新年计划书 【描述】:本文件是一份关于软件测试行业的新年计划书,可能用于年终总结或年度讲座演示。 【标签】:互联网 【正文】: 在新的一年里,软件测试行业将面临诸多挑战与机遇。...