以下,只代表个人观点,不代表客观正确性,更多的是交流经验。

接口测试的阶段

第一阶段,接口的前端测试;

第二阶段,接口的后端测试;

第三阶段,接口的集成测试。

接口的前端测试

条件和假设:和真实的后端隔离,假设后端逻辑是正确的。

测试目的:在接口定义明确,依赖(server 端)还未完成时,通过Mock Server,对接口前端请求的正确性进行验证。

 

测试对象:接口前端请求的源代码(注意:非测试人员模拟的client request)。

测试要点:

接口请求的地址:通过和Mock Server配合,验证请求资源可达。

接口请求的参数名和个数:验证请求参数和接口文档的一致性,可以在Mock Server端做请求参数有效性校验: ### 接口的后端测试 条件和假设:和真实前端隔离,假设前端请求是正确的。 测试目的:前端依赖的后端已完成,通过Mock Client,对接口后端业务逻辑处理的正确性进行验证。 测试对象:接口后端返回的结果。 测试要点: 1.多维度(全匹配、包含匹配、正则匹配等)校验接口返回数据的正确性。 2.接口的有效性:例如,调用的接口会执行更新数据的操作,虽然报文显示正确,但不一定真的会生效。 ### 接口的集成测试 条件和假设:前端、后端都已完成,测试版本已发布 测试目的:在持续集成的测试环境中对接口进行测试,避免修改Bug导致的未知问题、打包(代码合并)问题、环境部署问题等。 测试对象:所有接口。 ### 接口测试的无效场景 Mock Client的同时Mock Server:利用接口测试工具模拟发送请求到Mock Server,测试没有意义(除非Mock Server做到了无限接近真实,那就不是Mock,而是测试按接口定义重写一套Server,不贴近生活。。。)。 以上,无论是生活中还是面试,还真的听说或者存在这种无效的测试场景,你,对号入座了吗?