您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [2024AI研发数字峰会AiDD北京站]:刘鑫-AI辅助测试开发领域端到端流程提效实践 - 发现报告

刘鑫-AI辅助测试开发领域端到端流程提效实践

报告封面

AI辅助测试开发端到端研发提效 刘鑫中兴通讯股份有限公司 1.背景2.问题/痛点3.解决思路/整体方案4.具体实现/技术实践5.总结与展望 目录 演讲嘉宾 刘鑫 中兴通讯有线研究院测试域AI应用负责人 硕士毕业于南京大学,2012年入职中兴通讯;资深软件测试专家,中兴通讯有线研究院安全技术教练,拥有CISP-PTE、CISP-IRE等注册信息安全认证 背景PART 01 业务场景背景介绍 从传统单智能网关到FTTR(Fiber To The Room)组网的转变,显著提升了网络覆盖范围、带宽性能、设备扩展性和智能家居支持。这种转变通过一台主网关加多台从网关的方式实现。然而,这种组网和业务需求的变化对系统测试带来了更复杂和更高的挑战。尤其是在面对运营商客户的强定制和短交付周期时,系统测试效率面临着巨大的压力。这是每个测试领域在提升研发效率方面必须应对的关键挑战 问题/痛点PART 02 业务痛点和挑战 挑战 随着FTTR等组⽹业务场景的应⽤,⽤例复杂性和脚本复杂性都成倍增加,给脚本交付效率带来更⼤的挑战 测试⽤例存在重复冗余,⽤例腐化,后端⾃动化脚本开发和执⾏分析存在重复浪费; 解决思路/整体方案PART 03 大模型应用方案对比分析 AI应用落地思路 AI应⽤(触点⼯具) Ø提升研发效率:通过在研发流程中嵌⼊AI⼯具,⾃动化和智能化处理⼤量重复性和复杂性任务,减少⼈为错误,提⾼效率。 Ø知识积累与共享:系统化地积累和共享研发过程中的知识和经验,形成知识库,⽀持团队成员快速获取和利⽤知识。Ø提升创新能⼒:通过系统化的知识管理,促进知识的传播和应⽤,激发创新思维和创新能⼒。Ø持续改进:利⽤知识库中的数据和经验,不断优化和改进研发流程和⽅法,提升整体研发能⼒。 Ø优化决策过程:利⽤AI的分析能⼒,提供数据驱动的决策⽀持,帮助研发团队更快、更准确地做出决策。 Ø提升创新能⼒:AI⼯具可以快速迭代测试新的想法和⽅案,促进创新和改进。 AI应用(触点工具) 触点⼯具思路:围绕⼀站式FM⼀体化AI测试平台建设,将AI能⼒嵌⼊到测试开发⼈员的研发流程中 聚焦测试域⾼价值AI应⽤(测试设计、脚本开发、执⾏分析)持续演进,探索Autowork;并基于测试执⾏业务流拓展AI应⽤场景(测试策略制定、⼿⼯执⾏、遗漏故障分析); 知识工程 知识规范 基于各个业务活动的要求对知识进⾏系统化、标准化的定义和描述,通过制定明确的规范,可以确保知识的⼀致性、可理解性和可操作性 知识应⽤ 基于AI应⽤的⽅案通过RAG的⽅式将知识库中的知识应⽤于实际问题的解决过程 知识获取 基 于 知 识 规 范 通 过 ⼤ 模 型 从 各 种 来 源(icenter、Ztest、Gerrit等⽣产系统)中抽取知识 知识评估 基于AI应⽤的⽅案并结合知识库的建设和应⽤对知识的质量进⾏评价,确保知识库中的知识能够满⾜实际应⽤需求 知识库建设 基于知识建模(⽂档树、QA、知识图谱)将获取的知识系统化存储、组织和管理,⽬前向量化知识库存储在DN Studio平台,⽂档类数据存储在项⽬端 知识工程 测试开发AI应用端到端方案 以需求为源头,基于需求实例化活动的产出为输⼊,通过GWT(Given-When-Then)⽣成测试点进⾏复⽤⽤例检索,降低冗余⽤例的产⽣;同时结合要素因⼦和测试环境推荐⽣成⽂本⽤例;通过⽂本⽤例的意图识别对⽂本⽤例进⾏DSL设计,召回RF(Robotframework)关键字⽣成⾃动化脚本 端到端AI⼯作流(workflow): 具体实现/技术实践PART 04 实践一:AI辅助测试设计活动提效 实践价值:将用例复用嵌入到TSE的研发流程中,避免冗余用例的无序增加,控制测试活动的源头用例的产生,从而避免测试后端活动的投入浪费 实践价值:拉通需求域探索Autowork提升需求实例化活动输出的质量,将AI生成用例嵌入到TSE的业务流程中,通过不断提升需求实例化的输出物质量,从而提升AI生成用例的质量,进而提升文本用例的交付吞吐量 实践技术点一:复用用例推荐 Ø实现⽅案:基于知识⼯程建设标准,通过建⽴测试⽤例知识库(测试点》⽂本⽤例QA对),分别通过关键字检索和语义检索对相似测试点进⾏召回,从⽽获取复⽤⽤例,TSE⼈⼯检查测试步骤后⼀键关联PR Ø⽤例复⽤分析优点: 1.复⽤已有测试⽤例可以减少编写新⽤例的时间和资源投⼊ 2.复⽤的测试⽤例已经过验证,确保测试的⼀致性和可靠性3.复⽤的测试⽤例易于维护和更新,尤其当产品功能相似或存在通⽤特性不⾜: 1.初期设计复⽤性测试⽤例时,需要投⼊较多时间和精⼒进⾏规划和实现 2.需要清晰的⽤例结构以确保测试⽤例能够在不同的环境中复⽤3.⼀些特定场景需要定制化测试⽤例,复⽤测试⽤例可能不完全覆盖 **策略:对于常⻅和基础功能,优先设计复⽤性⾼的测试⽤例,以节省时间和资源;对于特定场景和新功能,编写定制化的测试⽤例,确保测试的全⾯性和准确性。 实践技术点一:复用用例推荐 知识⼯程建设 Ø知识规范原则1:测试点尽可能原⼦化且能够映射1个验证点 原则2:测试点的描述以“在XXX场景&条件下验证XXX的功能”原则3:⽂本⽤例名称标识所属的测试点,格式:XXX功能_XXX测试点 实践技术点一:复用用例推荐 知识⼯程建设 Ø知识获取 举措1:⽂本⽤例名称治理专题 根据⽤例设计规范和测试点设计规范,对存量的⽤例名称进⾏专项治理(⼈⼯),使得⽤例名称的语义显著与测试点接近,语义相似度提升15%以上 实践技术点一:复用用例推荐 知识⼯程建设 Ø知识库建设基于⽤例名称的语料和⼤模型抽取的语料建设向量知识库,共建设18w+测试点》⽂本⽤例QA对 实践技术点一:复用用例推荐 知识⼯程建设 Ø知识评估实现⽅案:当知识库&RAG⽅案更新触发评估,从AI辅助测试设计活动中提取⽣产知识(测试点>新增⽤例,测试点>复⽤⽤例(包含 ReuseableCase,ReuseableCase_Manual))通过RAG进⾏评估,针对召回的⽂本⽤例ID和⽣产数据库中进⾏对⽐,计算召回率⽬标:提升NewCase和ReuseableCase_Manual维持ReuseableCase 实践技术点一:复用用例推荐 知识⼯程建设 Ø知识应⽤实现⽅案:通过DNStudio⾼级应⽤编排实现根据测试点检索复⽤⽤例,分别根据关键字检索和先通过⼤模型对测试点进⾏Transformation 后语义检索,知识合并后返回 实践技术点二:文本用例生成 Ø实现⽅案介绍:基于RAG检索增强技术提供相似测试点的⽂本⽤例作为示例,通过PE⽣成⽂本⽤例 实践技术点二:文本用例生成 ØRAG⽅案介绍 通过RAG检索相似⽤例作为⽂本⽤例⽣成的few-shot来提升⽂本⽤例的⽣成质量,基于测试点优先从本PR中检索最相似的测试点,从⽽获取⽂本⽤例,当本PR中⽆关联的⽤例,则从测试⽤例知识库中检索最相似的测试点并获取⽂本⽤例作为Prompt中的few-shot 在⽣产数据库中保存了PR-测试点-⽂本⽤例的关联关系⽅便获取相关数据: 实践一:AI辅助测试设计活动提效 Ø度量驱动改进:结合2个实践技术点定义了2个关键指标 实践二:AI辅助脚本开发活动提效 ⽅案介绍: 基于Robotframework框架,从Ztest系统中的⾃然语⾔的⽂本⽤例直接⽣成RF脚本:1、通过⼤模型进⾏⽂本⽤例的意图识别2、根据DSL关键字库对⽂本⽤例进⾏DSL设计3、步骤切⽚通过相似度检索推荐RF关键字4、步骤合并后通过⼤模型整体优化**通过步骤并发⽣成后整体优化提⾼脚本⽣成的效率 实践二:AI辅助脚本开发活动提效 实践价值:RobotFramework框架是基于关键字驱动的自动化框架,项目中自定义了大量业务相关的关键字。准确获取用例依赖的关键字,并将其作为私域知识输入大模型是提高脚本生成效率的关键。 实践价值:在脚本开发中,通过提高意图识别、步骤拆解和关键字查找等活动的效率,同时避免了关键字的冗余设计和开发,优化了流程。打通Ztest直接通过文本用例生成RF脚本,为实现端到端的Autowork提供了坚实的技术基础。 实践技术点三:关键字推荐 知识⼯程建设 Ø知识规范说明:⾃动化脚本开发是采⽤了基于关键字驱动的Robotframework框架,关键字的设计有效性基本决定了关键字推荐的召回率 总体原则:基于⽤户视⻆设计关键字需综合考虑可读性,易⽤性,可复⽤性,分为4⼤类环境配置类关键字、业务通道类关键字、配置检测类关键字、 业务验证类关键字 实践技术点三:关键字推荐 知识⼯程建设 Ø知识获取 举措1:直接获取关键字命令作为语料 根据关键字设计规范,关键字在设计的时候已经基于⽤户视⻆进⾏设计,与⽂本⽤例的描述存在⼀定的相似性,可直接作为语料,示例: 实践技术点三:关键字推荐 知识⼯程建设 Ø知识获取举措3:在线获取语料 将知识的获取嵌⼊到⾃动化脚本开发活动中,ATE在对AI⽣成的脚本进⾏修改的时候同步增加语料 实践技术点三:关键字推荐 知识⼯程建设 Ø知识库建设三种语料在同⼀个知识库中进⾏建设,分为不同的⽂件夹⽅便知识更新和管理,RF关键字知识库共2735切⽚(持续增加) 实践技术点三:关键字推荐 知识⼯程建设 Ø知识评估实现⽅案:当知识库&RAG⽅案更新触发评估,从AI辅助脚本开发活动数据库中提取数据,根据脚本名称获取⽤例描述,通过RAG的流程重 新对关键字进⾏召回,同时从脚本中提取涉及的关键字进⾏召回率计算⽬标:提升持续优化知识库&RAG⽅案来提升关键字的召回率,进⽽提升脚本⽣成率 根据脚本名称通过Ztest系统获取关联的⽤例,根据脚本的路径从gerrit仓库获取已部署的脚本 实践技术点三:关键字推荐 知识⼯程建设 Ø知识应⽤ 步骤1:【DSL关键字库召回】根据⽂本⽤例通过⼤模型进⾏意图识别后召回的关键字库组合Prompt,输⼊给⼤模型召回意图映射的DSL关键字库 实践技术点三:关键字推荐 知识⼯程建设 Ø知识应⽤ 步骤2:【DSL⽤例设计】将⾃然语⾔的⽂本⽤例和DSL关键字库组合Prompt输⼊给⼤模型对⾃然语⾔的⽂本⽤例进⾏DSL设计 实践技术点三:关键字推荐 知识⼯程建设 Ø知识应⽤ 步骤3:【关键字推荐】将DSL⽤例的步骤根据逗号等符号进⾏切⽚后进⾏关键字检索,召回TOP3相似度的RF关键字,并获取RF关键字和签名 实践技术点四:脚本生成 Ø实现⽅案介绍: 实践二:AI辅助脚本开发活动提效 Ø度量驱动改进:结合2个实践技术点定义了2个关键指标 总结与展望PART 05 总结推广 实践价值(业务痛点闭环) l⽤例交付:项⽬⼈均迭代内交付需求⽤例数100+,78%的复⽤⽤例通过AI检索⾃动关联l脚本交付:项⽬⾃动化有效性提升:⾃动化覆盖率进⼀步提升到79%(200+脚本通过AI⽣成) 技术领先 l创新性:⽬前业界针对⾃然语⾔到RF脚本⽣成的⽅案较少,本实践充分挖掘⼤模型能⼒,以⼤模型为核⼼的⾃然语⾔⽤例到RF脚本⽣成的⽅案具备创新性l前瞻性:从需求到测试脚本⼀站式⽣成为后续Autowork⽅案穿刺应⽤提供了坚实的技术基础l⽤户体验:将TSE&ATE测试开发活动涉及的RDC、iCenter、Ztest、gerrit等⼯具通过⼀站式⼯作台完成,提升TSE&ATE⼯作体验 l适⽤性:适⽤于所有基于需求到⾃动化脚本交付的测试活动l可扩展性:将AI能⼒与触点⼯具进⾏解耦,可在DNStudio上通过编排扩展AI能⼒l可推⼴性:⽬前该实践已从跨项⽬推⼴并规模应⽤ 展望未来 n通过自生成(Genarator),自校验(Validtor),自修复(Corrector)提升知识迭代反馈速度,实现流程自动化,支撑研发流程合并,降低人工参与度n完成需求到版本发布测试活动的3个流程的自动化: