接口测试框架

参考

接口测试价值

接口测试框架

企业微信准备

企业微信基本信息

  • corpid= wwd6da61649bd66fea

接口测试请求

接口响应断言

企业微信实战

占楼之后交作业用

占楼,最少八个字!!!

问题:
1、公司项目里遇到的,很多数据相关的接口加了redis缓存,大概是1小时更新一次数据。应该如何对这部分接口的返回数据进行对比?

占楼11111111

第一次占楼给点面子

老师,如果项目都是用token做校验的话那么requests.Session()就不管用了?

咱楼占楼咱楼占楼

问题1:接口测试中,接口请求到的数据和什么地方做对比,跟数据库中的值对比有意义吗
问题2:接口测试主要工作是针对入参值通过边界值,等价类等合法性的组合测试,校验返回值的结果情况,还有其他作用吗

挺好的问题
1、edis未缓存,发起首次请求,断言数据
2、redis已缓存,发起请求,断言数据
3、redis过期,发起请求,断言数据
4、真实接口内容更新,但是redis有未过期缓存,断言是否符合需求

等价类划分

  • redis的状态,未缓存、缓存、过期,过期后重新缓存
  • 接口数据及时性:缓存数据落后于真实数据

可能还需要测试性能,验证redis的加速效果

3 个赞

使用什么做校验,跟session没关系。session是为了更好的管理一些有上下文关系的请求,类似于sessionid、token、cookie机制。可以在这些共同的请求里追加一些通用的数据。

1 个赞

接口测试要判断正确性,这个就算没有对比数据也需要断言的。

第二个是存在对比的情况下,通常的系统测试是不建议使用数据库数据,因为很多架构里是不允许接口测试直接访问数据库的,一旦用了这个功能就会导致用例无法在线上运行。数据库只是中间结果,在读取到响应中可能还会有算法处理,所以要以最终响应结果为准。

有一种例外就是单模块测试,如果把被测模块当成黑盒,那么输入是请求,中间输出是数据库,最终输出是接口响应。这种测试是一种模块测试,可以用数据库做对比校验。使用数据库的时候,不要直接连接数据库,而是通过使用agent来提供数据库的查询,避免密码在测试脚本里被泄漏。

1 个赞

谢谢老师。公司的项目正好可以用上

老师,请问怎么利用agent来进行数据库查询,以提供数据作对比呢

请问老师:如果接口测试涉及到外跳到第三方,根据第三方的回调结果判断的怎么测试呢,比如支付功能,怎么设计用例呢