肖sir__ 接口测试面试题(12.2)

1.postman接口测试,它有一个功能可以设置参数化,你有用过吗

(1)有

(2){{}}

a、设置环境变量

b、在run中通过导入csv文件引用变量

2.你测试过哪些接口

接口类型: http 接口 webserver 接口

项目中接口:登录接口;添加用户接口;查询栏目接口;文章管理接口,删除用户接口   删除栏目接口

a.基础资料上传接口、b.商品下架接口、c.商品资料变更接口、d.店铺基础信息上传接口、e.商品价格、库存同步接口、f.获取电商订单信息接口、g.调换货接口、h.退货接口、i.会员资料获

 

3.有做过接口测试吗?接口测试你们是怎么测的?(postman)

(1)做过

(2)a、讲解接口测试流程:

(1)情况一:有接口文档的情况
步骤:
(一)从开发哪里拿到接口文档
(二)接口文档中有接口的参数,
(三)根据接口文档编写接口用例
(四)评审接口用例
(五)部署环境
(六)使用接口测试工具进行接口测试
(七)有bug就通过bug管理工具提交给开发修改
(八)修改好bug,在验证bug,在关闭bug
(九)在输出接口测试报告
(2)情况二:没有文档的情况
(一)通过fiddler抓包工具抓接口
(二)抓接口的参数,
(三)根据接口文档编写接口用例
(四)评审接口用例
(五)部署环境
(六)使用接口测试工具进行接口测试
(七)有bug就通过bug管理工具提交给开发修改
(八)修改好bug,在验证bug,在关闭bug
(九)在输出接口测试报告

讲解方法b:通过postman工具来测试:比如

 

我做的借款接口、打开postman,选择post请求,因为入参,填写接口路径(协议+ip/域名+接口路径),点击body选择入参格式,输入参参数如下:

 

{

 

    "code": "ABCDEF",

 

    "method": "loanCalculate",

 

    "data": {

 

        "loanAmount": 100000,

 

        "loanTerm": 15

 

    },

 

    "sign": "{签名规则参考 接口请求签名章节}",

 

    "timestamp": 1500693926

 

}

 

参数输入好以后,在test中进行断言,一般断言响应状态码、响应内容、响应时间

 

tests["Body is correct"] = responseBody === "response_body_string";

 

tests["Response time is less than 200ms"] = responseTime < 200;

 

tests["Status code is 200"] = responseCode.code === 200;

 

选择一个环境,点击send发送;

 

在先看响应头和响应体内容:根据业务逻辑:

 

成功返回:

 

{

 

    "code": "success",

 

    "message": "请求成功",

 

    "result": {

 

        "repayAmount":115000,

 

        "receiveAmount":100000,

 

        "interestFee":10000,

 

        "serviceFee":5000,

 

        "serviceFeeDesc":""

 

    }

 

}

 

如果请求失败则返回:

 

{

 

    "code": "error",

 

    "message": "验签失败"

 

}

 

关联接口、依赖接口、接口参数

 

 

 

4.多接口怎么测(postman里面有一个批量处理)

(1)将多个接口放至一个项目文件夹中,点击run,选择环境变量、修改运行次数和延迟秒数、选中csv文件,点击运行进行测试

 

5.getpost请求的区别

a、get的参数在url上,post的入参在body中

b、get的请求速度高于post

c、post的请求的安全性高于get请求

d、post请求参数的大小不限制,get的请求参数大小有限制

e、post的请求参数格式可以多种,get的请求参数就只有字符格式

f、get请求可以被缓存,post不会被缓存

 

6.接口请求的基本结构

1、请求协议

2、请求方法

3、请求地址(域名和ip地址)

4、请求路径

5、请求的入参格式

6、接口请求的端口号

 

7.业务中接口测试的业务请求是怎样的?

比如:登录接口:http://cms.duoceshi.cn/manage/loginJump.do 

更改入参参数:

userAccount:
loginPwd:

业务:

a、登录成功,

b、登录帐号不存在!

c、登录帐号不能为空!

d、登录密码不正确!

e、"登录密码不能为空!",

8.调用接口异常有哪些测试点?

1、提交时快读多次点击,频繁添加删除

2、幂等校验(或重复提交)

3、连接超时或者失败时需重试

4、缓存测试(缓存失败、缓存溢出、)

