常见的接口测试一般从以下两个方面进行测试
1. 功能性
功能性方面,其实就是用我们常用的黑盒测试方法去进行测试,例如:等价类、边界值、正交实验…
主要是为了确保这个接口能实现基本的功能。
2. 安全性
安全性可以分下面四个点来说
- 用户鉴权:
检查没有权限的用户是否能做需要权限的操作。 - 用户认证:
例如:需要传验证码认证,我不传验证码,或者传错误的验证码。
不带cookie是否可以成功登录。 - 接口加密 :
检查接口是否加了密,以及加密方式是否正确。 - 依赖与登录状态(cookie、token):
因为依赖登录状态,所以有些操作是需要带上cookie/token才可进行操作
例如:
验证生成的token的正确性(生成的token是加密的)
进行操作时,不带cookie/token是否可以进行操作
带错误的cookie/token是否可以进行操作
到达过期时间后,cookie/token是否正常过期
cookie/token过期后,是否仍然可以进行操作(验证时效性)
在深入一点,还可以在从以下两个方面进行测试
3. 性能
- 多用户共同访问同一个接口,会不会出问题
多用户同时进行操作,通常访问的是同一张表,如果数据库设计的不合理,没有加锁(解决高并发),可能就会把表锁起来(例如:在别人对某一条记录执行了DML语句而没有COMMIT时,你若想修改/删除时,数据库为了防止”脏数据“、”脏写“,所以这个表对你来说就被锁了)。 - 从线程的角度,有没有加线程锁
如果没有加锁,两个用户同时进行操作时,是否按照了顺序或者是什么规则来执行。
4. 容错
例:输入异常(例如非法数据),关注异常处理是否生效且正确处理。
以上仅是个人观点,如果有自己的看法或者要补充的,欢迎留下评论!