1、输入
- 正常入参
- 参数异常:参数为空、参数多了或少了、错误参数数据异常:数据类型、判空、长度、特殊字符、枚举;
- 举例:前端传入的参数要求40个字母数组组合,那么后端校验应该是白名单,只允许数字,字母,点输入,其他全部拦截。
2、业务逻辑
入参的限制条件分析:
- 1数值的限制:字典、等级、行业相关的限制、金额限制、分数限制等
- 2.状态的限制:有效|无效、在线|离线、拉黑|洗白
- 3.关系的限制:存在|不存在、绑定|解绑等
- 4.权限的限制:管理员、普通用户等
数据对象分析
- 1.对象分析主要是对合法和不合法的对象进行操作,如果银行卡用户对卡进行充值,则可能存在:用户A使用非用户A的卡进行充值。
- 2.用户A使用自己的卡进行充值,卡已过有效期等
数据状态转换的分析
- 支付成功、撤销支付、再次支付、支付失败等等状态是否能正常切换
- 流程时序分析
- 工作流或者数据流都是按照流程才能正常处理,如果有其他异常情况怎么处理?
3、输出
- 返回值:是否有敏感值
- ey-value 返回值:提示是否有好
- 返回值:业务提示是否正常
4、数据库
- 业务数据入库是否正常、是否有重复数据、是否乱码
- Worksi 数据更新是否正常、时间更新是否正常
- 每个字段,尤其核心字段是否符合预期
5、安全
- 敏感信息是否加密:用户名、银行账号、密码、转账金额
- 核心业务是否流控:特定时间内发生业务的次数限制,尤其针对银行类业务需要格外关注
6、性能
- 接口支持最大并发数
- 接口每秒能处理多少次业务:TPS响应时间
- 服务器资源消耗:CPU、内存、网络、磁盘
7、兼容性
- 新接口是否能容老的数据
8、幂等性
- 如果一个API发送两次同样的请求,怎么处理?