接口测试-面试篇-怎么设计接口用例
初级测试人员的回答
场景法:
正常登陆场景测试:正向用例
正确用户名,正确密码看返回数据是否是成功报文 : code:100
密码错误场景测试:反向用例
正确用户名,错误密码看返回数据是否是正常处理的报文:code:200
边界值:
登录密码6~10位:
5 6 7 9 10 11
数据异常:
字符类型:Username=terry&password=123456(password必须包含字母、数字)
混合校验:Username=terry&password=1234(password必须为6~10位的字母加数字)
参数异常:
正常username=terry&password=123456
多参:username=terry&password=123456&age=25(传入不符合规则的age参数)
少参:只传入username=terry 或者password=123456
无参:username=&password= 只传参数名称,不传对应值
数据安全:SQL 注入,越权访问
SQL 注入:username=terry&password=1' or '1' = '1
权限控制:未登录状态下转账/打车/上传,支付过订单的用户有权限抽奖
中级测试人员的回答(安全性)
与功能测试的区别:接口测试主要是为了去检查数据的一个交换和控制,还有整个系统与系统之间互相依赖,互相逻辑的一个关系
接口测试我们一般是测试系统和系统之间,服务和服务之间,上层和下层之间这样的一个调动关系
从下面几个方向设计测试用例:
1.检查数据的正确性
我们去访问一个接口,拿到数据后,需要跟数据库进行一个对比,查看是否正确
2.输入不同参数
比如非空校验,边界值,测试一下会不会出现异常
3.接口的兼容性
瞎传一些信息查看这个接口会不会崩掉
4.校验接口的安全性
比如一些用户名密码,还有一些银行卡,与金额相关的隐私的信息,看一下是不是打码了,或者是用了其他的uid,MD5之类的加密算法
还需要查看这个接口是不是防止sql注入
5.最后校验是否和老版本兼容
用老版本的方式访问新版本的接口,查看是否能访问