中国DevOps社区峰会2023·广州 庖丁解牛-规模化质量保证挑战与对策 TestOps云层 云层 规模化敏捷质量建设 SPC6、DOM 一个每天被自己焦虑到醒的TestOps 想鸡娃的奶爸 •Organizationswhichdesignsystemsareconstrainedtoproducedesignswhicharecopiesofthecommunicationstructuresoftheseorganizations •设计系统的架构受制于产生这些设计的组织的沟通结构。 •——Conway,1967. 规模化的前提质量内建 “我们无法规模化劣质的代码(或者劣质的硬件、其他任何劣质的东西)。”—SAFe的创始人DeanLeffingwell 目录 1 2 规模化下的质量流程 规模化下的质量能力 3规模化下的质量意识 4规模化下的基础建设 5Q&A 质量流程 从量变到质变 Sprint内的质量挑战 •测不过来 •前面没啥可测,后面全是问题 •测不好 •总是遗漏场景 开发 测试 发布 一个迭代 Sprint内的质量对策 边界越松做的越快,但是也走的越近,要想走得远,还得踏实走好每一步 •不要超过3天 •测试开发并行 •缺陷和历史问题的成本 Story排期的思考 •需求实例化 •团队验收标准 •验收环境 验收标准的场景 •功能/非功能 •自动化比例 •过程环节 DOD的定义深度 •历史的决策 •技术债 •活文档 信息透明的程度 跨Sprint的质量挑战 •上个迭代的问题被发现 •怎么以前的故事有BUG •遗漏的依赖问题 •前后台或者服务对接的失败 跨Sprint的质量对策 •也许我们每一步都对,但是却拼不起来 •Story定义的独立性 增量的依赖 •验收标准的回归、全量局部回归 •功能点的回归 •额外排期或者故事测试周期的边长 回归的范围 •上层Feature/故事拆分 •对于上层验收标准的定义 依赖隔离的前提 团队内&团队外的质量 •不同组织模式的团队对质量的定义 •业务流团队 •赋能团队 •复杂子系统团队 •平台团队 •每个人都有自己的边界和风格,更何况团队之间 故事级别Feature&Story/Enabler •Story&Enabler •一个好的故事 •故事的验收标准和DOD •Feature&Enabler •一个好的特性 •特性也需要验收标准和DOD Release测试流程与目标 测试环境 测试周期 测试数据 测试团队 测试目标 质量能力 要做的越来越多 单元质量的能力 •从底层开始的持续集成 •功能单元 •覆盖率 •结伴编程 前后台隔离的能力 •网关平台 •前后台隔离 •契约规范约束 •独立测试 •链路可配置 业务维护评估的能力 •已上线业务 •历史业务的轮询 •新增业务 •新增业务的独立保障 •多个新增业务的发布 •对历史业务的影响 质量意识 想清楚了再做 进度vs质量 质量达标的进度才是有效进度 先做对再做快 拿数据说话而不是啥都要 质量是奢侈的 Storyvsenabler 业务有价值,技术也有价值 能力是持续赚钱的基础 适度的技术债 VelocityvsCapacity 我能做多少(正常工作历史状态的统计) 我做了多少(我有什么可以优化和调整后的实际值) 质量基础建设 巧妇难为无米之炊 持续集成&持续交付 •增量打包及自动化验证发布 •Pipeline •发布模式的支持 数据服务 •造数据,自维护 •降低依赖,提升自身可测试性 管理&执行平台 •测试环境管理 •Mock隔离模块 •测试执行 •自动化测试 •测试目标与测试范围 •测试度量&管理 •用例维护 组织架构 •全功能团队 •能够清晰定义价值的模块,敏捷测试工程师 •多个团队之间的协作团队 •在有限时间内的多个模块,跨业务或者跨技术工程师、架构师、技术专家、业务专家 总结 一年轻人向一老僧请教人生哲理,老僧拿出一幅迷宫一样的图,让年轻人拿回去思考。 第二天年轻人对老僧说:“大师是不是想要对我说人生就像迷宫,不是处处有尽头!”老僧勃然大怒道:“这是我的微信二维码!”