接口测试的五个重要的测试点
一、功能测试
接口的功能是否实现、接口是否按照设计文档实现(如:username参数写成了user)———接口文档是在整个开发中使用,所以接口设计要与接口文档的设计保持一致。
1、兼容性测试:如:接口进行了调整,前端页面未变更----需要验证新的接口是否满正旧的调用方式;
2、错误码测试:通用测试码与业务测试码是否能够清晰的说明调用问题,错误码是否能尽可能全的覆盖所有情况;
3、返回值测试:返回值要保证内容需要的正确性和类型的正确性,保证调用方获取参数能够正确的解析;
4、json格式测试:通常我们的接口设计一般都是传递json串,这种情况下就需要测试传入非json串时,程序能不能得到正确的处理,返回相应的error code;
5、默认值测试:一些非必填的参数都会有默认值---这里需要有一条case对默认值的数据进行测试,查看默认值是否正确;
6、参数边界值、等价类测试。
二、逻辑业务测试
是否有依赖业务,比如查看订单,需要用户登录
逻辑业务测试:传递正确的参数,接口对数据库进行查询操作,需要去验证数据库查询是否正确,接口对数据库进行增删改操作也需要验证数据库是否同步了这些操作。
三、异常操作
异常分为两类:参数异常和数据异常
1、参数异常
1>关键字参数:将参数写为开发语言中的关键字;
2>参数为空:比如去掉username参数
3>多或少参数??
4>错误参数:比如将username写成了user是否能返回相应的error code
2、数据异常
1>关键字数据:将参数的值填为开发语言中的关键字;
2>数据为空:将参数的值填为空;
3>长度不一致:填写与数据库设置字段长度不一致的长度进行验证;
4>错误数据:将参数的值任意填写,或者填写不存在的值;
5>异常类型测试:比如int型,填为float型
四、性能测试
1、响应时间
2、吞吐量
3、并发用户数
4、占用内存、CPU等
五、安全性测试
1、敏感信息是否加密
2、必要的参数是否前后端都进行了限制
3、接口是否防恶意请求(SQL注入)
4、cookie:将header中的cookie修改或者删除是否能返回相应的error code
5、header:修改或者删除header中的一些参数值,是否能返回相应的error code
6、唯一识别码:删除修改唯一识别码的测试