1,基本功能测试(业务测试)
根据需求文档和接口设计文档的转译,需要清楚业务流程规则和每个接口的使用场景方式,设计符合业务逻辑和接口使用场景的用例
2,边界分析测试
考虑接口输入输出参数的影响,采用等价类,边界值分析法等测试用例设计方法;
1) 覆盖所有必选参数;
2) 组合可选参数;
3) 参数携带,不携带,或为null;
4) 传参的顺序,个数,类型;
5) 参数类型数值大小,输入的数值范围;
6) 参数字串长短,null,min,max,max+1;
7) 参数包括特殊字符;
3,参数组合测试
在边界分析的基础上,考虑输入条件的组合,输入条件之间的相互制约关系。主要使用因果图法进行用例设计。
4,异常情况测试
接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其它逻辑造成的,程序需要对任何异常都进行处理;
5,幂等级测试
对同一个接口,不修改任何传入的参数,重复提交,查看系统是如何处理的;如一个支付的接口,第二次提交的时候肯定不允许提交成功;
6,并发测试
两个以上用户同时操作同一使用场景时,可能出现争夺资源,死锁等现象;
7,事务性测试
一个业务流程包含多个操作步骤,如果某个操作失败,那么整个操作需要回滚。或者调用前一个操作步骤的逆向接口进行操作取消;
8,大数据量测试
数据库里数据量超大时(百万级),测试对DB进行增删改查操作的效率;
9,环境异常测试
关联系统出现宕机,超时或者无响应的状态时,接口返回提示正确,业务逻辑正确,不可存在事务性不一致的情况。
接口请求超时,空指针,WEB服务器或者数据库等异常等
10,接口安全测试
[if !supportLists]1) [endif]TOKEN鉴权
正常TOKEN;TOKEN为空;TOKEN过期;TOKEN非法。
[if !supportLists]2) [endif]越权
横向越权;纵向越权。
[if !supportLists]3) [endif]SQL注入,XSS攻击
参数包含攻击特殊字符
[if !supportLists]4) [endif]接口响应数据
数据据表名,库名,接口路径,方法,堆栈信息不能出现在响应消息体中;另外用户敏感信息,如真实姓名,手机号,住址,邮件等不能明文打印。