一、做接口测试的目的?常见的接口类型有哪些?
做接口测试的目的 :1、进行系统集成测试,暴露BUG;
2、解决系统测试复杂度;
3、屏蔽UI层的不稳定性;
4、检查系统的安全性、稳定性;
5、接口经过测试稳定了,前端页面可以随便改,减少bug的产生
常见的接口类型:
HTTP接口—— 通过get和post方式得到数据,请 求 报 文 入 参 有 多 种 形 式 ,返 回 报 文 一 般 为 json串
WebSerivce接口 —— 通过soap协议得到数据,相比Httpservice能处理更加 复杂的数据类型,请求报文和返回报文xml格式,通 过 SoapUI 工 具进行测试
二、通过做接口测试能发现哪些问题?
1、接口可用性
2、输入输出参数个数及命名
3、 输入参数的必填项
4、输入参数的合法性
5、输出参数内容的正确性
6、接口实现功能验证
7、接口文档规范性
8、接口传递参数的安全性
三、单接口测试的测试点有哪些
1、json格式测试:
通常我们的接口一般设计的都是传递json串,那么就需要去测试
如果传递非json的情况,这时候程序会不会正确的处理,返回相应的 error code
2、默认值测试:
很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量,
默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。
3、异常类型测试:
比如上面的count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以转换为int类型值来测试代码是否加入判断
4、必传项测试:
如果接口的参数有必传项,那么需要测试在不传这个参数的时候接口返回情况,测试是否会提示
相应的error code
5、非必传项测试:
如果接口有非必填项,当我不传递这些参数的时候会不会正常的返回相应的结果
6.非空测试:
无论是必传的和非必传的参数,传递的key是正确的,但是value=null,这时候返回结果是否正确
7.业务逻辑测试:
传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行
增删改的操作,也需要看数据库是否同步进行了这些操作
8.兼容性测试:
比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式
9.错误码测试:
通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况
10.数据异常测试:
假如数据库设计为32位varchar类型,那么如果传33位会是什么情况,会不会抛出相应的错误码,而不会抛出数据库异常
11.返回值测试:
返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析
12.加密测试:
组合接口测试(场景测试)
单个的接口测试通过后,需要将单个的接口组成连续的场景,比如说投资接口需要用到一个类似token的 参数,而这个参数是登陆接口获取到的,所以就需要先调用登陆接口,然后再去调用投资接口。还有就是 像数据权限与操作权限这些,都会依赖一些其他的接口,那么把这些依赖的接口组成一个场景来测试数据的 正确性。还有一部分接口是内部调用的,比如说注册接口,在注册的时候通常需要获取一个验证码,然后输入 验证码再进行提交注册的操作,在这过程中,验证验证码的操作是在注册的内部完成的,那么其实在组合场景 的时候就不需要再去中间加入验证验证码的接口。