接口测试思路及用例编写
一、基本功能流程测试
冒烟测试
正常业务流程覆盖测试
- 参数合法的情况下接口基础功能测试;
- 正常的业务逻辑测试;
- 输出接口用例;
基于输入域的测试
- 边界值测试;(比如:参数长度边界等)
- 特殊字符的校验;(比如:参数输入*&$#等特殊字符的校验)
- 必选参数校验;(比如:不传入必传参数的校验)
- 接口幂等性校验;(比如:更新、插入数据,需要多次调用,检查接口是否正确)
- 排重逻辑校验;(比如:注册同一个手机号,同一个邮箱等)
- 组合参数校验;
- 参数类型校验;(比如:各种下单类型的校验;)
- 等价类;(取值范围内,取值范围外)
故障注入法
- Redis故障降级测试;(比如:redis清空数据,redis崩溃场景等)
- MQ消息积压场景测试; (比如:制造MQ消息积压场景(下单);故障恢复后是否能够正常处理积压消息,数据无丢失等;MQ崩溃等回复情况)
- 服务故障转移测试;(比如:DB崩溃,DB数据丢失,是否能够正常恢复,并不影响业务流程;接口服务异常,是否能够保证服务正常运行;具有重试机制等)
线程安全测试
- 多个线程同时对某一个对象进行读写操作是,比如读/减库存、排重写入逻辑,需要注意线程安全和分布式锁的问题,需要读写操作进行一个分布式的并发场景测试;
- 接口并发测试,接口分布式测试,接口数据库读写安全测试;(只有一条数据插入成功,其他请求失败!数据库操作更新和插入都能正常进行,互不影响;)