5、多参数

6、少参数

 

9.postman是怎么处理接口超时的?

a、如何测试接口超时:

 

 b、超时问题定位:定义超时时间、重试机制、分析日志(显示tineout)和监控,

11.一个完整的请求有哪几部分组成?

请求头 请求体  响应头 响应体

12.请求方式有哪些?

get  post  put  delete

13.请求正文的文本格式?

 

 form-data

x-www-form-urlencode

 

raw

json

text

binary

14.请求头包含哪些内容

 

 

 

1. User-Agent:标识客户端使用的浏览器和操作系统信息。可以通过$_SERVER['HTTP_USER_AGENT']获取。

2. Accept:指定客户端能够处理的内容类型,即可接受的媒体类型。可以通过$_SERVER['HTTP_ACCEPT']获取。

3. Content-Type:指定请求体中的数据格式类型。常见的取值有application/jsonapplication/x-www-form-urlencoded等。可以通过$_SERVER['CONTENT_TYPE']获取。

4. Authorization:用于进行身份验证的凭证信息。常见的取值有Bearer TokenBasic Authentication等。可以通过$_SERVER['HTTP_AUTHORIZATION']获取。

5. Cookie:包含来自客户端的Cookie信息。可以通过$_SERVER['HTTP_COOKIE']获取。

6. Referer:指示当前请求是从哪个URL页面发起的。可以通过$_SERVER['HTTP_REFERER']获取。

7. Host:指定服务器的域名或IP地址。可以通过$_SERVER['HTTP_HOST']获取。

8. X-Requested-With:指示请求是否由Ajax发起的。通常在Ajax请求中会设置该头部字段,取值为"XMLHttpRequest"。可以通过$_SERVER['HTTP_X_REQUESTED_WITH']获取。

9. Content-Length:指定请求体的长度。可以通过$_SERVER['CONTENT_LENGTH']获取。

10. Cache-Control:控制缓存行为的指令。用于指定客户端和代理服务器如何缓存响应。可以通过$_SERVER['HTTP_CACHE_CONTROL']获取。

 

15. 响应头包含哪些内容

 

HTTP/1.1:表示超文本传输协议 版本为1.1版本 URL统一资源定位符

响应状态:200

Server:服务器名称 Server: Apache/2.4.1 (Unix)

Set-Cookie:设置HTTP Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

 

Content-Type:设置响应体的MIME类型 Content-Type: textml; charset=utf-8

Transfer-Encoding:设置传输实体的编码格式,目前支持的格式: chunked, compress, deflate, gzip, identity

Date:设置消息发送的日期和时间 Date: Tue, 15 Nov 1994 08:12:31 GMT #接口响应时间

16常见的http响应状态码

200 (状态码)ok  

 301 (资源 网页等)被永久转移到其他URL  

404 请求的资源网页等不存在

500 内部服务器错误 

18.postman 如何设置断言

tests中设置断言

 断言状态码

断言时间

断言响应内容

 

 

19.postman 如何设置全局变量和环境变量

 

 

20.接口测试用例设计主要考虑哪些方面

21.fiddler如何抓包

 

 

 

22.fiddler如何设置断点,为什么设置断点

在rules中开启断点,关闭断点

 

 

 

1before response:这个是打在request请求的时候,未到达服务器之前 (before之前)

2after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。

命令行方式:

修改Requestbpu  (拦截发给指定服务器的请求)

清除断点拦截:bpu

修改Responsebpafter(拦截指定服务器返回的session

清除断点拦截:bpafter

接口测试可以不需要管前端的,主要测后端的功能有一个程序出错了,大致猜出可能在某处会出错,就在那里下一个断点。调试程序,执行到那里,程序会停下来,这时可以检查各种变量的值,然后按步调试运行,观察程序的流向及各个变量的变化,便于快速排错。

23.fiddler如何手机代理,抓app

抓取安卓手机(wifi 修改代理)

抓取ios手机

24. 开发者工具F12如何查看接口请求

1、在相应界面点击F12

2、打开F12窗口以后,点击网络页签。

3、然后选择相应的接口

4、在右侧就可以看到请求url、请求方法和状态码了。

5、在接口连接上面也可以看到。

 

 

 

 

posted @ 2024-04-09 10:55  xiaolehua  阅读(129)  评论(0编辑  收藏  举报