1、2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站通过持续测试加速研发效能提升张涛 快手效率工程部质量负责人10年以上互联网软件测试和团队管理经验专注质量保障体系、服务稳定性治理、研发效能提升精通敏捷、持续集成/持续交付、DevOps精准测试领域专家01持续测试与研发效能的关联02通过TDD质量内建提升研发质量03通过精准测试提升测试质量和效率04通过监控和可观测提高服务稳定性目录Content01持续测试与研发效能的关联持续测试的哪些阶段哪些方法可以提升研发效能2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站研发效能度量指标交付效率端到端快速
2、、及早交付交付质量端到端高质量交付交付能力卓越工程能力 持续交付项目维度l项目成本l项目进度l项目工时l项目RO1达成率l项目满意度部门维度产品维度/版本维度需求开发测试发布需求交付周期开发交付周期需求交付吞吐量需求各阶段平均停留时长需求分析时长需求评审时长研发排期时长测试时长部署发布时长提交验收时长验收处理时长开发时长需求数量待受理,处理中,待验收、验收通过需求状态分布需求颗粒度代码库数量代码库提交量圈复杂度、重复度代码提交/合并频率缺陷解决时长测试用例数量需求评审通过率需求变更率需求价值达成率代码评审覆盖率代码评审通过率单元测试覆盖率代码扫描问题数代码提测成功率自动化测试覆盖率自动化测试通
3、过率线下缺陷数量缺陷解决率缺陷逃逸率状态、类型、严重程度、引入阶段线下缺陷密度部署次数变更成功率部署回滚率计划外工作占比构建频率构建时长构建成功率自动化测试执行时长持续集成红灯修复时长变更前置时间(代码提交到部署)部署时长部署频率2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站持续测试与DevOps的关系持续测试就是DevOps时代的软件测试方式手工测试为主自动化测试为主持续测试覆盖软件全生命周期2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站持续测试与DevOps的关系持续测试是与持续交付流水线相融合,覆盖软件全生命周期的全过程测试闭环20
4、23 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站需求开发测试发布运维需求评审任务拆分迭代规划编码规范分支管理静态代码扫描代码评审单元测试安全扫描冒烟测试影响DevOps质量和效率的因素功能测试集成测试性能测试安全测试兼容性测试探索性测试自动化测试灰度发布容量测试自动化回归测试持续监控全链路压测Bug回归测试Bug线上故障需求阶段质量因素效率因素回滚MTTR非价值交付2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站影响DevOps质量和效率的因素Bug数需求开发测试运维线上故障数Bug提交及验证:5-10分钟回归测试:天级Bug修复耗时:功能测试阶
5、段:约15-30分钟集成测试阶段:约30分钟-2小时Bug数漏测率故障修复时间:小时级需求阶段质量因素效率因素2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站基础技术分析过程实现方法持续测试的实现框架需求开发测试运维需求阶段自动化测试测试用例推荐流量录制回放基于风险的变更分析测试影响分析调用链路分析双向追溯覆盖率采集精准测试TDD单元测试接口自动化前置接口异常测试BDD可观测监控日志Trace02通过TDD质量内建提高研发质量UTDD和ATDD是实现质量内建最重要的方法2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站TDD已死?Rails之父
6、David H.Hansson测试驱动开发和极限编程的创始者TDD isnt dead,but is glad David set fire to it so it could come out like a phoenix2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站UTDD与ATDD的关系UTDD:单元测试驱动开发,首先Dev编写单元测试用例,然后编写实现代码直到单元测试通过。ATDD:验收测试驱动开发,首先QA编写验收测试用例,然后Dev编写实现代码直到验收测试用例通过。验收测试用例可以是手工测试用例也可以是自动化测试用例2023 DevOps 国际峰会 暨