目录:导读

  • 前言
  • 一、为什么要做接口测试?
  • 二、接口测试能发现哪些问题
    • 面试题1:你平常做接口测试的过程中发现过哪些bug?
  • 二、接口测试怎么测
    • 面试题2:平常你是怎么测试接口的?
  • 三、用什么工具测
    • 面试题3:平常用什么工具测接口的
  • 四、webService接口
    • 面试题4:webService接口是如何测试的
  • 五、没有接口文档如何做接口测试
    • 面试题5:没有接口文档,如果做接口测试?(这是个送命题)
  • 六、数据依赖
    • 面试题6:在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?
  • 七、依赖第三方
    • 面试题7:依赖于第三方数据的接口如何进行测试?
  • 八、抓包
    • 面试题8:当一个接口出现异常时候,你是如何分析异常的?
  • 九、弱网
    • 面试题9:如何模拟弱网测试
  • 十、分析bug是前端还是后端的
    • 面试题10:如何分析一个bug是前端还是后端的?

前言

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

一、为什么要做接口测试?

到底什么是接口测试,我们为什么要做接口测试?这是很多初入行的小伙伴的一个疑问,讲理论的你可能看不进去,接下来讲个实际案例,如下图一个提现功能

比如这个输入框,平常拿到这个web页面,会对输入框做用例设计:

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

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

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

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

5.输入金融大于100(如:108),点提交

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

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

8.输入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服务

八、抓包

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

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

九、弱网

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

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

十、分析bug是前端还是后端的

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

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

还不快到碗里来?软件测试接口测试面试题(大全)相关推荐

  1. 2022年接口测试面试题大全

    目录 一. 说明三次握手 二. 一次完整的HTTP请求 三. 响应状态码有哪些 四. 什么是COOKIE,SESSION,TOKEN?以及具体流程? 五. HTTP和HTTPS的区别? 六. HTTP ...

  2. 12个月大厂主机免费领AWS Azure Google-Cloud还不快到碗里来

    文章目录 简介 AWS Azure Google Cloud Oracle 总结 简介 最近有个朋友问我哪里有免费主机可以领,说实话这个问题也困扰了我很久,之前也在网上寻找免费主机,可是免费的基本上都 ...

  3. 都2022年了,pnpm还不快到碗里来

    pnpm是一款当代备受关注的 新兴(问题较多) 包管理工具,使用过的同学们都会被它极快的安装速度.极少的磁盘存储空间所吸引! 首先,为什么会出现pnpm?作者一开始对yarn的发布有很高的期待,但是发 ...

  4. 2022非常全的接口测试面试题及参考答案-软件测试工程师没有碰到算我输~

    一.前言 接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性.接口测试为什么会如此重要呢? 主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试 ...

  5. 软件测试知识点和面试题--接口测试篇

    软件测试知识点和面试题--性能测试篇 软件测试知识点和面试题--手工测试篇(功能测试) 软件测试知识点和面试题--app测试篇 接口规范 接口测试流程 测试用例的思路和方法 pymysql操作数据库 ...

  6. 软件测试简历编写以及软件测试面试题大全(接口、自动化测试面试题)赶快收藏

     目录 一.简历重要性以及编写原则 二.简历模板 三.简历包装 1.个人信息 2.教育经历 3.专业技能 4.工作经验 5.项目经历(4-5个项目))10年,只写最近的四个项目.后面的项目和时间都不写 ...

  7. 概要设计 英文_互联网知识大全:软件开发中和文档常见的英文缩写,还不快收藏...

    概要设计 英文_互联网知识大全:软件开发中和文档常见的英文缩写,还不快收藏... https://blog.csdn.net/weixin_39914243/article/details/11123 ...

  8. 还不懂!软件测试(功能、接口、性能、自动化)详解

    一.软件测试功能测试 测试用例编写是软件测试的基本技能:也有很多人认为测试用例是软件测试的核心:软件测试中最重要的是设计和生成有效的测试用例:测试用例是测试工作的指导,是软件测试的必须遵守的准则. 黑 ...

  9. 腾讯十年经验总结分享!软件测试经典面试题!你招架的住吗?

    1.你的测试职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去.而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求 ...

最新文章

  1. 记一次 HTTP信息头管理器使用 的重要性
  2. mongodb常用命令
  3. 推荐:Visual Basic.NET Windows Forms 编程
  4. 游戏行业全场景数字化解决方案全面上线,速来围观
  5. php mysql PDO 查询操作的实例详解
  6. HDU4273(求三维凸包重心到表面的最短距离)
  7. 【MyBatis】MyBatis初体验
  8. 回调函数 相当于线程_阿里面试题:请简述下 Node 的线程模型
  9. 重装jdk后运行java程序出现Error: could not open `C:\Program Files\Java\jre68\lib\amd64\jvm.cfg'的解决办法
  10. java中文件如何加密压缩?
  11. APP移动测试用例总结
  12. 老实人一般容易吃亏,但是老实人遇到的机会比别人多一点点!
  13. As-Conformal-As-Possible Surface Registration
  14. MFC函数——CWnd::OnCreate
  15. linux文本编辑器下载,Linux文本编辑器Jed
  16. 坐骨神经痛!到底是梨状肌综合征还是腰椎间盘呢?
  17. 博途v15模拟量转换_浅谈西门子S7-1200PLC的模拟量转换,附实例演示
  18. 【NOIP2012提高组】开车旅行
  19. Python全栈编程
  20. (一)xxx项目需求分析与功能设计概要

热门文章

  1. appium java 虫师_如何在Appium中使用AI定位
  2. 高效的HPPC java库
  3. C/C++编程学习 - 第5周 ⑧ 判断直角三角形
  4. 1063: 判断三角形的形状(3级)输入三角型的三条边,判断三角形的形状。
  5. 鸿蒙系统绿幕,英伟达发布新RTX 30系显卡:全新安培架构 支持8K游戏
  6. win10英语语言包
  7. 源码解析-深刻理解Hash HashTable HashMap原理及数据hash碰撞问题
  8. 什么是ERC20,ERC721?两者的区别是什么?
  9. pmsm仿真 matlab 转子转角波形,MATLAB/SIMULINK的永磁同步电机矢量控制系统仿真研究...
  10. Java阶段性测试--第四五六大题参考代码