ROI模型树
提升ROI的基础出发点:增加运行次数
手段:测试左移、测试右移
测试左移(测试阶段)
原始测试流程:
- 软件生命周期:软件需求分析、软件设计、软件开发、单元测试、集成测试、系统测试
- 开发阶段:需求分析、软件设计、软件编码
- 测试阶段:单元测试、集成测试、系统测试
测试左移后:
- 需求分析阶段->建立测试需求
- 软件测试阶段->自动化测试案例设计
- 软件编码->TDD测试驱动开发
- 代码单元测试->但也测试、冒烟接口测试、冒烟UI测试
- 集成测试->接口测试
- 系统测试->UI测试
好处:
- 1.验证当前阶段做好了本阶段要求的事情
- 2.确认当前阶段实现的功能,可以满足最终用户的需求
- 问题发现越早,修复越快,自动化测试就越健康,越稳定,越可用
测试右移(线上运维阶段)
- 测试右移:测试活动介入线上运维,用户画像等工作。自动化测试可以在生产环境运行,起到一个自动检查检测的作用。
- 测试右移与Ops的区别:我们无法从Ops那里得知,服务是不是按照客户的期望运行的,这对客户价值非常重要。但是只有运行测试才知道
- 背景:很多bug在测试环跟客户的行为,生产环境的数据,特定的错误扩散模式有关系,在测试环境发现不了。所以 我们需要在客户遇到bug之前发现它
- 定时运行自动化测试任务,去检测生产环境的业务功能是否正常才,然后生成测试报告。发送通知给测试人员
建议实践
产出:
- 性能测试100%自动化
- API自动化测试100%自动化
- 冒烟测试100%自动化
- 一份代码,多场景运行
- 分层测试ROI金字塔
投入:
- 成熟广泛的框架优先
- 设计先行原则:自动生成测试案例
- 测试即代码
- 持续度量驱动提升
备注:之后会展开叙述如何实践