1、基于风险驱动的交付模式转型探索与实践2023.03/黄佳鑫分享纲要1、风险驱动交付模式源起-百度交付现状&挑战&破局2、风险驱动交付模式构建技术 2.1、模式介绍-何为风险驱动交付 2.2、模式建设-质量风险决策系统 2.3、模式应用-无人值守建设和落地3、未来展望风险驱动源起风险驱动源起百度交付现状百度交付现状随着工程能力的不断提升,交付模式逐步完成从纯手工测试自动化测试持续集成持续发布的演变。通过将自动化测试工具集成到流水线中,质效工作逐步左移,研发可以通过流水线完成测试、上线工作。本地开发分支测试QA 评估评估M1Branch绿灯通过绿灯通过Approve 手动手动合入主干从主干 拉分支
2、开发主干测试绿灯通过绿灯通过M2RB发布测试绿灯通过绿灯通过QA 评估评估发布发布MasterMasterM3QA 评估评估从主干 拉分支发布 集群编译:15分钟 静态代码检查:20分钟 单元测试:10分钟 Diff测试:50分钟 性能测试:60分钟 功能测试:40分钟执行执行约花费约花费1 1小时小时 集群编译:15分钟 静态代码检查:20分钟 Diff测试:50分钟 性能测试:60分钟 功能测试:40分钟执行执行约花费约花费1 1小时小时实时和daily执行 集群编译:15分钟 性能测试:5个小时执行执行约花费约花费5 5小时小时分支开发、主干合入、分支发布交付模式 月需求万级,关联bug
3、占比20%;构建百万级,关联bug占比1%,较多较多冗余冗余执行执行 3阶段执行耗时小时级,但交付周期天级粒度,人工评估和扭转拉长周期人工评估和扭转拉长周期 线上百级个bug漏出,测试和准出能力不足测试和准出能力不足问题风险驱动源起风险驱动源起百度交付挑战百度交付挑战&破局破局挑战挑战RD和QA质效心声现状剖析破局思路破局思路针对性测试精准评估极致质效风险风险驱动驱动测试本质是减少bug发生的可能性(风险)和产生的影响以风险驱动,测该测的测该测的,评风险评得准评风险评得准,达到质效最优非所有项目都有风险非所有项目都有风险,80%+无关联无关联bug和线上问题和线上问题不是所有测试任务都能揭错不
4、是所有测试任务都能揭错,固化冗余测试占比高固化冗余测试占比高测试人员也有误判的可能测试人员也有误判的可能,漏测一直存在漏测一直存在风险驱动交付风险驱动交付模式介绍模式介绍何为风险驱动何为风险驱动基于风险驱动解决思路基于风险驱动解决思路风险驱动交付风险驱动交付模式建设模式建设质量风险质量风险决策决策系统系统(核心风险识别核心风险识别、风险控制和风险决策风险控制和风险决策)-风险识别-风险控制-风险决策风险可视化&闭环报告风险数据决策结论反馈意见代码动静态风险画像原始代码AST语义分析动态风险点识别动态风险点识别深度算法识别项目风险画像人员风险画像风险风险控制控制功能功能测试测试性能性能测试测试灰
5、度灰度监控监控分级分级发布发布策略策略测试测试稳定稳定性测性测试试风险追踪Cover性能稳定性影响风险点&概率业务影响评估结论评估结论,流转流转&推荐推荐风险可视化报告风险可视化报告风险闭环风险闭环bug反馈反馈优化优化路径路径提取提取特征特征提取提取模型模型迭代迭代模型模型上线上线人工人工反馈反馈构建质量构建质量决策决策系统,机器自动识别风险,执行系统,机器自动识别风险,执行该执行的该执行的测试活动,自动决策风险,自动流程流转测试活动,自动决策风险,自动流程流转模式建设模式建设风险识别风险识别建立识别能力建立识别能力,打通数据血缘关系打通数据血缘关系,量化风险量化风险人员信息人员信息项目信息
6、项目信息代码代码信息信息提测单提测单id测试信息测试信息千行bug率项目熟悉度高危场景高危片段提测打回数线下bug数线上bug数Bug信息信息变更变更影响影响卡片卡片id变更行数变更函数变更文件数圈复杂度高危代码影响接口影响页面影响场景影响端执行数据执行数据充分度数据充分度数据执行结果成功率Error类别参数组合单参数路径覆盖代码覆盖commitidpipelinetidjobid流水线流水线id关联枢纽关联枢纽开发时长变更次数模块数是否联调用户密度问题密度拦截能力业务指标历史bug用户路径采集什么数据采集什么数据?如何采集数据如何采集数据?怎么串联数据怎么串联数据?模式建设模式建设风险控制风