软件测试策略与合同测试全解析
1. 测试象限与测试金字塔
在软件测试中,测试象限和测试金字塔是两个重要的概念。测试象限将测试分为两部分:
- 象限顶部(Q2、Q3)关注产品的外部质量,确保产品满足用户期望,这是业务方重视的部分。
- 象限底部(Q1、Q4)是面向技术的测试,用于维护应用程序的内部质量。
测试象限并不规定测试的起始点,而是帮助我们确定可能需要的测试类型。具体从哪里开始测试,需要根据自身的重要因素来决定。例如,票务系统需要处理大量流量高峰,那么最好先确保票务系统的弹性(如性能测试),这属于Q4的范畴。
测试金字塔(也称为测试自动化金字塔)是测试自动化策略的一部分。它最早由Mike Cohn在《Succeeding with Agile》一书中提出,展示了在不同测试领域应投入的时间、维护难度以及所提供的额外信心价值。测试金字塔的核心结构保持不变,底层是单元测试,中间是服务测试,顶部是UI测试。
测试类型 | 位置 | 特点 | 适用象限 |
---|---|---|---|
单元测试 | 金字塔底部 | 测试代码的小而独立单元,使用测试替身控制外部实体,建议采用TDD(测试驱动开发),确保代码内部质量 | Q1 |
服务测试 | 金字塔中间层 | 比单元测试更能确保API正确运 |