测试开发之自动化篇-为什么是接口自动化测试?
原创- 2022-09-06 09:00:00
- 1966
近年来,随着DevOps和敏捷过程越来越广泛地被采用,软件测试、特别是自动化测试得到了迅速的发展。
“软件自动化测试金字塔模型”将可自动化的测试自底而上分为单元测试、服务接口测试和界面自动化测试三个部分。正立的金字塔结构建议我们开展更为广泛的单元测试,以期获得更早发现问题和更高执行效率带来的收益,但不断增加的单元测试也会显著提高开发资源的投入。随着趋于顶部更多的UI层面自动化测试的开展,我们可以获得更高的累积测试覆盖率,但频繁的用户界面调整会带来更高的脚本维护工作量,自动化测试的投入产出比也将逐步收敛。
近年来,随着移动应用的普及、微服务和Web前后端分离模式的广泛应用,客户端的表现层交互同服务端的业务处理之间,在系统架构层面做了更为清晰的逻辑划分。因此,在接口层面拥有了更多的测试机会。借助接口测试,我们可以:
- 模拟客户端用户操作引发的全部业务场景处理调用;
- 覆盖系统所有无状态、有状态微服务的API接口访问;
- 拥有更为明确和稳定的协议层输入到输出的对应预期;
- 完成必不可少的向前兼容老版本服务API的回归测试;
- 适当减少过多单元测试带来的开发技术资源投入成本;
- 规避产品界面频繁调整带来的UI测试脚本的维护成本。