接口测试 接口测试需要对数据库做校验吗?

heyyuyu · 发布于 2017年08月11日 · 最后由 leeforleslie 回复于 2017年08月14日 · 997 次阅读

比如一个修改数据库的接口,发送post之后只返回成功或者失败,做接口自动化测试有必要进入数据库查看是否修改了?感觉这个应该在单元测试里做的。

共收到 8 条回复
13123

看业务吧,这个因该

718

做出来更好!
我这边对于简单业务接口,做了数据库校验,还有像涉及到手续费之类也添加了。
但是如果是很复杂的业务,涉及的表很多,这校验起来 会很麻烦,唉。。。做起来会比较繁琐。

Ed266c

这个肯定得做啊,这属于接口的主要功能呀

E39152

其实这个问题就涉及到测试的分层了。

如果你们公司会做比较完整的单元测试,单元测试会去校验数据库,那么你主要关注接口规范就好,或者业务逻辑。

不然的话,所有的东西你都需要去关注。

我自己理解,测试一层一层的上来,你可以选择信任或者不信任下层的测试。

11094
heyyuyu · #5 · 2017年08月14日 作者

谢谢大家解惑!我也觉得数据库校验应该留给单元测试,各个层级目的明确,不然会有很多交叉和重复性工作。

16365

之前做过一个金融系统的,表单非常多,基于业务接口做的,不得不做数据库校验,不做心里没底呀

1034

我给你说一下我目前的做法吧,例如一个接口,提交请求后,可能会涉及到多个接口的变化或者库的变化,例如淘宝的购物来说,下单的接口,肯定会影响,购买者购买列表+1,商家订单+1,商品库存-1,用户金额-xx元,帐号中间人+xx元,周边的可能还会涉及到,例如商家的消息提醒列表,等等,很多。我这面是单独把上面所有的校验点,封装成一个http接口,例如像上面,封装后,我只需要接收 购买人,购买商品ID,这俩参数,然后就直接返回,是否校验通过,如果校验不通过,不通过的原因,然后走正常的下单接口,校验简单的下单返回状态是否OK,然后在去请求我的校验接口,查看是否校验通过

C69fb6

我觉得是要的,比如新增数据接口,我接口返回了成功,但是是否真的新增成功还是要检验数据库里面的数据!

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