微信扫码
添加专属顾问
我要投稿
国内企业如何利用AI大模型提升软件测试效率和质量?本报告深入分析了国内企业应用AI大模型赋能软件测试的现状和实践案例。核心内容:1. AI大模型在软件测试领域的主要应用方向2. 国内企业实践案例:中信银行和邮储银行的应用实践3. 应用AI大模型赋能软件测试面临的挑战
近年来,随着大语言模型(LLM)技术的快速发展,国内企业开始将其应用于软件测试领域,以提高测试效率和质量。本报告将从应用方向、实践案例、实施方法、效果数据以及面临的挑战等方面,对国内企业应用大模型赋能软件测试的现状进行全面分析。
目前,大模型在软件测试领域的应用主要集中在文本生成类的场景,如测试用例生成、测试分析、自动化测试脚本生成等。而在行为生成类场景(如自动执行、结果分析、自动程序修复等)方面的应用仍处于探索阶段。
根据调研发现,国内企业应用大模型赋能软件测试主要有以下几个方向:
利用大模型对需求文档、设计文档、代码等进行理解和分析,自动生成涵盖功能要点、操作步骤和预期结果的测试用例,减少测试人员编写用例的工作量,提高测试覆盖率。
基于大模型的文本理解能力,对业务需求进行解析,自动生成测试要点、测试流程图和思维导图,辅助测试人员理解复杂需求,进行系统的测试设计。
结合大模型的代码生成能力,根据接口定义、页面元素和测试用例描述,自动生成测试自动化脚本,降低自动化测试脚本编写成本。
构建基于大模型的智能问答系统,对测试知识库、测试规范以及测试过程中遇到的问题提供即时回答,减少文档查询时间。
根据业务规则和接口要求,自动生成符合业务逻辑的测试数据,提高测试数据的准确性和全面性。
利用大模型分析历史缺陷数据和代码特征,预测潜在的缺陷风险点,提前进行防范。
面对银行业务流程的复杂性和测试人员个人能力的有限性,中信银行基于大模型技术和高质量数据资产,打造了测试大模型"第二大脑"。
中信银行利用先进的大模型技术,依托高质量、专业化的数据资产进行模型训练,将大模型集成到软件测试生命周期的各个环节,发挥辅助作用,从而提升测试覆盖率、质量及效率。
中信银行的实践表明,大模型在短期内可以辅助测试,中期可担任主笔测试,长期来看,有望转变成主导测试的角色,显著提升了测试人员的工作效率和测试质量。
数据质量问题:大模型需要大量高质量且具有专业性的训练数据,而软件测试相关数据复杂且专业化,使得数据采集和处理成为难点。
可解释性不足:在测试应用中,必须确保输出结果的可信度,因此需要进一步提升大模型的解释能力。
鲁棒性和稳定性:大模型在面对各种异常情况和复杂测试场景时,需要具备更强的鲁棒性。
在大模型技术日益成熟的背景下,邮储银行积极探索智能化测试,构建了"研发测试大模型",打造端到端智能研发方案"智能研发测试助手"。
邮储银行采用了以下具体方法:
构建和部署私有化大语言测试模型,通过大量测试数据和标准规范文件的训练,利用Prompt工程和Fine-tuning优化模型。
实现本地化模型部署,借助LangChain框架将大语言模型与银行自身的测试知识库和计算逻辑结合。
进行Web端的二次开发,通过定制化的Prompt模板优化用户交互,提升模型输出质量和回答的准确性。
在实际测试场景中,模型实现对测试用例、思维导图、自动化测试脚本以及单元测试代码的智能生成和优化。
测试用例生成:大模型能在10余秒内完成数千字的需求分析,生成详细的测试用例,涵盖功能要点、操作步骤和预期结果,大幅缩短了测试用例编写时间。
需求思维导图及流程图:有效帮助测试人员解读需求,并转化为直观的流程图或思维导图,提升了需求分析效率。
自动化测试脚本生成:依据接口和业务场景,通过大模型自动生成测试脚本,提高了接口测试和集成测试的效率与覆盖率。
单元测试的智能化支持:直接对源码进行分析,扩展了单元测试分析的范围和覆盖率。
深化模型可解释性研究,聚焦大模型推理过程和生成结果,提升可信度。
持续优化模型训练,利用高质量、更多样化的测试数据不断提升模型性能。
拓展适用场景,构建大规模、多样化的测试数据集,更好地适应具体测试需求。
完善测试解决方案,通过与软件测试平台的对接,构建更加完整、连续的测试支持体系。
技术融合探索,结合增强现实、虚拟现实等交互技术,提供更直观的测试分析环境。
百度开发了智能测试助理TestMate,服务于百度内部的智能测试工作,旨在提升测试效率和质量。
TestMate的设计和实现包括以下几个关键点:
基于大模型的基础能力,如意图识别、记忆管理和多轮交互。
内置通用的测试领域知识和原子测试能力,确保覆盖测试环节的通用需求。
提供能力中心,允许用户自定义Prompt、自动化用例模板和业务私域知识,并能够自定义上下游能力组合以串联不同功能,从而为企业构建一个符合自身业务需求的专属智能测试助理。
TestMate为百度内部测试工作提供了高度智能化的服务,帮助提升内部测试效率和准确性。通过丰富的可视化交互组件,与需求管理平台、用例管理平台和接口管理平台实现了有效联动。
华为选择大模型辅助测试自动化代码生成作为大模型在智能测试领域应用的突破点,旨在提高测试自动化水平。
华为的LLM辅助测试代码生成方法主要构成如下:
构建统一的系统测试代码生成解决方案,首先分析企业级、特定领域的业务上下文。
建立分层大模型训练体系,包含:
a. L1阶段:利用海量测试原始代码(raw-code)进行增量预训练。
b. L2阶段:采用有监督调优(SFT),结合标准化提示工程和数据清洗(依据56项数据质量检查规范),提升生成精度。
引入检索增强生成(RAG)策略,通过构造含全局信息、用例级信息、步骤信息的Prompt,并检索历史的AW代码和文本脚本对,以保证生成内容与已有测试知识的一致性。
集成TestMate IDE插件,实现在线推理和流式代码生成,同时支持后处理(如缩进修复、去重、异常内容修复)。
部署和实践结果表明,华为的LLM辅助测试代码生成方案在多个产品线中均取得了较好的应用效果:
无线产品线生产环境试点中,生成的测试代码主观接纳度达到约70%,其中大约31%的代码可以直接使用,41%需要少量修改,28%被判定为不可用。
数存产品线显示,新生成的约200个用例和1800多个测试步骤的采纳率在60%+,整体脚本书写效率显著提升(接近提效1倍)。
云核产品线的应用结果显示采纳率在65%左右。
截止2024年6月底,大模型辅助测试自动化代码生成的应用人数达到3000人左右,覆盖60多个产品,生成代码量超过40万行。
华为在LLM辅助测试代码生成过程中面临的主要挑战包括:
数据质量与语料问题:训练语料存在不完整和多样性不足的问题,尤其是在提示工程中测试用例TC信息的不完备以及AW代码样本数量较少,导致生成效果受限。
Prompt设计及上下文完备性:生成高质量代码依赖于Prompt的设计,当前需要进一步完善全局信息、用例级和步骤级的提示提取。
模型基础及训练策略:不同基模型(如自研Pangu、Starcoder、GLM2等)之间的效果存在差异,统一的训练和微调策略(SFT与RAG结合)仍需优化。
产品线差异及数据混训风险:不同产品线之间测试代码和方法库存在差异,将它们混合训练可能会相互干扰,影响模型生成一致性。
字节跳动灵活运用软件工程分析方法结合大模型,提供面向QA场景的全链路提效能力,建设了全链路智能测试体系。
字节跳动的全链路智能测试体系构建包括以下重要步骤:
结合软件工程分析方法与大模型技术,针对QA场景提供全链路效率提升能力。
建设多个原子能力模块,包括智能单元测试、智能分级、测试用例生成和质量评估。
提供服务化功能,如可视化配置和度量看板,从而构成一个全链路智能化的研发质量保障体系。
字节跳动的智能化单元测试生成主要是依靠大模型(LLM)与工程化的深度程序分析相结合实现的。具体流程包括:
数据收集:利用真实业务流量采集以及接口自动化等方法获取实际运行时的出入参和依赖数据。
数据蒸馏:对收集来的数据进行拆解、抽象化处理和脱敏处理,保证数据真实性并为模型生成提供高质量语料。
模型生成:采用定制的提示词和思维链方案,利用大模型结合前期的工程数据分析生成单元测试。
自动修正:针对生成过程中遇到的语法错误、断言失败,通过语法和运行修正技术确保生成的测试用例可编译、可运行。
集成流程:将生成的用例与现有测试框架无缝集成,提升整体测试覆盖率和研发效率。
测试覆盖率显著提升:仓库级覆盖率平均达到40%,部分仓库经过重训后提升到60%。
单元测试的质量提高:单个方法的断言通过率达到83.09%,整体测试用例的编译和运行成功率得到了改善。
生成量成果:已经生成了2,627个测试用例,并且业务团队对测试数据的真实性和有效性给予了认可。
研发效率和迭代周期的优化:通过自动生成单元测试减少了编写测试的人工成本,使得开发人员能更专注于业务逻辑,缩短了上线和迭代时间。
得物通过利用人工智能、大模型和检索增强生成(RAG)技术构建了一个完整的测试用例生成工具,系统分为三个主要阶段:用户输入、测试点分析整合和用例生成。
用户输入阶段:选择需求模块,复制需求PRD中的功能点输入到系统。
测试点分析整合阶段:AI自动提取测试点,允许用户通过命令或手工调整完善测试点列表。
用例生成阶段:系统自动生成对应的测试用例,支持对生成结果进行调整,最后同步到用例管理平台。
支持多轮对话和预处理:通过分点输入、专家经验干预、需求预处理等方式提升生成效果。
得物使用大模型生成测试用例取得了明显的正面效果:
效率显著提升:基于AI生成测试用例平均可节约约40%的用例编写时间。
生成准确率高:在简单需求场景中,通过AI辅助生成的测试案例采纳率达到90%以上。
接入RAG技术后,生成的测试点更全面,用例采纳率显著提升(如一个需求从72%提升至85%,另一个需求从52%提升至94%)。
整体而言,生成的测试用例覆盖了核心功能点和主要场景。
其他企业如腾讯(Case Copilot)、优酷(测试用例生成)、科大讯飞(AiTest)等也都在各自领域积极探索大模型在软件测试领域的应用,取得了不同程度的成功。
根据收集的数据,大模型在软件测试中的应用能显著提高测试效率:
大模型生成的测试用例质量和采纳率呈现出较高水平:
挑战:获取高质量、专业性强的训练数据是大模型在软件测试领域应用的主要难点之一。
解决方案:
挑战:生成时长过长、生成结果准确率不高、重复用例较多。
解决方案:
挑战:对复杂需求和场景的适应性不足,采纳率和覆盖率较低。
解决方案:
挑战:大模型与现有测试流程、工具和平台的集成。
解决方案:
大模型在软件测试领域的应用已取得明显成效,主要表现在测试效率提升、测试质量提高和测试覆盖率增强等方面。然而,当前应用仍以文本生成类场景为主,存在数据质量、模型推理和复杂场景适应性等挑战。
制定分阶段的应用策略:从测试用例生成等相对成熟的场景切入,逐步扩展到更复杂场景。
注重数据积累和治理:构建高质量的测试数据库,为大模型应用提供基础。
采用混合技术路线:结合RAG、Prompt工程、模型微调等技术,提高生成质量。
重视与现有系统集成:确保大模型与现有测试平台、工具的无缝对接。
关注测试人员能力提升:培训测试人员掌握大模型应用技能,适应角色转变。
持续评估和优化:建立有效的评估体系,量化大模型应用效果,持续优化。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-20
MCP vs Function Calling,该如何选?
2025-04-20
8卡H20运行DeepSeek-V3-0324性能和推理实测
2025-04-19
低延迟小智AI服务端搭建-ASR篇(续):CPU可跑
2025-04-19
LoRA 与QLoRA区别
2025-04-18
DeepSeek-V3-0324 本地部署,vLLM和SGLang的方法
2025-04-18
Ollama对决vLLM:DEEPSEEK部署神器选谁?90%人选错!这份实测攻略让你秒懂!
2025-04-18
ollama v0.6.6 震撼发布!推理能力翻倍、下载提速 50%,对比 vLLM/LMDeploy 谁更强
2025-04-17
从零开始开发 MCP Server
2025-02-04
2025-02-04
2024-09-18
2024-07-11
2024-07-09
2024-07-11
2024-07-26
2025-02-05
2025-01-27
2025-02-01
2025-04-20
2025-04-01
2025-03-31
2025-03-20
2025-03-16
2025-03-16
2025-03-13
2025-03-13