接口测试

接口测试时测试工程师的必修课
如果不会接口测试,自动化就别提了
1.越早发现bug,修复的成本就越低
接口测试使“测试更早的投入”变成了现实,越能更好的保证软件质量
2.接口测试可以测试一些界面测试无法测试的范围,比如:微服务,不同的服务直接的调用
3.接口测试直接测试后端服务(接口测试是什么类型的测试),发现影响范围更广的bug
一套服务支持多种终端:IOS、android、h5、c/s,接口的bug影响所有用户
4.接口测试更容易与自动化测试系统或者平台结合

文件的上传,UI自动化+接口自动化

接口测试:
基于协议进行测试,实际上是黑盒测试,基本的测试思路就是通过输入和输出判断被测系统或者对象的逻辑

什么是接口:
接口是具有特定输入和特定输出的一套逻辑,而不用知道它的内部实现逻辑
现实中的例子:下单肯德基、电脑上的键盘的按键是电脑向人提供的接口

接口的本质:一种契约,遵循一种形式,开发前期,约定接口接受什么参数,后端处理完之后,返回什么数据给前端
一起联调完成系统逻辑的前期预期,提高研发效率

常见的接口协议:
https、DUBBO、TCP/IP、UDP

如果没有接口文档:
浏览器开发工具
抓包
http请求方法
get和pose有本质区别:
参数传送方式不同,get通过地址栏传输,(接口地址+? key=value &keyvalue),post是用报文传输

http请求参数:

session与cookie
cookie是访问网站时,由网站服务器返回的一种标记为cookie 类型数据,存储在浏览器的上,以后每次访问本网站,浏览器都会在http请求中将该数据发送过来
当请求成功后,session第一次被创建,一个唯一的标识被存储于本地的cookie中的sessionid中
再次打开浏览器后,服务端去与数据库session的id去比对
服务器做了两件事情:
1、在服务器端记录下cookie信息。
2、在将cookie信息发送给客户端
cookie是保存在浏览器上,相对于session 安全级别比较弱。session是放在服务器端

Token鉴权:(面试常问)
鉴权:简单来说,就是要不要登录,一般来说,一个系统的所有接口都需要鉴权才能请求,
也就是说先要请求这个系统的登录接口,拿到服务端响应认证,才能去请求其它接口,
一般放在请求头headers或者body参数里面
比如:登录的接口,提供人员的用户名和密码,去系统中判断该人员是否存在,如果存在,验证用户名和密码,
如果验证通过就返回1个token,该token就是这个人员的通行证,通过token可以登录到系统中去或者请求其它接口;

接口文档:(接口的地址,接口的类型,接口的参数类型(数组,字符串),参数长度,参数是否必填,返回数据实例)
接口测试的测试点,数据驱动
http://127.0.0.1:5000/api/login 参数 username password post
http://127.0.0.1:5000/api/user/list get Token放在headers里面
1.请求登录接口,返回token
2.请求其他接口,比如所有用户列表的接口,token,放在请求头里

常见状态码
1、200 是成功

2、302 重定向

3、400 服务器未做任何处理

4、401 被请求的页面需要账号密码

5、403 与401一样只是不给出提示

6、404 服务器找不到被请求的资源

7、500 请求未完成,服务器遇到不可预知错误


第一个接口测试:
启动postman,点击上方的加号,
创建get请求为例,通常需要写接口url、参数params、头信息headers,
posted @ 2020-03-31 22:26  Murraya  阅读(198)  评论(0编辑  收藏  举报