问答 请问接口测试数据来源

wuming · 2017年02月17日 · 最后由 浅仓南 回复于 2017年04月13日 · 3926 次阅读

目前知道两种接口测试数据来源:

  1. 提前造好数据,插入数据库
  2. 依赖操作(比如先创造鸡,再用这只鸡生蛋,最后再杀了这只鸡,吃了这只蛋)

感觉两种数据来源各有优劣:

  • 第一种数据来源的优点与缺点:
优点:不依赖,一个接口挂了,其他接口不会挂,鸡挂了,蛋还在,蛋挂了蛋黄还在

缺点:1.要对数据库逻辑非常熟悉。
           2.一般的公司不会让插入线上数据库,要另外建个一模一样的数据库调用线上接口,但是实际情况是我们公司的数据库有隔离机制,甚至部分核心数据要用第三方的规则加密,这个时候就懵逼了。

  • 第二种数据来源的优点与缺点:
优点:不用非常熟悉数据库,有数据库检查点也只是去查询,适合线上使用

缺点:一个接口挂了,依赖它的接口都跟着挂,依赖的接口多的话查问题都要查很久

刚刚接触接口测试没多久,有不正确的请指正。
ps:其实不只是接口测试,UI 测试也是的。

问题:大家的数据来源有哪些?哪种比较好?

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

为啥你们公司要在线上搞。。。你说是线上接口监控么。。。

#1 楼 @ycwdaaaa 你们的回归测试和线上监控是搞的两套吗?有没有什么思路?

#2 楼 @jet 线上数据库是绝对不能写的。。。。只能监控查询接口。 不用精确验证。证明服务还在运转正常就行了。 但是日常的接口测试必须要有数据库的掌控权。所以就搞的两套东西

#3 楼 @ycwdaaaa 也就是完全的两套吗,所有的东西都是分离的?

#4 楼 @jet 那倒不是。代码都是放在一个项目里的。只是放在不同的组织目录下。因为用的技术都是一样的

#5 楼 @ycwdaaaa 如果两套的话,假设某些接口线上监控逻辑和回归测试是一样的,那就面临一次修改两次维护的问题,这个一直很头疼。

#6 楼 @jet 是挺烦的,你们监控了多少个接口?

#7 楼 @ycwdaaaa 测试接口 300 ~ 400 个,线上监控的只能有 50 多个,不少接口是不能长期访问的,所以不能监控。 很多两套代码的逻辑是重复的,一旦暴露出接口 case 本身的问题,就要两边改。UI 测试也有这种问题。 一直在优化但是效果不大。已经快烦死了。 我们还涉及多语言,虽然引入语言包,但是也坑的够可以,反正就是一套逻辑多次维护。

#8 楼 @jet 可以考虑自己封个 SDK 出来。屏蔽底层。让上层调用更快捷方便。 这样维护成本会低很多的

#9 楼 @ycwdaaaa 就是狠不下心去做这种事。一般当时觉得烦,但是改了,跑通了,就觉得糊弄一次算一次,久而久之,,😂 我这种人就是难成大器。

#10 楼 @jet 😂 😂 😂 😂 长痛不如短痛~~

wuming #12 · 2017年02月17日 Author

@ycwdaaaa 是的,想监控所有的线上接口,包括 get 和 post 请求,但是感觉不行,插入线上数据库不让用,换另外一个数据库又不能掌握所有的加密规则,还有隔离机制啥的感觉快崩溃了。如果不监控所有的接口的话又感觉效果缩水了很多。。

@ycwdaaaa 其实一直不知道怎么做数据的准备和清理,你们那边是直接在数据库插入数据,然后在用例运行结束后,直接在数据库删除吗?

#13 楼 @charles 我写了一个组件,从 execl 中读取数据插入数据库。用例执行完毕后再自动删除

#12 楼 @woshizh 你接口监控没必要搞那么复杂,只监控读库的接口就行。

#15 楼 @ycwdaaaa 不少 APP 上都见过这种啦

#16 楼 @sanlengjingvv 。。。。他们公司真猛。。。。线上数据库随便让 QA 搞。。。。

#16 楼 @sanlengjingvv 这个是线上的吗?服

孙高飞 回复

其实很正常的,生产环境做测试,会对某些数据进行白名单区分的,只要大数据那边不录入数据,基本没问题。现在大公司做性能测试很多都直接线上开搞的,做好风险评估就没事。

什么鬼 楼主问的测试数据管理初始化销毁

主用 sql,混合用。
以 suite 或 case 为不同维度去做,有些初始化后好几个 case 都可以使用 如果数据库表有 is_delete 字段更好

为什么渠道测试不能投递简历?😅

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