1. 什么是分层测试?
分层测试是通过对质量问题分类、分层来保证整体系统质量的测试体系。
模块内通过接口测试保证模块质量,多模块之间通过集成测试保证通信路径和模块间交互质量,整体系统通过端到端用例对核心业务场景进行验证,用户体验通过手工测试确保无妨碍用户的交互。
分层测试实现代码、服务、界面分层测试的整体架构目标,逐层建设完善自动化测试能力,逐步做到在保证质量的前提下提升需求交付效率。
可以这么说,当你遇到对一个系统进行整体保障,不知道怎么入手的时候,进行分层测试是一个良好的解决思路。
2. 分层测试的优点
- 层次分明:各层测试目标清晰,能形成效果叠加,增强质量防护能力。
- 支持日构建:整个体系支持日构建,支持MR后自动构建,提升开发团队安全感,提升发布效率。
- 白盒测试:加强了对代码实现逻辑的理解,提升整体代码质量和设计质量。
3. 原则
- 稳定性:稳定性是自动化用例的生命线。
- 有效断言:用例无断言,就是耍无赖。
- 测试下沉:要小不要大,自动化用例尽量下沉,用接口用例覆盖。
- 三早:早测试,早发现,早修复。
- 聚焦业务: 尽量专注于业务场景,确保每个测试都有价值。
- 复用业务设施: 依靠基础设施及代码,降低基础设施引入的变化对用例稳定性的影响。
- 数据独立: 测试数据独立,降低测试数据耦合引入的用例维护复杂性。