接口测试 接口测试的感悟

扫地僧 · 2016年04月23日 · 最后由 lyz362502 回复于 2019年05月27日 · 2445 次阅读

前段时间录播接口测试公开课的时候,遗漏了一些重要的概念,我是个完美主义者,现在有时间了补充一下。
人的身体会停止成长,人的思想是不会停止的,即便如我工作这么多年。越来越觉得思想比技术更重要,只有真正理解测试的目的,才能做出可复制推广的东西。
那么什么是成长?成长是多问几个为什么,多渠道调研,不盲目崇拜,永远记住:好的不一定是合适的,合适的一定是最好的。
以下,只代表个人观点,不代表客观正确性,更多的是交流经验。

接口测试的阶段

第一阶段,接口的前端测试;
第二阶段,接口的后端测试;
第三阶段,接口的集成测试。

接口的前端测试

条件和假设:和真实的后端隔离,假设后端逻辑是正确的。
测试目的:在接口定义明确,依赖(server 端)还未完成时,通过 Mock Server,对接口前端请求的正确性进行验证。
测试对象:接口前端请求的源代码(注意:非测试人员模拟的 client request)。
测试要点:

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

转载请注明出处

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 11 条回复 时间 点赞

恩,还没时间看,先看你你的总结,一定要抽时间去看看了

—— 来自 TesterHome 官方 安卓客户端

赞~这种方式就比较系统了。

话说你们项目有通过 Mock 做前端接口测试吗?

据我所知,Mock server 大多只是开发中的时候方便联调,很少见到提测时还是用 mock server

匿名 #3 · 2016年04月25日

测试尽可能前移,mock 还是需要的

#2 楼 @chenhengjie123 可能文章没表达清楚,如果被依赖的(被调用方)未开发好,可以 Mock Server 验证调用方,如果被调用方已完成,可以 Mock Client 验证被调用方,提测的时候(开发联调完毕,或者发布测试,更倾向于前者),这一步是不需要 Mock Server 的

#3 楼 @r551 测试前移是共识,文中指的是 Mock Client 的同时又 Mock Server,这种测试的意义不大

#4 楼 @quqing 好,明白了~谢谢!

#6 楼 @chenhengjie123 刚才发了一个邮件到你 gmail 邮箱,想了解一下如果要发布招聘的帖子,权限怎么整。
这里搭车问可能不太合适,见谅

#7 楼 @zhangtao 我已经回复了,你可以查看下邮箱~

匿名 #9 · 2016年04月25日

@quqing 明白你的意思,Mock Client 的同时又 Mock Server 只是在 Client 和 Server 一个都没有的时候,测试先行的情况,如果是测试驱动才可能出现这种情况

您好,想请教一下,如果公司的接口文档并不是非常规范,只告诉接口 url、请求方式、参数以及返回结果,以及一个示例展示,但是返回结果并没有确定的规范,即返回 json,但是每个接口的结果 json 中的 key 都不是一致的,这样的情况该怎么对结果进行对比呢?

问下公开课有视频有地址可以看吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册