接口测试基础
接口测试:官方解释就是测试系统组件间接口的一种测试;是功能测试中的一种;就是前端和后端直接的数据传递的测试,所以认为是可以归于灰盒测试的一种。
可能很多测试同事并没有专门测试过接口,但是在测试的过程中经常是遇到的
- 比如我们测试web应用的时候,我们F12打开控制台,在页面操作的时候,我们能看到各种请求,其中就有很多前端向后端发起的请求,这种请求其实就是前端client在调用后端server的接口。
- 一个接口的请求,主要包括的有:请求头、请求体(截图中下方红框内的就是请求体,即具体传递的参数)
- 我们在测试的过程中,出问题的时候,测试人员就可以通过观察请求体里的参数或者请求返回的数据,来定位是前端的bug还是后端的bug,即可能是前端的参数传入不对导致不能返回正常的数据,或者是后端的逻辑处理不对以致出了bug。
-
接口介绍
- 接口相当于是一堆函数的集成,在项目开发过程中,常常是后端开发的同事,会制定前后交互所需要使用到的接口。即说明该接口的传参,已及各种请求的返回情况
- **如图是一个接口,请求的地址是一个url,请求的方式是post请求,入参的格式是 json格式,每一个参数的参数名,是否必填,数据类型是什么,以及参数的说明;每个请求都有对应的返回,会返回哪些字段,值代表什么意思。
- **目前我们的接口,大部分是通过http协议,而常见又主要分get和post请求。
-
接口测试的必要性
1、发现一页面上操作不能发现的BUG。
2、检查系统安全性,比如一些对数据库增删改的接口。
3、检查一些异常处理,当前端的校验出问题不能拦截一些异常的时候,接口可以进行拦截。接口测试流程
1、熟悉业务与需求,能知道接口测试场景
2、熟悉开发给出的接口文档,知道接口的参数,在测试前期可以针对性的造数据
3、根据业务需求,编写接口测试用例
4、用例评审
5、执行测试,完成测试后提交测试报告接口测试的途径
get请求方式的接口,可以在浏览器直接输入,也可以使用工具如postman
get请求参数的方式 比较简单,直接在url后面进行拼接,格式为:url?param=value¶m2=valuepost请求方式的接口,不能在浏览器直接输入,只得借助工具如postman
post请求的参数,常见为json格式,如`{ “username”:“TOM”, "age":"18" }
HTTP :post与get区别
1、get直接通过url传参,而post的参数在请求体里面
2、get的数据在url中可见,相对于来较post不安全
3、get请求一般是获取数据,而post获取数据、也可发送数据