接口测试基本测试点
作者:互联网
接口测试经常遇到的bug和问题,如下:
(1)传入参数处理不当,导致程序crash;
(2)类型溢出,导致数据读出和写入不一致;
(3)因对象权限未进行校验,可以访问其他用户敏感信息;
(4)状态处理不当,导致逻辑出现错乱;
(5)逻辑校验不完善,可利用漏洞获取非正当利益等,例如是否加锁问题。
入参校验:
数值型:负数、0、小数、边界值、取值范围内外、是否必填、非法参数
字符串类型:敏感词汇、字数限制、特殊字符、空字符串、是否必填、非法参数
响应校验:
响应时间校验:可接受范围为2s左右(2000ms左右),最多不能超过3s。该指标为通用指标,若开发提供了具体范围,以开发要求为准
响应情况校验:正常情况返回值、异常情况返回值(可根据异常情况返回值反推测试场景)
响应数据中是否包含需求文档中要求的所有信息
响应数据是否包含敏感数据:本不该显示的数据但是接口返回了
关键数据是否进行了加密显示:比如登陆接口的用户名和密码是否加密
安全校验:
越权校验:通过修改表示身份的字段来做跨权限请求。比如某个功能只有A权限用户可以使用,通过接口传B权限用户,验证是否能使用该功能
信息泄漏:通过抓包,检查所请求的接口返回的数据,看有没有包含可利用的字段。比如登陆接口的用户名和密码是否加密 ;支付接口中,涉及用户的身份证号码、银行卡卡号、银行卡CVV码等之类的信息有无加密
业务逻辑校验如下:
功能操作类接口
- 身份校验:自己是否符合操作条件(举例:只有房主可以提交,a向b求婚,只有b能拒绝a的求婚,c不能拒绝)
- 次数校验:重复提交是否做了限制(举例:无限发feed) 是否涉及资源的下发(举例:提交获得积分)
- 高低版本校验:版本相关接口需注意
充值类接口
- 身份校验:实名认证、未成年等
- 人民币校验:人民币充足、人民币不足
- 支付方式校验:微信、支付宝,非法渠道、等等
- 支付金额篡改校验:例如充值6元购买42钻石,通过接口改成0.01元购买42钻石是否可以
- 充值次数校验:例如一天不能超过5次
- 商品id校验:正确的,错误的,非法的(例如充值6元购买42钻石,通过接口改成6元购买126钻石)
- 订单id校验:正确的,错误的,非法的。订单id最好随机生成,不要+1进行生成
- 资源下发校验:充值成功-人民币扣除相应金额,下发对应资源,充值失败-不扣除人民币,不下发对应资源
- 数据库相关校验:数据库写入以及数据状态变化
- 并发
购买类接口
- 购买资格校验:等级限制、新老用户、首次、非首次、未成年、实名认证,等等
- 购买所花费的金额校验:例如使用钻石购买礼物,钻石充足、钻石不足
- 购买物品的金额校验:0、负数、随意修改物品金额、修改最终总金额(举例:购买小玩礼物需花费10钻石,改成9钻石是否可以)
- 购买资金类型校验:例如只能使用钻石购买,使用金币购买是否成功
- 购买数量校验:0、负数、边界值
- 购买次数校验:边界值。例如只能购买一次
- 购买时间校验:期限内、期限外
- 资源下发校验:购买成功 - 扣除购买花费的金额,下发资源;购买失败 - 不扣除金额,资源不下发
- 折扣类校验:时效性,即过期时间校验
- 优惠券类校验:使用条件、使用时效,优惠券id校验
- 数据库相关校验:数据库写入以及数据状态变化
- 并发
兑换类接口
- 兑换资格校验:等级限制、新老用户、首次、非首次、未成年、实名认证,等等
- 兑换所花费的物资校验:物资充足、物资不足
- 兑换类型校验:例如a只能兑换b,c只能兑换d,校验a是否可以兑换d
- 兑换数量校验:0、负数、边界值 兑换次数限制:例如只能兑换一次
- 兑换时间校验:期限内、期限外
- 资源下发校验:a兑换b,兑换成功 – a扣除、b下发;兑换失败 - a不扣除,b不下发
- 数据库相关校验:数据库写入以及数据状态变化
- 并发
抽奖类接口
- 抽奖资格校验:等级限制、新老用户、首次、非首次、未成年、实名认证,等等
- 抽奖花费的金额校验:金额充足、金额不足
- 抽奖次数校验:例如一天3次。例如一次1连抽、10连抽、100连抽,等等
- 资源下发校验:抽奖成功 - 扣除抽奖金额,下发资源;抽奖失败,不扣除抽奖金额,资源不下发。校验资源是否在奖池范围内
- 库存限制校验:例如环游世界,一天只设置一个库存。在并发时是否会存在多下发的情况,尤其注意周边奖品 奖品资源消耗尽:考虑替代奖励下发情况
- 抢购类:规定限额数量的奖品,供多用户抢购,需考虑多用户并发情况
- 数据库相关校验:数据库写入以及数据状态变化
- 并发
领取奖励类接口
- 领取资格校验:例如需完成任务领取;例如只有新用户才可以领取,等等
- 领取状态校验:例如红包倒计时状态、可领取状态、已领取状态、已过期状态,等等
- 资源下发校验:领取成功-资源下发;领取失败-资源不下发
- 数据库相关校验:数据库写入以及数据状态变化
- 并发
获取列表数据类接口
- 是否有分页需求:客户端、服务端
- 分页是否去重:第1页的最后一项与第2页的第一项
- 空页面
上下文关联类接口
- 接口先后顺序正向校验:例如发起一个邀请链接,点击邀请链接加入相关组、团
- 接口先后顺序反向校验:例如未发起邀请,直接请求同意的接口
- a接口返回值包含b接口入参
标签:测试点,是否,校验,接口,下发,兑换,购买,测试 来源: https://blog.csdn.net/weixin_43901515/article/details/116026403