
啊胡
V1
2022/09/20阅读:73主题:绿意
软件测试之 测试金字塔
测试金字塔
是一种自动化测试过程的金字塔形策略结构,用来指导软件开发过程中,各层自动化测试的投入比例,其最早由Mike Cohn在2009年的著作《Scrum敏捷软件开发》中提出。Mike Cohn在书中指出:测试金字塔从上到下分为三层,分别是UI测试
、服务/接口测试
、单元测试
,越接近金字塔底部的测试活动,投入的工作量应该越多,即单元测试投入工作量最多,接口测试次之,UI测试投入最少。

测试金字塔最底层——单元测试
单元测试属于代码级别的测试,编写成本低,执行速度快,能够快速定位问题,极限编程中的TDD测试驱动开发很多时候都是围绕单元测试开展。单元测试可以说是最低级别的测试活动。
测试金字塔中间层——接口测试
随着微服务架构的广泛普及,API也成为大势所趋。因而,对API进行持续测试成为DevOps的关注点之一,如果没有API接口测试,微服务架构的实施对于企业将会成为一场灾难。
接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。接口测试既可关注单个接口的参数取值和参数取值组合的合理性,也可以验证产品功能的完整性和正确性。相对比单元测试,服务/接口测试的覆盖范围要大一些。
接口测试的重点如下:
检查接口参数传递的正确性;
接口功能实现的正确性;
输出结果的正确性;
对各种异常情况的容错处理的完整性和合理性。
测试金字塔最高层——UI测试
在测试金字塔中,UI测试的覆盖范围广,接近业务侧,但是编写成本高、执行速度和稳定性都会下降,问题定位也很难。所以在测试设计中,要减少界面层的测试。如果是下层测试可以覆盖的场景和逻辑,为了提高测试的速度和节省资源,尽量放到下层去进行。
作者介绍

啊胡
V1