关于接口测试,我们需要知道的
对于新人尤其是非对口专业的新人来说,可能会不大了解什么是接口(API),什么是接口测试,我们该怎么做(当年的我也是如此)。
抽空整理下关于接口测试的一些内容,希望能为新手小白解惑,同时也是自我知识的梳理。
还不知道什么是接口测试的,。
常见的web接口有http接口(基于http协议)、webservice接口(基于soup等协议)。
今天要讨论的是web接口中的http接口。
一个接口包含这么几部分:协议,IP、端口(也可以是Host),请求路径,参数及参数值,请求体,请求方式,请求头。
常见的有http和https,https是加密的http请求,传输数据更安全
如:127.0.0.1:8080,也可以是域名,通常叫Host
易见的有以下几种:
get:获取数据
post:提交数据,如表单,一般是新加内容
put:修改数据,有时候也会用post
delete:删除数据
当然还有其他的,这个在postman的请求方式选择菜单中可以看到,稍作了解就好。
接口路径后“?”后的那一段,key=value这种形式,多个参数用“&”连接
请求正文,可以是表单,也可以是json、xml、html等格式。
客户端环境以及一些请求的校验信息,如:cookie、token等。
在我刚接触接口时,查阅了网上的一些资料,都是告诉我们先怎么抓包,怎么识别接口,然后再模拟接口请求,所以就走进了一个误区:测接口,先抓包。
其实不是这样的,后端开发出接口后,一般都有接口说明文档的,包含前面说到的接口的各个部分和返回参数说明,我们只要参考说明文档,利用接口测试工具来组装接口,发送请求就行了。
在上一篇文章中,有提到做接口测试能让测试先行,提前发现并解决部分问题。像我现在所在的公司,就我一个测试,如果等到app开发完提测了,要做接口测试,又要做前端的功能测试,那估计上线时间就要推迟了。
接口测试其实也是一种功能测试,所以在设计用例时可以参照功能测试用例的思路。
从大方向来说,可以归结为以下几点:
1、单接口的测试用例设计
2、业务逻辑测试用例设计
支付密码连续输入5次后,冻结24小时;
注册成功后,需要自动登录(登录接口要返回用户token);
闯关需要消耗精力;
拼手气红包不能多发
......
3、其他场景
接口响应时间不能超过200ms;
敏感信息需要加密;
并发测试,大量数据测试等。
接口测试的工具有很多,推荐postman和Jmeter。
注意:
在Jmeter中,如果是https请求,端口号填443;
当Body Data添加内容后,需要注意在请求头里添加对应的Content-Type,如:请求体是json格式时,添加Content-Type的值为application/json(我第一次在Jmeter中添加请求体是json格式的接口时,就踩了这个坑)
说到底工具只是一种手段,一种工具会用了,举一反三,其他工具也不会太难。了解原理,理解业务,把握核心才是关键。
受限于经验和文笔,不对之处,欢迎留言指正