前段时间录播接口测试公开课的时候,遗漏了一些重要的概念,我是个完美主义者,现在有时间了补充一下。
人的身体会停止成长,人的思想是不会停止的,即便如我工作这么多年。越来越觉得思想比技术更重要,只有真正理解测试的目的,才能做出可复制推广的东西。
那么什么是成长?成长是多问几个为什么,多渠道调研,不盲目崇拜,永远记住:好的不一定是合适的,合适的一定是最好的。
以下,只代表个人观点,不代表客观正确性,更多的是交流经验。
接口测试的阶段
第一阶段,接口的前端测试;
第二阶段,接口的后端测试;
第三阶段,接口的集成测试。
接口的前端测试
条件和假设:和真实的后端隔离,假设后端逻辑是正确的。
测试目的:在接口定义明确,依赖(server 端)还未完成时,通过 Mock Server,对接口前端请求的正确性进行验证。
测试对象:接口前端请求的源代码(注意:非测试人员模拟的 client request)。
测试要点:
- 接口请求的地址:通过和 Mock Server 配合,验证请求资源可达。
- 接口请求的参数名和个数:验证请求参数和接口文档的一致性,可以在 Mock Server 端做请求参数有效性校验:
### 接口的后端测试
条件和假设:和真实前端隔离,假设前端请求是正确的。
测试目的:前端依赖的后端已完成,通过 Mock Client,对接口后端业务逻辑处理的正确性进行验证。
测试对象:接口后端返回的结果。
测试要点:
1.多维度(全匹配、包含匹配、正则匹配等)校验接口返回数据的正确性。
2.接口的有效性:例如,调用的接口会执行更新数据的操作,虽然报文显示正确,但不一定真的会生效。
### 接口的集成测试
条件和假设:前端、后端都已完成,测试版本已发布
测试目的:在持续集成的测试环境中对接口进行测试,避免修改 Bug 导致的未知问题、打包(代码合并)问题、环境部署问题等。
测试对象:所有接口。
### 接口测试的无效场景
Mock Client 的同时 Mock Server:利用接口测试工具模拟发送请求到 Mock Server,测试没有意义(除非 Mock Server 做到了无限接近真实,那就不是 Mock,而是测试按接口定义重写一套 Server,不贴近生活。。。)。
以上,无论是生活中还是面试,还真的听说或者存在这种无效的测试场景,你,对号入座了吗?
转载请注明出处