震惊!隔壁小哥涨薪10K的接口测试技巧原来这么容易!

话不多说,我只是一个喜欢分享整理软件测试相关的面试题的卑微萌新,直接上干货

大家如果想下载我录制的一些软件测试学习视频、面试资料
或者想我的哈皮群友讨论怎么学软件测试、自动化测试的都可以点这里✔←
Python自动化软件测试3
在这里插入图片描述

接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性。 接口测试为什么会如此重要呢? 主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你 平常在公司怎么测试的,你除了说点点点,还能说什么呢,无非就是这个项目点 完了点那个项目, 这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。面试的时 候面试官希望你除了点点点,还能更深入一点的思考页面上看不到的功能,也就 是接口测试了。

为什么要做接口测试?

到底什么是接口测试,我们为什么要做接口测试?这是很多初入行的小伙伴的一 个疑问,讲理论的你可能看不进去,接下来讲个实际案例,如下图一个提现功能
在这里插入图片描述
比如这个输入框,平常拿到这个 web 页面,会对输入框做用例设计:

  • 输入一个负数(如:-100),点提交

  • 输入金额为 0(如:0),点提交

  • 输入金额为 0-100 的数(如:20),点提交

  • 输入金额为 100(如:100),点提交

  • 输入金额大于 100(如:108),点提交

  • 输入 1 位小数(如:10.1),点提交

  • 输入 2 位小数(如:10.12),点提交

  • 输入 3 位小数(如:10.123),点提交

按照这个等价类,边界值用例测完,页面上不能输入负数和大于 3 位数小数点, 然后就可以上线了。 然而。。。突然有一天数据库里面插入了一个提现金额为负数(-100),于是整 个部门炸锅了,首先找到测试(背锅)去复现问题,测试在页面上反复输入负数, 无法提交,认为没问题啊!

首先前端开发对输入框是做了限制的,前端的 web 开发肯定没问题,这个锅前端 开发 MM 不背。那么如果别人用户不通过你的 web 页面,直接发请求提交了呢? 纳尼!!!不通过页面也能提交。。。这就是我们接下来要提到的接口测试了。

接口测试能发现哪些问题

面试题 1:你平常做接口测试的过程中发现过哪些 bug?

这个问题其实回到起来很简单,只要做过接口测试的,总能发现几个 BUG 吧,把 你平常发现的 bug 说 2-3 个就可以了。 面试官出这个题,主要是想知道你是不是真的做过接口测试,毕竟现在很多小伙 伴简历都是写的假的(你要不写估计面试机会都没有,没办法,为了生存,能理 解) 比如上面说的,提现输入框,在页面上输入负数,肯定是无法提交过去(前端页 面会判断金额),如果我不走前端,直接用接口工具发请求,输入一个负数过去。

(假设服务端没做提现金额数据判断)
余额=当前余额(100)-提现金额(-100),那么提现-100,余额就变成 200 了, 也就是越提现,余额越大了

可以用接口工具去直接请求接口,也可以 fiddler 抓包,抓到接口后修改金额 为负数在这里插入图片描述
所以,接口测试的必要性就体现出来了: 1.可以发现很多在页面上操作发现不了的 bug
2.检查系统的异常处理能力
3.检查系统的安全性、稳定性
4.前端随便变,接口测好了,后端不用变
5.可以测试并发情况,一个账号,同时(大于 2 个请求)对最后一个商品下单, 或不同账号,对最后一个商品下单 6.可以修改请求参数,突破前端页面输入限制(如金额)

接口测试怎么测

面试题 2:平常你是怎么测试接口的?

 通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过 性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
参数组合:现在有一个操作商品的接口,有个字段 type,传 1 的时候代 表修改商品,商品 id、商品名称、价格有一个是必传的,type 传 2 的时 候是删除商品,
商品 id 是必传的,这样的,就要测参数组合了,type 传 1 的时候,只传 商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
 接口安全:
1、绕过验证,比如说购买了一个商品,它的价格是 300 元,那我在提交
订单时候,我把这个商品的价格改成 3 元,后端有没有做验证,更狠点, 我把钱改成-3,是不是我的余额还要增加?

2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改, 那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改 成功

3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如 果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则 是否容易破解。

4、密码安全规则,密码的复杂程度校验
 异常验证:
所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验 证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传 入字符串类型,长度是 10 的,传 11,总之就是你说怎么来,我就不怎么 来,其实也就这三种,必传非必传、参数类型、入参长度。
 性能测试
接口并发情况,如上面提到的:一个账号,同时(大于 2 个请求)对最后 一个商品下单,或不同账号,对最后一个商品下单 接口响应时间,响应时间太长了,肯定需要优化,一般都是毫秒级别
在这里插入图片描述
用什么工具测

面试题 3:平常用什么工具测接口的 接口测试工具很多,首先 postman
在这里插入图片描述
其次用 jmeter在这里插入图片描述
在这里插入图片描述
没有接口文档如何做接口测试

面试题 5:没有接口文档,如果做接口测试?(这是个送命题)

没有接口文档,那还能咋办,瞎测呗!一个公司的开发流程里面,如果接口文档 都没有,是无法展开接口测试的,你都不知道这个接口干什么的,也不知道具体 每个字段代表什么意思,那还测啥呢?
–当然,你肯定不能回答面试官不测(心理 mmp,脸上笑嘻嘻),接下来就是扯犊
子时间 1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档(本来是开发写的, 没办法,为了唬住面试官,先说自己整理了) 2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通

本题主要靠情商,通俗来说就是忽悠能力,先唬住面试官了再说,进去了也是瞎 测测,随时做好背锅的准备

数据依赖

面试题 6:在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依 赖如何处理?

用一个全局变量来处理依赖的数据,比如登录后返回 token,其它接口都需要这 个 token,那就用全局变量来传 token 参数抓包

面试题 8:当一个接口出现异常时候,你是如何分析异常的?

1.抓包,用 fiddler 工具抓包,或者浏览器上 f12,app 上的话,那就用 fiddler 设置代理,去看请求报文和返回报文了
2.查看后端日志,xhell 连上服务器,查看日志

弱网

面试题 9:如何模拟弱网测试

fiddler 和 charles 都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测 试

分析 bug 是前端还是后端的

面试题 10:如何分析一个 bug 是前端还是后端的?

平常提 bug 的时候,前端开发和后端开发总是扯皮,不承认是对方的 bug 这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题, 有问题就是前端发的数据不对 请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯

结语

在这里插入图片描述

都写到这里了,我最近自己整理了一份关于软件测试的面试题合集、还有一些经典的简历模板,免费提供给大家,有需要的可以点这里加入群聊免费领取
Python自动化软件测试3

点关注,不迷路,如果有帮助记得点赞支持哦!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值