多测师拱墅校区肖sir_高级金牌讲师_接口测试之接口面试题(7)
作者:互联网
接口面试题
- postman接口测试,它有一个功能可以设置参数化,你有用过吗?
用过,
方法一:((变量)),环境变量设置参数
方法二:通过csv文件设置变量,引用变量
新建一个csv. 文件填写user、pwd新建一个全局变量user、pwd点击body==form-data 填写user、pwd点击run导入csv.文件查看结果
方法三:通过txt文件中设置变量,引用变量
2.你测试过哪些接口?
接口类型:http接口,webserver 接口,
cms项目接口:查询接口,登录接口,添加用户接口,用户管理接口,文章管理接口,删除用户接口,删除栏目接口,修改密码接口
保险项目接口:登录接口,车牌信息接口,投保接口,生成保单接口,银行项目接口:接口接口,提现接口,审批接口,绑卡借款,放款接口,还款接口,逾期接口
3.有做过接口测试吗?接口测试你们是怎么测的?如果用postman你是怎么测试接口的?
(1)情况一:有接口文档的情况
步骤:
(一)从开发哪里拿到接口文档
(二)接口文档中有接口的参数,
(三)根据接口文档编写接口用例
(四)评审接口用例
(五)部署环境
(六)使用接口测试工具进行接口测试
(七)有bug就通过bug管理工具提交给开发修改
(八)修改好bug,在验证bug,在关闭bug
(九)在输出接口测试报告
(2)情况二:没有文档的情况
(一)通过fiddler抓包工具抓接口
(二)抓接口的参数,
(三)根据接口文档编写接口用例
(四)评审接口用例
(五)部署环境
(六)使用接口测试工具进行接口测试
(七)有bug就通过bug管理工具提交给开发修改
(八)修改好bug,在验证bug,在关闭bug
(九)在输出接口测试报告
4.多接口怎么测(postman里面有一个批量处理)
集合====run======执行多个接口postman做接口集合测试注意细节有三点:一、我们要实现批量执行接口用例
二、在批量执行接口用例时,我们需要在对应的用例加断言一般用tests|重命名]responsebody.has(内容)
三、在执行完成后,我们只需关注断言失败的用例(要是密码改不了,需要删除cookie后再登录,再修改密码)执行,首先在collections中新建一个文件夹,把要测试的用例saveas到这个文件夹中,并軍新命名,注意我们的格式和数据,及cookie值是否保存。完成之后,第二步就是来到runner运行,选择文件夹,环境选择、根据参数来选择执行次数。等待时间、参数范围、data数据类型本地本件、文件格式txt,勾是处理编码问题。最后看运行结果,只看body中的参数是否传入中却就可以了,因为有断言。
5.get和past请求的区别
a.get参数有限制,post没有限制
b.get相对比较快,post相对慢
c.post相对get更安全
d.post相对要耗费服务器资源
6.接口请求的基本结构
a. 请求头请求协议,url,请求方式,请求类型等
b. 请求体 参数
7.接口自动化测试怎么做
a.postman
b. 封装调用
c. 框架
8.业务中接口测试的业务请求是怎样的?
a. 流程性业务
注册接口登录接口==产品查询接口接口信息接口审批接口===支付接口
b. 单个接口
比如借款接口参数:借款金额,借款期限,借款时间,响应参数:借款金额,利息,服务费,借款期限,借款时间
9.调用接口异常有哪些测试点?
i. 数据的异常(必填,非必填,为空,超过最大,少于最小,数据)
ii. 协议,请求方法,格式
iii. 环境
iv. 是否存在依赖关系
10.怎么处理接口超时的?如何设置接口超时?
a. 增加超时时间
b. 尝试多调用一次(幂等)
c. 使用待处理队列
d. 回滚数据
e. 使用异步机制
11.一个完整的请求有哪几部分组成?
a. 请求头请求协议,url,请求方式,请求类型
b. 请求体 参数
c. 响应头服务器,版本号,时间
d. 响应体 响应状态码,响应时间,响应结果
12请求方式有哪些?其实HTTP协议是一个广泛应用的Internet协议,
目前常用八种请求方式,分别是GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT.
13、请求正文的文本格式?
(1)form-data,
(2)x-www-form-urlencoded,
(3)raw,
(4)binary
14、请求头包含哪些内容请求
Accept:/ ( 客户端能接收的资源类型)
Accept-Language:en-us (客户端接收的语言类型)Accept-Encoding:gzip,deflate (客户端能接收的压缩数据的类型)Connection:Keep-Alive (维护客户端和服务端的连接关系)Host:localhost:8080 (连接的目标主机和端口号)Referer:http://localhost/links.asp (告诉服务器我来自于哪里)User-Agent:Mozilla/4.0 (客户端版本号的名字)If-Modified-Since:Tue,11 Jul 2000 18:23:51 GMT(缓存时间)
Cookie (客户端暂存服务端的信息)
Date:Tue,11 Jul 2000 18:23:51 GMT (客户端请求服务端的时间)
15.响应头包含哪些内容
HTTP/1.1 (响应采用的协议和版本号)
200 (状态码)
OK (描述信息)
Location:http://www.baidu.com (服务端需要客户端访问的页面路径)Server:apache tomcat (服务端的Web服务端名)
Content-Encoding:gzip (服务端能够发送压缩编码类型)
Content-Length:80 (服务端发送的压缩数据的长度)Content-Language:zh-cn (服务端发送的语言类型)Content-Type:text/html;charset=GB2312 (服务端发送的类型及采用的编码方式)
Set-Cookie:SS=Q0=5Lb_nQ;path=/search (服务端发送到客户端的暂存数据)Cache-Control:no-cache (服务端禁止客户端缓存页面数据)Connection:close(1. 0)/(1. 1)Keep-Alive(维护客户端和服务端的连接关系)
Date:Tue,11 Jul 2000 18:23:51 GMT (服务端响应客户端的时间)在服务器响应客户端的时候,带上
16.常见的http响应状态码
一些常见的状态码为:
200:成功
301/302:请求重定向到另外一个接口
400:请求语法错误
403:资源没有访问权限
404:资源不存在(有可能是请求url错误或参数不正确)
405:请求方法不被允许(比如接口只允许Post,使用Get请求接口)
500:502:网关失效
504:网关请求超时服务器内部错误(通常是服务器挂了或接口Bug)
17ostman参数化设置如何设置?
方法一:《变量}},环境变量设置参数
方法二:通过csv文件设置变量,引用变量
方法三:通过txt文件中设置变量,引用变量
18、postman如何设置断言
打开postman,点击tests,可设置断言,响应时间,响应结果,响应状态码
19.postman如何设置全局变量和环境变量
Postman右上角设置图标,选择Manage Environments点击add填写全局变量名及key value值
20.接口测试用例设计主要考虑哪些方面
业务功能、边界分析、参数组合、异常情况(幂等)、性能测试(响应时间、吞吐量、并发数)、安全等测试
21.fiddler如何抓包
1、选择勾选上https的解密选项。
2、配置https的代理证书
3、将fiddler重启就可以看到可以抓取到https的访问的链接了
22.fiddler如何设断点,为什么设断点
选择fiddler菜单中Rules->Automatic Breakpoints->Before Requests,设置断点,也可以使用快捷键F11;可以修改发送到服务器的数据包,但是修改前需要拦截,即设置断点。设置断点后,开始拦截接下来所有网页,直到取消断点。
22.fiddlers如何手机代理,抓app包
这个设置需要电脑和手机处于同一个局域网下,一般可以使用同一个wifi.保证手机能够连通电脑。
1、勾选上"Allow remote computersto connect”,允许远程设备连接。
2、选择ipconfig获取电脑的lpv4地址将 Fiddler 代理服务器的证书导到手机上才能抓这些APP的包。
3、打开手机wifi,一直点击wifi处,出现修改wifi网络。
4、打开显示高级选项,依次设置如下值(导入的过程打开浏览器,在地址栏中输入代理服务器的IP和端口(即电脑的IP加fiddler的端口),会看到一个Fiddler提供的页面,然后确定安装就好了)
5、在重启一下fiddler就可以看到fiddler抓取手机app中发送包的内容了
6.手机抓包
ios用fiddler抓包docx 3054. 5KR
Handroid用fiddler抓包,docx 126, 4KB
24.开发者工具F12如何查看接口请求
a.打开谷歌浏览器,单击F12,打开开发者工具,选择networkb. 页面进行相关操作,可以看到network下有很多请求
标签:sir,面试题,请求,接口,设置,bug,服务端,客户端 来源: https://www.cnblogs.com/xiaolehua/p/16386159.html