上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

A1--刘晓娟--百度单元测试智能生成实践.pdf

编号:152013 PDF 33页 18.48MB 下载积分:VIP专享
下载报告请您先登录!

A1--刘晓娟--百度单元测试智能生成实践.pdf

1、百度单元测试智能生成实践刘晓娟 百度刘晓娟百度资深软件工程师2014年加入百度,负责百度研究院CI工作。2017年担任覆盖率平台技术负责人,从0开始构建了百度内部测试覆盖率度量的工具体系及平台。2018年负责了百度单测构建基础设施的建设,注重单测提效,建设了精准单测及分布式单测。2022年底着手单测智能化生成,截止目前在百度内部已支持了top研发语言的单测生成,并广泛落地在研发的日常研发工作中。1.背景介绍2.单测生成的探索3.百度单测智能生成的具体实现4.当前效果、挑战和未来展望目录CONTENTS背景介绍:百度的单测01背景介绍 单测保障代码质量代码提交代码评审单元测试(xx%增量覆盖率)

2、P0 测试代码扫描构建代码合入.代码检查背景介绍 平台化建设路径全方位度量全自动执行智能用例生成全量覆盖率增量覆盖率用例结果自动配置自动用例选择分布式执行人机交互执行反馈修复【书写成本高】据调研,单测的研发时间约占总研发时长的30%50%【项目开发周期紧】来不及写单测【影响研发迭代效率】单位时间内交互的需求变少UIAPIUTUIAPIUT背景介绍 单测推广面临的问题单测生成的探索02传统的单测生成 以追求代码高覆盖为目标,依托于代码解析技术+随机/SE 符号执行/SBST 搜索 明显的问题:1.代码可读性差:很大随机性,用例数目庞大2.断言质量差:泛断言3.生成性能差:数分钟4.支持语言单一:

3、不同的技术栈5.开发维护成本高:不同语言,不同版本6.生成环境要求高:高配置,软件版本,运行环境等约束传统与基于模型的单测生成对比百度单测智能生成的具体实现03一、实现路径单测模型数据提示词产品化落地IDE人机交互工程化落地自验证自修复用AI原生思想重构单元测试的生成单测模型:模型精调整体流程GitHub测试文件被测文件测试方法被测方法用例被测样本均衡数据清洗映射数据处理模型精调文心代码模型数据挖掘让模型会写单测,写好单测单测模型:数据挖掘测试方法上下文测试方法体初始化调用属性调用方法被测方法上下文类签名构造函数签名调用属性调用方法签名被测方法体属性setter/getter包/命名空间包引用

4、类型定义数据要完善,包含足够的上下文单测模型:数据处理数据清洗单测的基本结构断被测函数调代码格式效注释body体样本均衡代码复杂度单测框架Mock框架/业务代码语数据质量要高,要有各框架各场景用例书写样本单测模型:模型效果评估分支覆盖运行通过无运行时错误无语法错误单测结构正确,有正确的断言生成符合题意优点p 定制性:满足更多的书写风格,支持特定框架及库p 生成能力:内容更丰富,mock处理更好p 性能:响应更快缺点p 多场景支持p 用例的解释能力评估指标:单测模型 提示词遵循规则 与精调数据格式一致,提供足够的上下文 在token限制范围内自适应上文下提示词 代码解析获取被测方法相关信息 根据

5、优先级与token限制,构造提示词内容单测模型:提示词【无上下文信息】被测方法内容幻想严重生成的用例只给出被测方法信息单测模型:提示词【完善的上下文信息】被测方法生成的用例被测类及构造函数签名入参相关方法签名入参相关方法签名内容书写正确产品化:IDE人机协同模式发起用例生成提示词构造模型推理内容解析上下文解析自适应机制IDE1.指定方法2.指定行数3.指定文件基本文件结构关联关系用例review用例采纳用例写入包引入信息属性信息测试套件信息已有用例文新用例文件工程化:批量可用用例生成用例生成用例执行结果判定基于规则修复基于模型修复验证及修复自验证自修复错误修复成功继续修复是正确修复失败否Run

6、 ResultSucceedCompile errorRunning errorAssert error系统库第三方库项目自身库包引用错误当前效果、挑战和未来展望04当前效果 IDE编码场景 覆盖主流研发语言 覆盖主流IDEIntellij 家族Vscode 落地全百度日常的研发工作,采纳率xx%当前效果 CR阶段用例批量生成代码提交代码评审代码合入单元测试(增量覆盖率不达标).代码检查.Diff代码用例生成修复当前效果 CR阶段批量用例生成当前效果 CR阶段批量用例生成IDE 验证提交挑战 正确性的提升,更少的幻想:上下文 Mock技术的合理应用:特征提取与提示词构造 断言的正确性:mutation testing 高场景(分支)覆盖的用例生成:chain of think 多用例的写入文件合并:代码技术+模型感 谢 聆 听关注QECon公众号

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(A1--刘晓娟--百度单元测试智能生成实践.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部