{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

接口自动化测试,数据库表需要校验吗?

SalamanderSalamander 回答0 收藏1
问题描述:接口自动化测试,数据库表需要校验吗?校验方式?如果有上百的字段呢?如何快捷?你有何想法?
收藏问题

2条回答

KevinYan

KevinYan

回答于2022-06-28 14:43

具体得视情况而定。

  • 如果接口进行的是读操作,是不需要校验数据库的。

  • 如果接口进行的是写操作,严谨的说是需要的,并且涉及的字段均需要校验。


读操作

接口进行读数据库操作,如GET方式,即查询,验证期望响应内容与实际响应内容,即验证了数据入库-数据查询流程,因此不需要校验数据库。当然,每次执行自动化是需要进行环境初始化,每次运行自动化用例前插入自动化测试数据,运行结束后清空自动化数据。


写操作

接口进行写数据库操作,如POST或DELETE方式,即写入/删除,一般除了验证期望响应结果与实际响应结果外,还需额外验证数据库是否真的进行了相关操作。因为接口返回结果并不能真实反映数据是否被写入或删除。

一般使用Sql验证,字段较多时,建议封装个方法,实现根据请求体拼接Sql功能,如下:

Select count(1) from tablename where field1 = value1 and field2 = value 2……

然后再封装数据库查询方法,验证count数量是否等于预期即可。



若对您有所帮助,欢迎大家评论、留言。

评论0 赞同0
  •  加载中...
xiongzenghui

xiongzenghui

回答于2022-06-28 14:43

接口自动化测试,一般设计接口各种场景用例,校验返回值是否符合预期;接口测试,会去做字段缺失、为空、长度、字段类型等校验测试,接口测试更多关注了入参出参,其实也就间接测试了数据库表字段。

所以说,接口自动化不需要特意去关注数据库,Json数据一般来说通过XPath去取值校验,字段校验方式有等于、大于、小于、包含,还有字段长度类型及响应code等校验。另外需要和预期接口响应数据做个对比,如果字段key不同或者数量不同,标记失败,字段值不同也标记出来,不一定是失败

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<