接口测试-杂记
这里记录一下接口测试学习的一些事情
步骤-接口测试流程:
- 参加需求评审,了解需求
- 了解需求的技术方案-得到开发提供的接口结构
- 根据接口描述,编写测试用例
- 测试用例评审-评审后修改测试用例
- 提测后,执行测试用例-先进性冒烟测试,验证主业务正向流程
- 根据业务流程,进行正常流程的覆盖测试
一般用例编写
注:幂等性:用户可能因为网络或者其他原因导致系统重试重发,会导致短时间内重复提交同一数据,要保证用户的多次提交是同一个操作结果
解决幂等:客户端发送同一请求可使用同一个请求标识或者uuid之类的来标识这个请求的唯一性,或者查一下数据是否是重复操作
主要是根据入参来设计测试用例
- 边界值:参数规定了区间范围,选取边界点和外边的点即可
- 特殊字符:入参对特殊字符有要求,验证特殊字符
- 参数类型校验: String、Int等验证
- 必填参数验证:不传参和传参验证
- 组合参数验证:必填+非不填,组合场景验证
- 有效性验证: 例如身份证校验,要知道身份证校验规则,保证真实数据能够校验通过
- 默认值校验:入参是包含默认值的,需要设计不传该参数的用例来验证默认值
- 排重验证;对于不能重复的数据,要重复传入验证
- 幂等性测试,判断该接口是否需要幂等性测试
故障测试
redis三大问题:缓存击穿、缓存穿透、雪崩
- redis缓存击穿:清空redis或者key过期,使用redis中没有但是数据库中有的数据,进行请求,例如获取token等,看看redis会不会被击穿,数据会不会回写到redis里
- redis故障降级测试:redis崩溃,看看数据能否降级到数据库中,能否正常访问,再启动redis,看看数据redis里的数据能否恢复
- 服务故障转移测试;制造数据库数据丢失的场景,启动数据恢复策略,验证是否能正常恢复
- 数据库崩溃测试:制造数据库崩溃,验证多活策略能否启动
- 接口转移测试:接口服务重启,服务有没有异常,集群崩溃,接口是否返回预期错误,是否有重试机制等
线程安全测试
高并发:同时出现大量请求,集中处理请求,可使用分布式、缓存方式去解决高并发问题
处理高测试:
- 并发测试:并发相同参数的请求,看看是不是只有1条成功,其余失败
- 分布式测试:
- 数据库安全测试:数据库读写安全,同时进行并发写操作,验证是否有数据不一致,数据完整性。