传统测试与持续测试对比
传统测试在企业实践中普遍存在效能谜团、缺陷谜团、质量谜团、管理谜团和偏见谜团等问题,导致交付成本高、效率低,且质量难以持续提升。传统测试阶段通常发生在开发阶段后,缺陷出现较晚,反馈周期长,修复成本高,且缺陷集中爆发,难以实现预防。
DevOps与持续测试
DevOps思想的兴起推动了软件测试活动的发展,经历了发展阶段(上世纪80年代至本世纪初,以瀑布模式为主)、敏捷阶段(本世纪第一个十年,测试分层金字塔出现,自动化测试比例提高)和DevOps阶段(最近10年,持续测试与持续交付流水线融合,覆盖软件全生命周期)。持续测试是DevOps时代的软件测试方式。
持续测试标准介绍
持续测试是指软件持续交付流水线中的一种可随时开展且具有连续性的自动化测试流程,特点包括测试左移、测试右移和自动化。持续测试标准范围适用于具备IT软件研发交付运营能力的组织和项目,旨在提高测试效率、增强交付能力、保障交付质量,支撑组织实现价值的持续交付。标准框架将持续测试流程分为需求阶段测试、开发阶段测试、集成阶段测试、验收与发布阶段测试、运营阶段测试和持续反馈,并包含测试通用基础能力和持续测试效能度量。
测试现状与标准要求
持续测试贯标价值体现在需求阶段、测试设计与测试计划、用例设计开发、开发—单元测试、测试准入准出、缺陷管理、测试平台能力和测试效能度量等方面。企业现状存在流水线集成整合不足、平台功能不完善、效能度量体系不健全等问题。
持续测试贯标收益总结
持续测试贯标可以帮助企业提炼和复用高价值资产,建设现代化测试团队,开展度量体系建设,进行缺陷预防体系建设,提升全民质量意识。
关键数据
- 17.74%的企业实现了在需求阶段设计测试、开发阶段完成测试,同比增长23%。
- 22.95%的测试在代码开发前介入,代码级和接口/服务级测试均在代码开发时同步进行。
- 自动化代码扫描、单元测试、接口测试自动化率占比约七成,均同比上涨5%左右。
- 自动化比例超过或接近30%的测试类型包括冒烟测试、开发自测、回归测试、UI测试、性能测试、安全性测试、用户验收测试、系统集成测试、稳定性测试、可用性测试、可靠性测试。
- 一些新兴的测试技术自动化率较低,包括模糊测试(7.42%)、全链路测试(11.21%)、混沌测试(13.29%)。