接口和抓包的面试题

面试题:你是如何做接口测试的

一般会考虑三个方面,分别是,请求,响应,数据库

请求的部分,一般需要根据接口文档,将url,参数,请求方式,如果有的话还要添加cookie或header   这些内容填写到postman中,然后模拟请求的发送

响应的部分,一般会将发送请求得到的返回内容来和接口文档进行对比。比如说,这个接口状态码是不是接口文档写的200,比如这个返回值的json格式,是不是和接口文档一致

还有就是数据的部分,比如我们这个xx商城的项目,我要调用下单的接口,理论上来讲,数据库也应该多一条数据。此时,我会使用mysql语句,去数据库查一下是不是增加了一条数据。

面试题:你是如何做接口的关联的(接口依赖)

它的核心是取到第一个接口返回值的一部分在第二个接口中使用

jemter:

第一个接口返回数据之后,可以通过后置处理器的的xpath或json或者正则提取器来取想要的数据,当然,具体也要看返回数据的类型,如果返回的是json可以使用json或正则,如果返回的是xml或html可以使用xpath或正则。

第二个接口直接使用 ${变量名} 就可以了

postman:

第一个接口返回数据之后,可以通过postman中的tests模块中使用 pm.globals.set这个方法来设置全局变量名,变量名根据业务取即可,值的话可以使用pm.response.json()下面的数据。

第二个接口想要使用的时候,直接使用 {{变量名}} 就可以了

面试题:你是如何使用抓包工具的

我们使用抓包工具一般做三个方面。

判断前后bug,造假数据,模拟弱网。

面试题:你是如何判断前后端bug的

我们会使用抓包工具来判断前后端的bug。

如果前端的数据发送的不正确,比如url地址错了,或者参数错了,这些就是前端的问题。

如果前端的数据发送的是正确的,但是返回值是错误的,那么就是后端的问题

如果前端的数据发送的是正确的,返回值也是正确的。功能还有问题的话,就是前端的问题

面试题:你是如何造假数据的

我会使用charles的断点、重写、map local、map remote这四个功能来造假数据

比如现在有一个接口返回的是订单的状态,如果这个返回值为1,那么前端就显示已送达,如果返回值为0,则显示配送中。

但是我目前这个接口返回的永远都是1,也就是已送达的状态。我现在想要测试一下,前端显示配送中的效果是否正确。此时我就可以使用造假数据的功能,我更多的可能会使用map local。

map local 以文件的形式重写数据

1先将接口返回的请求或响应的数据保存到本地的一个文件中,再修改文件中需要mock的数据后保存,2 选择charles中的Tool——map local settings, 添加需要mock的url及文件路径即可。

面试题:你是如何模拟弱网的

在charles中有一个叫做throttle的功能,这个功能可以去模拟2g,3g等网络,在proxy下选择throttle settings 进入后勾选,enable throttling 就可以设置了。也可以自己去设置上下行(xing)的速度。也可以设置丢包率,稳定性能内容

面试题:用jmeter做性能测试

  • 你是如何做接口的性能测试的?

    • 我会将一部分接口做压力测试,比如说我们之前电商的项目会搞双十一会有秒杀活动,这时候需要对下订单的接口做压测。我们当时的需求是要达到1000个人同时请求并且没问题。会通过jmeter的同步定时器也就是集合点来做压力测试,模拟1000个人同时访问。我们模拟完成之后会查看聚合报告中的错误率,QPS(吞吐量)和平均响应时间,同时我们还需要去看一下服务器的性能,比如 cpu、内存、磁盘读写有没有突然飙升的情况。

  • 你会看哪些指标?

    • 聚合报告:吞吐量,错误率,平均响应时间

    • 服务器:cpu、内存、磁盘读写

  • 你是如何查看服务器(linux服务器)性能?

    • 我们通过一个叫做 nmon 来查看

    • 可以用 yum install nmon 下载

  • cpu、内存、磁盘读写在百分之多少算过或者不过?

    • cpu达到百分之85以上

    • 内存达到百分之90以上

    • 磁盘读写达到百分之90以上

  • 如果遇到了瓶颈,你是如何处理的?

    • 我们增加了服务器的数量

  • 服务器是自己公司的么?

    • 我们用的是阿里云

  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值