《代码快照x覆盖率:洞察研发体系的最后100米-冯张驰.pdf》由会员分享,可在线阅读,更多相关《代码快照x覆盖率:洞察研发体系的最后100米-冯张驰.pdf(47页珍藏版)》请在三个皮匠报告上搜索。
1、代码快照x覆盖率:洞察研发体系的最后100米OPPO/冯张弛个人介绍2018年加入OPPO互联网服务系统,工程效能组角色:业务-平台研究:基础架构与研发流程负责:质量与测试行为分析目录一、背景:持续交付 与 遇到的问题二、探索:由浅入深 与 逐一击破三、体系:流程互融 与 平台化四、效果与展望与我们遇到的问题持续交付持续交付定义:以正确的速度 做正确的事情 维持正确的质量对团队的要求:以更快的速度 做等量的事情 维持等量的质量对于团队提高交付频次,维持原有质量产品:需求拆细开发:感觉没差QA:回归咋整?结果:回归测试轮数膨胀轮数膨胀导致在用例设计后的阶段,耗时缩减困难。解构与化归开发:“我这次
2、就改了这个模块”“明天发版了现在才给我提bug”“不是做了自动化怎么还这么慢”QA:“这个模块到底影响多大啊,害怕”“自动化写不完啊啊”“不知道做的自动化好不好使,还是再点一遍”解构与化归 传递过程的信息损失 广泛存在的编解码 难以量化与统计“最后一百米”提效了,但好像也没有:写了一堆提测文档,最后还是人工指导 写了一堆自动化,最后还是人工点检与逐一击破由浅入深从覆盖率开始先开始搞覆盖率:多端:统一服务多语言:统一入库多团队:统一平台“怎么知道用例是否被执行到位?”多维呈现常驻实时染色,所测即所得,随时debug版本间数据聚合多维呈现深度绑定研发流程各种关键节点门禁与制品库的串联血缘串联血缘串
3、联:流水线与版本制品库测试报告痛点1:指标陷阱覆盖率100%!=纠错100%价值不清晰,意愿不强烈但有办法解决:合理指标+用例检测痛点2:昂贵的分析增量覆盖率的痛:动辄万行的增量变更人员偏执行、有流动周级别集成发布提测时:“这1w行代码改了啥!我还不如不分析直接测来得快”阶段结果指标上的结果并不差优点:缺陷前置率下降了缺点:但读码成本不可忽略老板:不错不错,大力推广中台:嘿嘿,累的又不是我业务:.忍忍吧用人力换了质量提升提效了吗?真假提效从965到996直面困难多招点人算算经济:云是成本,人更是成本公司允许你这样搞是因为:中台人员往往不需要算业务人力帐 一些企业对人力成本不敏感 不好算提升途径
4、无非:更长的工时投入(x)更高的工作效率()企业需要什么样的人各司其职的培养方向:质量侧需要领域专家,而不是开发专家“既要也要”是昂贵的不同角色有不同视角:开发专家:原来它里面是这么实现的领域专家:原来业务逻辑是这样流转的文化传导需要符号指引什么样的指引让领域专家快速在代码里什么样的指引让领域专家快速在代码里get到逻辑到逻辑?人才培养路漫漫:听课时:我会了操作时:我该干啥来着适当的符号引导人的参与与思考读码=解码 代码=编程语言,本来就是语言 语言表达需要提炼与降噪“你是个明白人,我明白你明白的意思,我也是明白人,明白人就应该明白我明白你明白的意思,只要大家都明白明白应该明白我明白你明白的意
5、思,这样网络环境就是充满明白人希望下次见到你是在下次你这说的,跟说话一样我长话短说,但是说来话长。”你是个明白人。摸摸 Google 过河共主干、秒级别的提交构建+仍在继续膨胀的天量级用例数Google遇到的问题与治理问题:迭代太快,单测太多跑不完治理:编译昂贵,在静态阶段做更多在静态阶段推理并缩小范围启发类比:单测跑不完=测试跑不完能力:静态分析逻辑结构现状:各有各的分析器思考:能力抽象后复用到其他地方引用链是否能协助降噪?代码快照系统词/文法分析多语言统一无编译依赖秒级参考:https:/ 警告:建议修复 严重:漏了=白做用例有效性:流量驱动的单测生成真实流量驱动,更符合业务场景效果与展望收益变更可描述1000+应用接入一线好评从67%到95%增量分析耗时平均下降30%质量评估有效性管控用例占比85%+发现严重用例问题1300+单测辅助能力使用率90%展望没有边界的工具孵化器