热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >【AI赋能万物】一文综述:大模型在软件测试领域的探索

【AI赋能万物】一文综述:大模型在软件测试领域的探索

来源:互联网 更新时间:2026-08-18 13:55

要说软件测试这行当最近的变量,大模型绝对算是头一个。这玩意儿不用多介绍,它那理解和生成能力,简直就是给自动化测试装上了“涡轮增压”。

过去,测试团队面临的困境很现实:系统越来越复杂,传统方法要么覆盖不全,要么自动化的门槛高得吓人。但现在,大模型(LLMs)的出现,正在把“测试用例生成”、“缺陷分析”这些活儿,变得前所未有的高效甚至有想象力。

接下来就看看这篇综述论文里都梳理出了哪些干货。

1. 论文的核心内容与方法

1.1 怎么“淘”到这102篇论文的?

这篇综述总共分析了102项相关研究。别小看这个数字,为了确保代表性,他们的筛选流程相当系统化:

自动搜索

:这是第一轮,在ACM、IEEE Xplore、arXiv和DBLP这四大库中,用标题关键词(软件测试任务 + LLM相关)进行地毯式搜索。

手动搜索

:为防自动搜索有遗漏,他们又在软件工程和AI领域的顶会(根据Google Scholar h5指数筛选)里手动翻了一遍,排除了三个计算机视觉会议。

纳入和排除标准

:光搜到不够,还得定规矩。明确什么样的研究才收进来,什么情况直接pass掉。

质量评估

:最后一步是打分,得分太低的论文直接剔除,确保剩下的都是“硬货”。

滚雪球搜索

:在走完上面所有流程后,还“顺藤摸瓜”,检查已收录论文的参考文献,尽量做到不遗漏。

经过这几轮筛选,从初筛的14,623篇论文中,最终锁定了这102篇。有意思的是,其中47%发表在软件工程领域,2%在AI领域,5%在程序分析或安全领域,还有46%甚至还没在arXiv上正式发表过——说明这个方向正热,很多工作还在飞奔。

1.2 从软件测试角度来看:大模型具体干了什么?

软件测试的完整流程大家都很熟悉:制定计划、设计、准备用例、执行、出报告、修复、回归。论文总结出,目前大模型主要集中在三个阶段“发力”:

  • 测试用例生成

  • 产出测试报告(Bug分析)

  • Bug修复与回归测试

下面就来拆解一下,大模型在这三个环节里到底怎么工作的。

1.2.1 测试用例生成

单元测试

传统单元测试生成靠搜索、约束或随机,核心目标是“覆盖率”。而大模型介入后,玩法变多了:

  • 预训练和微调:

    直接拿大模型来训,让它专门生成单元测试。
  • 提示工程:

    设计巧妙的提示词,让大模型“理解”需求并输出测试。
  • 文档辅助:

    把API接口描述等外部文档喂给大模型,让它结合上下文生成测试用例。
  • 混合策略:

    先用传统方法生成一轮,再用大模型去补那些覆盖不充分的边边角角。

不过,论文里也诚实地说了一句:目前大模型生成的单元测试用例,性能还比较低,有待进一步研究。

测试断言

测试断言是关于“输出对不对”的信息。大部分研究都集中在单元测试的断言生成上。目前最优的匹配率能达到76%。具体方法包括用源代码或断言数据集微调LLM,或者通过少样本提示(比如自动检索相似代码)来提高匹配率。

系统测试输入

这部分是利用大模型自动创建系统测试、功能测试或模块测试的输入。这里可以拆得更细:

  • 软件类型方面的输入生成:

    不同软件吃的“物料”不一样。移动应用需要文本或操作组合,深度学习库则需要覆盖多样化API的程序。
    • 移动应用:

      大模型主要做三件事:根据GUI生成文本输入、按钮动作,以及生成有效的测试脚本(包括点击顺序、操作路径)。
    • 深度学习库:

      这里头约束更严,既要满足Python语法语义,又要满足API的输入输出形状。传统方法很难模拟出多样化的API序列,而大模型可以。后续研究甚至利用**历史漏洞**来触发程序中的代码,提升漏洞检测性能。
  • 测试技术方面的输入生成:

    主要用于增强传统测试技术,比如通用或特定软件的模糊测试、GUI测试、渗透测试等。
  • 输入输出方面的输入生成:

    除了把代码或软件当输入,最有启发的形式之一——通过**自然语言描述**,让大模型生成相应的测试输入。这直接降低了测试门槛。

1.2.2 Bug分析

大模型在Bug分析里的角色更像一个“情报分析师”:

  • 针对缺陷报告生成相关问题答案,帮助分类。
  • 将缺陷组件分类转化为多分类与生成任务,提升分类性能。
  • 利用零样本设置,直接从缺陷报告里提取关键信息,检测重复报告。
  • 通过学习大量修复提交,生成自然语言解释,解释软件缺陷为何发生。
  • 自动生成缺陷标题,帮开发者省去写标题的烦恼。

1.2.3 调试

这里强调的是“定位问题”。大模型在调试上可以干这几件事:

  • 总体调试:

    覆盖从定位到修复的全过程。
  • Bug定位:

    直奔问题源头。
  • Bug复现:

    告诉你怎么把Bug再搞出来。
  • 错误解释:

    针对每个错误生成独特的自然语言解释。

1.2.4 程序修复

这大概是最直观的应用了。大模型凭借强大的NLP能力来处理和分析源代码,修复错误成了天然应用。方向包括:

  • 修复单行错误(已知错误)。
  • 修复多行错误(已知错误)。
  • 结合静态代码分析器,边检测边修复。
  • 特定Bug修复:比如通过自然语言描述生成补丁、修复性能问题、修复Rust程序等。

2. 总结

简单来说,这篇论文就像一张“大模型 × 软件测试”的全景地图。它并不是在教你怎么做,而是清晰地告诉你在哪些方向上,研究者和工程师们正在探索。从测试用例生成到Bug分析、调试再到修复,每个环节都有大模型的身影,而且很多方向才刚刚开始。

如果读者对某个方向来了兴趣,顺着论文里参考文献的线索去追,就能找到那些具体的实现方法和实验结果。这大概就是一篇优质综述的价值所在——不是给答案,而是给问题,让你知道该往哪儿看。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc