一、为什么要进行接口测试
1.可以跳过页面的限制发送请求,比如会员充值接口,在web上做功能测试时无问题,绕过页面用jmeter取测试时,输入负数也能充值成功,这是很大的bug。
2.提前介入测试,后端开发把接口开发好就可以接口测试了,提高测试效率
3.后期可以对接口进行自动化测试
二、接口测试你们是怎么做的
1.流程 拿到接口文档→进行通过性测试
1.1输入的参数类型进行测试,比如字符型,整数型
1.2输入参数的边界值进行测试
1.3输入参数的各种组合,必填项,非必填项
1.4参数之间的逻辑
最后,接口测试一般是用jmeter去测试
三、抓包工具的原理是什么
相当于一个代理服务器,终端设备发出请求,经过抓包工具再达到服务器,服务器返回数据,经过抓包工具劫持,再到终端设备
四、怎么设置弱网测试
1.打开fidller中的模拟网络设置 Rules—Performance—Simulate Modem Speeds
2.修改上传和下载的参数 Rules—Customize Rules ctrl+f upload 回车
五、接口文档都有什么东西
1.接口概述
(1)接口地址
(2)返回格式
(3)请求方式
(4)请求实例
2.请求参数说明
3.返回参数说明
六、get和post请求的区别?
get请求参数放在url,post请求参数放在body,
post请求相对于get请求来说要安全点,
get请求重点是从服务器上获取资源,post请求在向服务器发送数据,
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
post支持标准字符集,可以正确传递中文字符
七、请求和响应由哪些部分组成?
请求行、请求头、空一行、请求body 响应:状态行 、报头、空行、响应正文(返回资源数据)
八、请求头有哪些内容?
content-type user-agent、cookie、token等等
Client: 客户机
Accept: 浏览器可接受的媒体类型
Accept-Language: 语言
Accept-Encoding:编码格式
User-Agent:客户端类型
Cookie:储存在用户本地终端上的数据 或者authorization(token):授权
Entity: 实体
Content-Type:发送post时候,body的数据类型声明
Referer:引用
POST请求中常见Content-type的类型有 Json form-urlencode form-data(表单) text/xml
九、jmeter报错了怎么办?
先看响应提示,根据提示找错误,再看请求,查看问题点。
十、token是什么?
token可以理解为令牌的意思,api请求时都需要带上token,token一般保存在cookie或者数据中。
十一、cookie和session的区别
Cookie的数据保存在客户端,一般由浏览器负责存储在本地
Session的数据保存在服务器端,一般放在服务器的内存里
我们可以轻松访问cookie值但是我们无法轻松访问会话值,因此session更安全
cookie的存储限制了数据量,只允许4KB,而session是无限量的
十二、http有几个版本,1.0和1.1有什么区别
有3个版本,0.9,1.0,1.1
HTTP/1.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象
HTTP/1.1默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)
HTTP 1.1则支持持久连接Persistent Connection, 并且默认使用persistent connection. 在同一个tcp的连接中可以传送多个HTTP请求和响应.
多个请求和响应可以重叠,多个请求和响应可以同时进行. 更加多的请求头和响应头(比如HTTP1.0没有host的字段
十三.content-type类型不一样时,jmeter相应地要怎么填写
类型是form时,jmeter的参数填在parameters中,类型是json时,jmeter的参数填在body data中
十四、http、https有什么区别
1. HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
3. HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
4. 在OSI 网络模型中,HTTP工作于应用层,而HTTPS 工作在传输层
5. HTTP 无法加密,而HTTPS 对传输的数据进行加密
6. HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书
十五、上一个接口的参数怎么传到下一个接口
通过关联,上一个接口的响应使用正则或JSON提取器提取数据放在变量中,下一个接口请求引用变量。
比如登录后要添加品牌,保留token需要用到JSON Extrator,还有${引用名}
十六、你是怎么使用Jmerter的?
- 添加线程组
- 添加Http请求
- 编写请求内容
- 强化脚本 (参数化和关联)
- 添加察看结果树、加断言