1. root(测试用例模板)
1.1. 缓存测试
1.1.1. 是否有定时生成缓存,定时时间是否合理
- 1)数据库同步到redis缓存全量刷新校验
- 2)数据库同步到redis缓存增量刷新校验
- 3)redis同步到本地缓存全量刷新校验
- 4)redis同步到本地缓存增量刷新校验
- 5)redis校验不同状态的数据,哪些状态需要同步到redis缓存,哪些状态不需要同步到redis缓存
- 6)redis缓存时间校验
- 7)本地缓存不同状态校验,哪些状态的需要从本地缓存移除
1.1.2. 缓存一致性
1.2. 异常测试
1.2.1. 幂等
- 1)幂等的实现方式: 用例必须提及幂等的实现方式,基于mysql、redis等,针对不同的实现方式设计不同的测试用例
- 2)幂等并发测试: 必须有幂等并发提交,可运行回放平台和mq控制台等,对dubbo\http\mq并发提交请求,可以修改请求数据确保第一次一定是正常
- 3)时序测试 :如果涉及定时任务查询和mq等多种方式改变单据状态,必须构造不同时序的达到,如定时任务先查询再mq或mq先到再定时任务查询,上下游幂等方式是否统一、是否唯一,用例中必须涉及
1.2.2. 异常
- 1)接口服务异常
- 2)网络异常
- 3)超时
- 4)事务异常回滚
- 5)上下游数据不一致处理
1.3. 告警
1.3.1. 告警机制:异常是否有平台或异常错误告警
1.4. 可靠性测试
1.4.1. 重试或渠道错误码验证
- 1)正常错误码处理
- 2)异常错误码处理
- 3)未知错误处理(可通过mock)
1.4.2. 兼容性机制
- 1)服务上下游新老版本兼容
- 2)前后端新老版本兼容
1.4.3. 降级
- 1)核心服务不可用时是否有限流(可通过回放平台验证)
- 2)性能评估
1.4.4. 灰度
- 1)灰度策略
- 2)新老数据兼容
1.5. 数据分片与多线程测试
1.5.1. 分片机制
- 字段取值是否合理,长度是否超过限制
- 是否有重复取值
- 分片大小是否合理,过多或过少?
1.5.2. 多线程
- 是否会取到重复数据
- 取到重复数据的异常处理
- 大数据验证
- 并发验证
1.6. 数据库设计
-
字段长度:名称大于32位或是64位
-
数值精度:至少2位精度
1.7. 状态机测试
1.7.1. 下游返回的状态穷举
1.7.2. 系统本身的状态流转
1.8. 管理页面
-
删除
-
新增
-
删除后新增是否影响历史记录
-
新增后修改
-
文件下载
-
字段长度限制
-
下载数据总量限制
1.8.1. 配置项
-
配置项删除对业务的影响
-
修改后调用业务接口
1.9. 定时任务
- 重复数据是覆盖、更新?
- 数据是否被处理的标识是什么字段
- 分片的字段是哪个
1.10. 数值类
1.10.1. 最大值
1.10.2. 最小值
1.10.3. 小数位数
1.10.4. 四舍五入
1.10.5. 汇总与轧差
- 使用java stream 做sum时,使用了DoubleStream或IntStream导致数据精度缺失或汇总后数值溢出
1.11. 日期类
1.11.1. 多个业务日期
- 支付日期
- 回单日期
- 退票日期
1.11.2. 创建日期
1.11.3. 业务日期
1.11.4. 会计日期
1.11.5. 上游业务日期
1.12. 大数据同步
1.12.1. 已有数据同步策略
- 忽略 inser ignore
- 覆盖 replace
- 更新 update
1.12.2. SQL
- 加减时数值判空 ifnull
1.13. 接口测试
- 下游超时、失败,状态一致性,补偿机制