整个金字塔模型代表着越上层的测试集成度越高,执行速度越慢,越下层的测试隔离性越好,执行越快越轻量。良好的自动化测试,应该符合金字塔式的分布,也就是能够提供快速反馈的细粒度测试占据多数,而缓慢昂贵的粗粒度测试应该只有一小部分。
但是很多人忽略了测试金字塔中的一点:每当有一个处于金字塔上层的测试失败,必然有多个处于底层的测试失败。下层的测试支撑起上层的测试,而不是两套毫无关联的测试。
测试金字塔只能帮我们检查自动化测试集合是否处于良好状态,以及不同层之间的测试是否存在必要的关联,测试四象限(Agile Testing Quadrants)能够帮我们更好地设计测试策略