常见的接⼝测试⾯试题
根据⽹络资料,总结了以下⼀些常见的接⼝测试⾯试题:
1. 为什么要做接⼝测试?
- 登录的接⼝,提供⼈员的⽤户名和密码,去hr系统中判断该⼈员是否存在,如果存在验证⽤户名和密码,如果验证通过就返回1个token,该token就 是这个⼈员的通⾏证,通过token可以登录到bug管理系统中去;
- 获取⼈员信息的接⼝,返回该⼈员的职位:测试还是开发,以及⽤户名,昵称等信息;
2. 接⼝测试能发现哪些问题?
接⼝测试能发现哪些问题
这个问题其实回到起来很简单,只要做过接⼝测试的,总能发现⼏个BUG吧,把你平常发现的bug说2-3个就可以了。
⾯试官出这个题,主要是想知道你是不是真的做过接⼝测试,毕竟现在很多⼩伙伴简历都是写的假的(你要不写估计⾯试机会都没有,没办法,为了⽣
存,能理解)
⽐如上⾯说的,提现输⼊框,在页⾯上输⼊负数,肯定是⽆法提交过去(前端页⾯会判断⾦额),如果我不⾛前端,直接⽤接⼝⼯具发请求,输⼊⼀个负
数过去。
(假设服务端没做提现⾦额数据判断)
余额=当前余额(100)-提现⾦额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越⼤了
可以⽤接⼝⼯具去直接请求接⼝,也可以fiddler抓包,抓到接⼝后修改⾦额为负数所以,接⼝测试的必要性就体现出来了:
1.可以发现很多在页⾯上操作发现不了的bug
2.检查系统的异常处理能⼒
3.检查系统的安全性、稳定性
4.前端随便变,接⼝测好了,后端不⽤变
5.可以测试并发情况,⼀个账号,同时(⼤于2个请求)对最后⼀个商品下单,或不同账号,对最后⼀个商品下单
6.可以修改请求参数,突破前端页⾯输⼊限制(如⾦额)
3. 接⼝测试怎么测?
接接⼝⼝测测试试怎怎么么测测
通过性验证:⾸先肯定要保证这个接⼝功能是好使的,也就是正常的通过性测试,按照接⼝⽂档上的参数,正常传⼊,是否可以返回正确的结果。
参数组合:现在有⼀个操作商品的接⼝,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有⼀个是必传的,type传2的时候是删除
商品,
商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
接⼝安全:
1、绕过验证,⽐如说购买了⼀个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把
钱改成-3,是不是我的余额还要增加?
2、绕过⾝份授权,⽐如说修改商品信息接⼝,那必须得是卖家才能修改,那我传⼀个普通⽤户,能不能修改成功,我传⼀个其他的卖家能不能修改
成功
3、参数是否加密,⽐如说我登陆的接⼝,⽤户名和密码是不是加密,如果不加密的话,别⼈拦截到你的请求,就能获取到你的信息了,加密规则是
否容易破解。
4、密码安全规则,密码的复杂程度校验
异常验证:
所谓异常验证,也就是我不按照你接⼝⽂档上的要求输⼊参数,来验证接⼝对异常情况的校验。⽐如说必填的参数不填,输⼊整数类型的,传⼊
字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传⾮必传、参数类型、⼊参长度。
性能测试
接⼝并发情况,如上⾯提到的:⼀个账号,同时(⼤于2个请求)对最后⼀个商品下单,或不同账号,对最后⼀个商品下单
接⼝响应时间,响应时间太长了,肯定需要优化,⼀般都是毫秒级别
4. ⽤什么⼯具测接⼝?
⽤⽤什什么么⼯⼯具具测测接接⼝⼝
: 推荐。基本功能免费。最简单的基于http接⼝的调试和测试⼯具;
:后置处理器配合断⾔基本上可以满⾜接⼝测试需求,就是测试报告要做⼆次开发
⾃⼰撸代码:推荐。配合类似xunit测试框架,基本可以满⾜⼀切需求;
: 收费的;
:强⼒推荐。postman的弱化版,基本功能免费,重要的是⼯具代码开源,可以⾃⼰改;
: 强⼒推荐。mac上最强,淘宝买个授权好像就百把块钱;
5. WebService接⼝是如何测试的?
webService接⼝⽤SoapUI
6. 没有接⼝⽂档如何做接⼝测试?
没有接⼝⽂档,那还能咋办,瞎测呗!⼀个公司的开发流程⾥⾯,如果接⼝⽂档都没有,是⽆法展开接⼝测试的,你都不知道这个接⼝⼲什么的,也不知道具体每个字段代表什么意思,那还测啥呢?
--当然,你肯定不能回答⾯试官不测(⼼理mmp,脸上笑嘻嘻),接下来就是扯犊⼦时间
1.没有接⼝⽂档,那就需要先跟开发沟通,然后整理接⼝⽂档(本来是开发写的,没办法,为了唬住⾯试官,先说⾃⼰整理了)
2.没有接⼝⽂档,可以抓包看接⼝请求参数,然后不懂的跟开发沟通
本题主要靠情商,通俗来说就是忽悠能⼒,先唬住⾯试官了再说,进去了也是瞎测测,随时做好背锅的准备
7. 在接⼝测试过程中,上下游接⼝有数据依赖如何处理?
在在接接⼝⼝测测试试过过程程中中,,上上下下游游接接⼝⼝有有数数据据依依赖赖如如何何处处理理
⽤⼀个全局变量来处理依赖的数据,⽐如登录后返回token,其它接⼝都需要这个token,那就⽤全局变量来传token参数
8. 依赖第三⽅数据的接⼝如何进⾏测试?
这个标准答案是:mock
接着⾯试官会问你,如果mock的,然后你就顺着坑继续挖,搭建mock服务,参考这篇
9. 当⼀个接⼝出现异常时,你是如何分析异常的?
1.抓包,⽤fiddler⼯具抓包,或者浏览器上f12,app上的话,那就⽤fiddler设置代理,去看请求报⽂和返回报⽂了。
2.查看后端⽇志,xhell连上服务器,查看⽇志。
10. 如何模拟弱⽹测试?
fiddler和charles都可以模拟弱⽹测试,平常说的模拟丢包,也是模拟弱⽹测试
11. 如何分析⼀个bug是前端的还是后端的?
平常提bug的时候,前端开发和后端开发总是扯⽪,不承认是对⽅的bug 。
这种情况很容易判断,先抓包看请求报⽂,对着接⼝⽂档,看请求报⽂有没问题,有问题就是前端发的数据不对。请求报⽂没问题,那就看返回报⽂,返回的数据不对,那就是后端开发的问题。
WebService接接⼝⼝是是如如何何测测试试的的
webService接⼝⽤SoapUI没没有有接接⼝⼝⽂⽂档档如如何何做做接接⼝⼝测测试试