传统测试将被取代?AI测试现状及发展之思

近年来,我一直关注AI相关的测试,并积极参与多个全国性测试社区和社群。在这些社区中,我与不同公司和领域的测试专家交流探讨AI测试相关话题,包括业界顶尖公司的专家和国内知名测试学者。我也参加了多个大会,聆听了许多关于AI测试的主题分享,并尝试了多款AI相关的测试工具,从中获得了许多知识和感悟。

在这些测试社区和社群中,我遇到了许多关于AI测试的问题,例如什么是AI测试,如何进行AI测试,AI测试有哪些工具与方法等。然而,当我在网上搜索AI测试相关的书籍时,却发现大量的AI开发相关书籍,却鲜有专门介绍AI测试的书籍。这说明测试业界仍在混沌中不断摸索前进。

为了分享我所学到的AI测试相关知识和经验,我梳理了自己的学习经历,尝试回答了一些我遇到的关于AI测试的常见问题,并将这些内容整理成文章,与大家一起交流探讨。

AI测试的迷思

在讨论AI测试时,通常存在两种理解:

第一种是利用AI辅助当前的软件测试,例如使用AI系统学习测试分析和测试设计,进而自动生成测试用例并自动化实现这些测试用例。

第二种则是对AI系统进行测试。尽管业界对于AI系统进行测试仍然使用常规测试手段,如功能测试、性能测试和安全测试等,但测试其功能有效性时往往难以获取明确的测试数据和验收条件。这种情况下,只能通过对算法的深入理解和根据经验生成或寻找数据,并大致评估功能测试结果的有效性来进行测试。

而利用AI辅助当前的自动化测试则是一个新兴领域。使用AI(如深度学习)系统来帮助测试工作绝对是近几年最热门的测试趋势之一,其中包括自动生成并执行自动化测试、大规模测试结果分析、自动化探索性测试、缺陷定位等。

美国已经有多家公司推出了商用的AI测试工具(如《5种流行的AI自动化测试工具》)。但这些AI测试工具普遍存在测试用例准确性和大规模测试用例可维护性等问题。

第一个问题:AI辅助测试真的能用吗?

虽然许多公司已经开始研究AI辅助测试,并有许多工具问世,但它们都有一个显著问题:准确性。由于现有的AI学习算法本身的限制,学习并生成的测试用例和验证条件的准确率都不是非常高。我曾参加过几个大会,其中一些中国一线互联网厂商分享的AI辅助测试的准确率仅略高于80%,不到90%。这种准确率在金融等某些对精度要求高的系统中很难得到认可。

其次,当自动化测试用例规模很大时,测试用例的维护工作很难依靠人工完成,只能依靠工具。由于AI测试工具的不准确性,导致维护工作的准确性也不是十分理想。

尽管如此,在质量要求不高的大型系统中,AI辅助测试可以极大地降低测试成本,因此在这些系统中,AI辅助自动化测试已经得到应用。此外,在质量要求高并且资源充足的项目中,AI辅助测试可以作为人工自动化测试的扩展,作为自动化探索性测试的一种工具,可以进一步保证软件质量。

第二个问题:AI辅助测试已经发展到什么程度了?

目前,AI辅助测试仍处于初级阶段。我将AI辅助测试分为三个阶段:

第一阶段是通过深度学习模型自动产生测试用例的输入,然后通过人工验证输出结果的正确性。

第二阶段是通过深度学习模型自动产生测试用例的输入,并通过规则模型自动验证输出结果的正确性。

第三阶段是通过深度学习模型自动产生测试用例的输入和输出,并自动验证输出结果的正确性。

目前业界已经基本实现了第一阶段,有一些公司也已经开始实现第二阶段。然而,只有极少数的大公司已经实现了第三阶段,并且这些公司的准确性还有待提高。因此,AI辅助测试仍有很长的路要走。

第三个问题:哪些软件系统能用AI辅助测试?

理论上,任何软件系统都可以使用AI来辅助自动化测试工作。然而,由于目前AI测试系统的现状,它还不能真正用于所有类型的软件系统。许多实际项目只在某些特定系统的特定接口层上使用AI测试,例如Web Service API等。

在不同行业领域中,AI测试的使用情况也不同。例如,在金融和军工等对质量要求很高的行业中,AI测试目前只能作为当前已有功能自动化测试的扩展部分。而在互联网等质量要求不高的行业中,一些技术能力强的公司已经将AI测试作为主要的自动化测试方式之一。不过,AI辅助自动化测试无疑是自动化测试的未来!

总结

通过上面对于问题的回答,希望能解决大家对于AI测试的困惑,包括了解什么是AI测试,自己的项目是否适合使用AI测试,以及未来是否需要在AI测试上投资等问题。

综上所述,AI测试目前仍处于发展初期,因此不适合大规模使用,只有在特定项目中才可以考虑使用。无论是使用AI还是人工方式实施自动化测试,核心都是测试的有效性和测试结果的准确性,以及测试用例的可维护性。这些是大规模自动化测试成功与否的关键因素。

因此,无论是AI自动测试还是人工自动测试,其核心本质都是一样的:靠知识学习、分析、总结等一系列人的思维来解决测试分析、测试设计和自动化测试实现的工作。但目前AI系统本身的发展还不足以很好地替代人在测试分析和测试设计方面的工作,导致AI实现的自动化测试的准确性以及可维护性比人工方式更差。不过,AI测试在时间和成本方面有明显的优势,这也是其越来越受欢迎的原因。

