接口测试
1、基本概念:
接口:什么是接口呢?接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。
通俗的来说接口测试就是功能测试:
通常的接口测试比ui测试还简单,不需要校验页面的测试点,只关注返回值即可。
日常测试的都是程序对外部的接口(换种方式说就是我们测试人员用测试外部接口的方式来验证开发写的程序内部代码,内部接口的正确性)。
也可以理解成接口测试就是各种操作数据库。
区别:
页面测试主要关注的是页面上的功能点和业务,而接口的测试主要关注的是页面和服务的(也包括服务和服务的)交互过程;
接口测试可以发现一些页面上操作发现不了的bug(因为功能测试有时是会规避掉接口的一些异常性测试点)。
越早发现bug,解决bug的成本是越低的。
服务分为:前端(客户端),后端(服务的,server端)
常用前端语言:html,css,js。。。
常用后端语言:java,php,python。。。
2、接口文档要求:
1、url
2、请求方式 post、get
3、入参(请求参数)
4、返回参数
5、请求、返回示例
6、状态码说明
3、接口测试用例模板
咱们测试接口的话,肯定要写测试用例,写测试用例的话,就要有一个用例模板,那需要有哪些字段呢?
1、项目 是哪个项目的
2、模块 这个接口是属于哪个功能模块的
3、用例id
4、接口名称
5、用例标题 用例是干嘛的
6、请求方式 GET/POST
7、请求url url地址
8、请求参数
9、前置条件 有依赖的时候,比如说要测登录失败3次的
10、结果验证 预期结果
11、请求报文
12、返回报文
13、测试结果 通过/失败
14、测试人员
接口返回的数据类型:json
4、接口测试必要性:
一、可以发现很多在页面上操作发现不了的bug
二、检查系统的异常处理能力
三、检查系统的安全性、稳定性
四、前端随便变,接口测好了,后端不用变
5、接口测试流程:
一、需求评审,熟悉业务和需求
二、开发提供接口文档
三、编写接口测试用例
四、用例评审
五、提测后开始测试
六、提交测试报告
6、http请求
GET和POST请求:
如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送。
GET请求和POST请求的区别:
1、GET使用URL或Cookie传参。而POST将数据放在BODY中。
2、GET的URL会有长度上的限制,则POST的数据则可以非常大。
3、POST比GET安全,因为数据在地址栏上不可见。
4、一般get请求用来获取数据,post请求用来发送数据。
其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。所以上面这些面试的时候你说出来就行了。
7、http状态码:
每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种: 1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。
2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,
3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面
4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果
如果是get请求,直接用浏览器就能发,不需要借助工具。
1、get
http://xxxxxx/api/user/stu_info?stu_name=ooo&id=1
http请求
请求头
请求体
get请求他没有请求体,只有请求头
get请求的参数只能写在url里面
或者cookie里面
post
请求头
请求体
请参数放在请求体里面
8、Cookie和session区别
cookie
存在你本地的一个键值对。
AAAA sdfjsdkf342342
session
存在服务端的一个键值对。
AAAA sdfjsdkf342342
接口签名
为了防止别人恶意刷请求。
它一个加密之后的字符串。
http://api.xxx.cn/reg?username=xxx&passwd=xxx&sign=8eea855efc702130d9c9cafcd9f4d91a
他时若逐凌云志,敢笑黄巢不丈夫!
PS:若有错误,敬请告知,不胜感激!

浙公网安备 33010602011771号