什么是测试金字塔?
了解测试金字塔的基础知识及其使用原因。
测试金字塔基础
测试金字塔 是一种模型,展示了不同层级的测试,其中最推荐且最可靠的测试位于底部,而较不推荐且可靠性较低的测试位于顶部。金字塔的层级包括单元/组件级、API 级以及端到端(也称为 UI 和验收级)。通过使用测试金字塔,团队可以确保在正确的时间使用正确的测试层级。因此,测试金字塔的理念将帮助团队节省时间和成本,同时确保产品的最高质量。以下是测试金字塔的示意图:
上图展示了测试金字塔的四个层级。带有向上箭头的硬币和纸币表示:随着测试在金字塔中层级升高,其创建和运行的成本越高。右侧的兔子和乌龟图像表示:金字塔中较高层级的测试运行速度比低层级的测试更慢。
为什么需要测试金字塔?
测试金字塔可以帮助改进组织的测试流程。其三角形结构代表了理想测试策略的形态。
该金字塔包含四个层级:
- 单元/组件级
- API 级
- 端到端级
- 验收级
每个层级都至关重要,应被用于提升组织的整体测试流程。测试金字塔不应被字面理解,而应作为指导原则,以确定创建成功测试自动化策略所需的测试类型和数量。
通过逐层解释各层级并结合代码示例演示,我们将从最底层的单元/组件级开始,逐步学习测试金字塔,最终到达最顶层的验收级。学习结束后,我们将掌握一项新工具,以增强我们的测试能力。
应该使用哪个层级进行测试?
由于底层测试通常运行更快、成本更低,因此应占大多数测试用例。高层级测试应尽量减少。这是因为底层测试更接近代码,能够快速且轻松地运行。此外,底层测试比高层级测试更能准确定位错误的根本原因。相反,高层级测试离代码较远,需要更多时间与资源来运行,这也是它们运行较慢的原因。
组织应使用测试自动化金字塔的全部四个层级来改进测试流程。例如,使用单元/组件级测试单个代码片段(如函数)。集成级对于测试不同组件或系统之间的协作至关重要(如客户端与 API 的交互)。使用端到端级从最终用户的角度测试系统工作流。而验收级则对验证系统是否满足用户需求至关重要。综合运用测试自动化金字塔的四个层级,将有助于确保组织的测试流程全面且实用。