研发效能 接口测试的痛点

树叶 · 2023年07月20日 · 最后由 xxx 回复于 2023年08月08日 · 8120 次阅读

接口测试有 2 种方式,

  1. 单接口测试,这次在 MTSC 上 酷家乐 把 单节口测试 称之为 ” 契约测试 “,比如参数的缺斤少两,各种异常等等,他们认为这种测试应该开发自己来测, 我也深表赞同

  2. 接口的场景测试,就是走流程,这种需要测试人员来写用例来测

目前遇到的痛点在于第二点:前置流程特别长,然后用例又多,导致接口测试时间特别长,,比如 2 小时,感觉无法忍受,业界 的 接口测试貌似都特别快,比如 秒级或者 分钟级,,为啥我的要 2 个小时,,

难道是我的操作姿势不对? 还是说因为我是左撇子?

业界的 接口测试是怎么做到 秒级 的? 难道前置数据都是 mock 的 ?

最佳回复
树叶 回复

就做单接口, 前置数据在考虑业务的情况下, 怎么快怎么来 (因为你前置流程耗时较长, 你想缩短时间).
不要在测试概念上搞来搞去, 个人认为哪有什么单接口哇, 接口场景啦, 契约测试呀等等有的没有的, 不都是接口嘛!
我是菜逼, 个人观点, 不一定是"对的".

面试官:  性能测试类型有哪些啊?
求职者: 压力测试,  负载测试,  强度测试,  容量测试,  大数据量测试,  基准测试,   并发测试,  稳定性测试  (我百度的, 我到如今都搞不明白他们的区别, 以前想搞明白, 现在不想了)

带有个人偏见😂

共收到 23 条回复 时间 点赞

你说对了,数据 mock 或者直接每次都初始化测试数据,你别老用脚本跑前置呀

造数据归造数据的职责 不要用用例去造数据

恒温 回复

mock 比较麻烦,初始化好的测试数据 这个可能好一点。。

2 个小时有点夸张呀,我们以前信贷业务,流程比较长,通过调脚本也基本可以做到 1-2 分钟就造一个账号数据(按正常业务顺序调接口)。建议可以做个耗时分析,看这 2 小时时间都消耗在哪里?

然后楼上也提到了,流程多,要造的数据复杂且耗时的话,比较适合把造数据独立出来一个服务。接口测试时直接找这个造数据服务取就好。然后这个服务里面,可以根据需要的数据情况实时造,或者提前造好内部自己存下来。

极客时间测试 52 讲里也有提到类似的服务能力,有兴趣可以去看看。

缓存预热是不是这么个作用啊?

接口测试前期,测试数据的准备,才是比较耗时的,这个过程,可以在研发定义好接口文档之后就去处理

陈恒捷 回复

1 个用例跑 5 分钟,120 分钟也就 24 个用例, 耗时 主要在 kafka 消息同步以及一些定时任务上面。

提前造好 这个我们也考虑过,造好以后终归是存在数据库里面的,担心别人改动 容易造成数据失败

mock 的话 工作量又大且不好维护。。

纠结中。。

树叶 回复

定时消息之类的 可以调接口调整时间,kafka 消息之类的 也可以快速消费。没有必要一直等,其实用例执行时间很短,就是前置条件耗时太久了

树叶 回复

定时任务和消息同步应该都可以主动去触发的,没有必要去等待,假如同步任务一天同步一次,你打算等待一天?

树叶 #13 · 2023年07月23日 Author
安妮之父 回复

有道理,感谢😀

我在银行,造数部分也是比较夸张的,因为你们办法去控制你的上下游,让他们给你协助。比如卡片激活,激活一次,没办法去反激活,因为核心那边没人给你留方法,你也没办法直接处理他们的数据库,基本无解。

恒温 回复

使用 mock, 那单接口,和接口场景 (流程) 有啥区别?

树叶 #10 · 2023年07月25日 Author
Barry250 回复

那你们怎么处理的?
比如每次要回归测试 激活 怎么回归

xxx 回复

我理解的是 单节口 mock, 接口场景 直接 走流程来测

数据准备是接口测试和性能测试的重要环节,通常有以下几种途径:

  1. 直接去数据库里取测试数据(可以通过复制生产环境的数据库到测试数据库,已保证测试数据的真实性)- 腾讯优测平台支持通过简单配置数据库相关信息,即可周期性获取大规模测试数据,自动推送到压力测试/接口测试模块
  2. 通过 Mock 接口完成前置准备(Mock 接口的优点是响应时间很快,对于某些第三方接口非常友好)- 腾讯优测平台单独设有 Mock 模块,通过配置相应的规则即可模拟真实接口
  3. 准备 CSV 文件,将测试数据存入 CSV 文件,在执行接口测试/性能测试的时候可调用 CSV 文件里的数据 - 腾讯优测平台支持将 CSV 文件绑定接口测试/性能测试用例,别设有单独文件管理,方便更新测试数据
  4. 通过真实接口调用完成数据准备 - 腾讯优测平台支持前置链路,可在前置处理里进行数据准备,耗时不参与统计
树叶 回复

打电话过去要数据,手工点点点

恒温 回复

你不用脚本跑前置, 改用 mock, 那不就变成了单接口/ "契约测试"了吗?

照你们这个逻辑, 单元测试, 是不是还可以分为, 单函数测试和场景/流程函数测试.

树叶 回复

对嘛, 前置不调接口算哪门子 接口场景?

还有, 有没有具体的接口场景跑出来的问题, 单接口没跑出来的?

树叶 #22 · 2023年08月07日 Author
xxx 回复

感觉单接口没测出问题,场景接口测出问题的概率比较小。。
所以你觉得接口测试数据准备应该怎么做?
如果按照链路调用前置接口的话,那么整个流程执行时间肯定是比较长的
求大佬分享最佳实践,或者纠正我目前存在一些错误的思想和操作

树叶 回复

就做单接口, 前置数据在考虑业务的情况下, 怎么快怎么来 (因为你前置流程耗时较长, 你想缩短时间).
不要在测试概念上搞来搞去, 个人认为哪有什么单接口哇, 接口场景啦, 契约测试呀等等有的没有的, 不都是接口嘛!
我是菜逼, 个人观点, 不一定是"对的".

面试官:  性能测试类型有哪些啊?
求职者: 压力测试,  负载测试,  强度测试,  容量测试,  大数据量测试,  基准测试,   并发测试,  稳定性测试  (我百度的, 我到如今都搞不明白他们的区别, 以前想搞明白, 现在不想了)

带有个人偏见😂

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