【转】接口测试面试题
前言
接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性。接口测试为什么会如此重要呢?
主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的,你除了说点点点,还能说什么呢,无非就是这个项目点完了点那个项目,
这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。面试的时候面试官希望你除了点点点,还能更深入一点的思考页面上看不到的功能,也就是接口测试了。
为什么要做接口测试?
到底什么是接口测试,我们为什么要做接口测试?这是很多初入行的小伙伴的一个疑问,讲理论的你可能看不进去,接下来讲个实际案例,如下图一个提现功能
比如这个输入框,平常拿到这个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
webService接口
面试题4:webService接口是如何测试的
webService接口用SoapUI
没有接口文档如何做接口测试
面试题5:没有接口文档,如果做接口测试?(这是个送命题)
没有接口文档,那还能咋办,瞎测呗!一个公司的开发流程里面,如果接口文档都没有,是无法展开接口测试的,你都不知道这个接口干什么的,也不知道具体每个字段代表什么意思,那还测啥呢?
--当然,你肯定不能回答面试官不测(心理mmp,脸上笑嘻嘻),接下来就是扯犊子时间
1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档(本来是开发写的,没办法,为了唬住面试官,先说自己整理了)
2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通
本题主要靠情商,通俗来说就是忽悠能力,先唬住面试官了再说,进去了也是瞎测测,随时做好背锅的准备
数据依赖
面试题6:在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?
用一个全局变量来处理依赖的数据,比如登录后返回token,其它接口都需要这个token,那就用全局变量来传token参数
依赖第三方
面试题7:依赖于第三方数据的接口如何进行测试?
这个标准答案是:mock
接着面试官会问你,如果mock的,然后你就顺着坑继续挖,搭建mock服务,参考这篇【https://www.cnblogs.com/yoyoketang/p/9348552.html】
抓包
面试题8:当一个接口出现异常时候,你是如何分析异常的?
1.抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了
2.查看后端日志,xhell连上服务器,查看日志
弱网
面试题9:如何模拟弱网测试
fiddler和charles都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试
分析bug是前端还是后端的
面试题10:如何分析一个bug是前端还是后端的?
平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug
这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对
请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯
转载于:https://www.cnblogs.com/hpzyang/p/10838132.html
【转】接口测试面试题相关推荐
- 2022非常全的接口测试面试题及参考答案-软件测试工程师没有碰到算我输~
一.前言 接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性.接口测试为什么会如此重要呢? 主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试 ...
- 关于接口测试--面试题
前言 接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性.接口测试为什么会如此重要呢? 主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的, ...
- 还不快到碗里来?软件测试接口测试面试题(大全)
目录:导读 前言 一.为什么要做接口测试? 二.接口测试能发现哪些问题 面试题1:你平常做接口测试的过程中发现过哪些bug? 二.接口测试怎么测 面试题2:平常你是怎么测试接口的? 三.用什么工具测 ...
- 2022年接口测试面试题大全
目录 一. 说明三次握手 二. 一次完整的HTTP请求 三. 响应状态码有哪些 四. 什么是COOKIE,SESSION,TOKEN?以及具体流程? 五. HTTP和HTTPS的区别? 六. HTTP ...
- 兄弟们,你们最想要的接口测试面试题来啦!!!!
一.接口测试如何设计测试用例?(必问,有没有感觉答得整个人都不好了?) 接口测试一般考虑入参形式的变化和接口的业务逻辑,一般设计接口测试用例采用等价类.边界值.场景法居多! 接口测试设计测试用例的思路 ...
- 100道接口测试面试题值得收藏..
HTTP, HTTPS协议 什么是DNS HTTP协议 怎么抓取HTTPS协议 说出请求接口中常见的返回状态码 HTTP协议请求方式 HTTP和HTTPS协议区别 HTTP和HTTPS实现机有什么不同 ...
- python接口测试面试题及答案_100道接口测试面试题收好了!【建议收藏】
HTTP, HTTPS协议 什么是DNS HTTP协议 怎么抓取HTTPS协议 说出请求接口中常见的返回状态码 HTTP协议请求方式 HTTP和HTTPS协议区别 HTTP和HTTPS实现机有什么不同 ...
- 接口测试面试题汇总(含答案)
目录 1.什么是接口? 2.接口组成的要素是什么? 3.你对requests了解多少 4.如何使用requests 5.requests.get作用 6.requests.get语法形式 7.requ ...
- 常见的接口测试面试题
1.按你的理解,软件接口是什么? 答: 就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数. 2.HTTP和HTTPS协议区别? 答: https协议需要到CA(Certifica ...
- 接口测试面试题及参考答案,就等你来看~
你们公司的接口测试流程是? 接口测试我们是在XX项目做的,主要有XX接口,XX接口,XX接口等. 1.首先是从开发那里拿到API接口文档,了解接口业务.包括接口地址.请求方式,入参.出参,token鉴 ...
最新文章
- 客户端使用win共享文件出错解决方法
- mysql 隔离级别和锁相关
- php鼠标悬停字体变大代码CS6,Dreamweaver cs6设置代码字体大小的方法
- 计算机组成原理基于mips结构pdf,计算机组成原理_L12-MIPS系统结构-V1.pdf
- 用Emesene替换Windows Live Messenger
- 网易裁员背后,芸芸众生,相煎何急
- 云原生领域首本架构白皮书,你Get到了吗?
- 双十一流量洪峰 支撑阿里核心业务的云数据库揭秘 1
- css画三角形以及各种图形
- access数据库应用系统客观题_Access制作客观题考试系统的应用
- 各家关节机器人示教器特点
- 2535: [Noi2010]Plane 航空管制2
- win FlashFxp与ubuntu vsftpd共享文件
- 北京飞漫软件魏永明:浏览器技术与三网融合
- FSK过零检测技术软件实现
- Java并发编程模拟管程(霍尔Hoare管程、汉森Hansan管程、MESA管程)
- java edt,java并发之EDT测试
- 亲子编程玩Micro:bit-动力小车“麦昆”
- K3 wise 老单增加自定义项为下推或上拉【选单条件】
- web开发常见的几大安全问题
热门文章
- 实践中 XunSearch(讯搜)更新索引方案对比
- php中echo和print的区别
- AGP Aperture Size UMA Frame Buffer Size
- Ajax Sample
- ERROR: function group_concat(character varying) does not exist
- 【模型压缩系列】一:模型替换
- 一作解读NLPCC最佳学生论文:1200万中文对话数据和预训练模型CDial-GPT
- 半监督学习在金融文本分类上的探索和实践
- ​我拿 12 年 36 套四级真题做了什么 ?
- 揭秘盒马鲜生,如何打破收益增长天花板!