因此,在测试领域,AI需要更加努力才能真正替代人的工作。在考虑使用AI测试之前,应该仔细评估项目的特定需求和条件,以确定是否适合使用AI测试。未来,随着AI技术的不断发展和完善,AI测试将成为自动化测试的重要趋势,而投资于AI测试的相关技术和人才也将是一个明智的选择。

传统的软件测试方法不会被完全取代,但是人工测试可能会逐渐被自动化测试所取代。随着AI技术的发展,AI测试已经成为了一种新的趋势。

当前AI测试的主要应用包括:

自动化测试:使用机器学习和其他AI技术,可以让测试工程师更容易地编写和运行测试脚本,并快速发现潜在的问题。

缺陷管理:AI可以通过分析大量缺陷数据并识别模式,从而提高缺陷管理的效率和准确性。

智能监控:AI可以对系统进行实时监控,快速检测异常情况并预测可能的故障。

代码质量管理:AI可以通过代码静态分析和其他技术来识别潜在的代码质量问题,从而在代码提交之前就发现并解决这些问题。

未来,随着AI技术的不断发展,我们可以预见到以下几个方面的发展:

视觉测试:AI可以通过图像识别技术来自动对图形用户界面进行测试,从而提高测试效率。

自然语言处理测试:AI可以通过自然语言处理技术来自动对语音和文本输入进行测试,从而提高测试的准确性。

机器学习测试:AI可以通过对数据进行训练来自动对软件进行测试,并生成更准确和全面的测试报告。

总之,AI测试虽然还处于发展初期,但是它已经表现出了巨大的潜力。随着技术的不断进步和应用场景的不断扩大,AI测试将会成为软件测试领域中非常重要的一部分。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/169481.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php性能追踪与分析

PHP扩展下载:https://pecl.php.net/package/xhprof php.ini配置 [xhprof] extensionxhprof xhprof.output_dir/temp/xhprof auto_prepend_file /temp/inject_xhprof.php if(php_sapi_name() cli) {return; }$xhprof_config[enabled]1;if(!empty($xhprof_config…

文生图模型测评之HPS v2

文章目录 1. 简介2. HPD v22.1 相关数据集介绍2.2 HPD v2 的构建2.2.1 prompt collection2.2.2 image collection2.2.3 preference annotation3. Human Preference Score v23.1 构建模型3.2 实验结果4. 结论及局限性论文链接:Human Preference Score v2: A Solid Benchmark fo…

uniapp+vue3+ts+vite+echarts开发图表类小程序,将echarts导入项目使用的详细步骤,耗时一天终于弄好了

想在uniapp和vue3环境中使用echarts是一件相当前卫的事情,官方适配的还不是很好,echarts的使用插件写的是有些不太清晰的,这里我花费了一天的时间,终于将这个使用步骤搞清楚了,并且建了一个仓库,大家可以直…

[西湖论剑 2022]real_ez_node

文章目录 前置知识EJS模板注入(CVE-2022-29078)原型链污染漏洞 (CVE-2021-25928)HTTP响应拆分攻击(CRLF) 解题过程代码审计构造payload 前置知识 EJS模板注入(CVE-2022-29078) EJS…

git命令汇总

1.git是基于ssh的代码管理工具,所以在git使用之前需要配置好ssh ssh配置教程 2.先创建仓库 3. git init在目标的git目录下创建仓库 4.git add .(或者写文件名) 5.git commit -m "标记信息" 持久化 6.git remote add origin gitgit.acwing.com:yaoaolong/11_5.git初次…

openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略

文章目录 openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略119.1 背景信息119.2 数据库程序目录及文件权限119.3 建议 openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略 119.1 背景信息 数据库在安装过程中…

Leetcode100120. 找出强数对的最大异或值 I

Every day a Leetcode 题目来源:100120. 找出强数对的最大异或值 I 解法1:模拟 枚举 2 遍数组 nums 的元素,更新最大异或值。 代码: /** lc appleetcode.cn id100120 langcpp** [100120] 找出强数对的最大异或值 I*/// lc c…

C++八股文

第一章 编译内存相关 1.1 main函数之前和之后执行的代码 main函数之前 设置栈指针 初始化静态变量和全局变量(即.data内容);将未初始化的全局变量赋值:short、int、long初始化为0,bool初始化为false,指针…

数据挖掘:关联规则,异常检测,挖掘的标准流程,评估指标,误差,聚类,决策树

数据挖掘:关联规则 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要…

OpenCV:图像旋转与缩放

人工智能的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心,我为大家整理了一份600多G的学习资源,基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

使用visualStudio发布可执行文件

编译成功后会在程序项目的路径下创建一个debug文件夹和一个release文件夹 文件夹中的具体文件入下所示 生成32位的可执行文件 32位的可执行文件可以在64位的计算机中执行,而64位的操作系统程序只能在64位的计算机中执行安装运行库的安装包根据电脑的版本选择合适的…

基于Springboot菜谱美食饮食健康管理系统设计与实现

博主介绍:✌Csdn特邀作者、博客专家、博客云专家、B站程序阿龙带小白做毕设系列,项目讲解、B站粉丝排行榜前列、专注于Java技术领域和毕业项目实战✌ 有设计项目或者是研究参考的可以加微信:Script-Liu 或者是QQ:1339941174 使用的软件开发环…