python面试题及答案_微型计算机原理与接口第四版答案

python面试题及答案_微型计算机原理与接口第四版答案题目目录什么是接口测试?为什么要做接口测试/接口测试有哪些优势?请问你们公司是如何做接口测试的?怎么设计接口测试用例?没有接口文档如何做接口测试?怎么区分bug是前端还是后端的bug?常用的接口测试工具?接口之间数据依赖如何处理?依赖于第三方数据的接口如何进行测试?你平常做接口测试的过程中发现过哪些bug?当接口出现异常时候,你是如何分析异常的?什么是接口测试?接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求测试的重点是

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

题目目录

  • 什么是接口测试
  • 为什么要做接口测试/接口测试有哪些优势?
  • 请问你们公司是如何做接口测试的?
  • 怎么设计接口测试用例?
  • 没有接口文档如何做接口测试?
  • 怎么区分bug是前端还是后端的bug?
  • 常用的接口测试工具?
  • 接口之间数据依赖如何处理?
  • 依赖于第三方数据的接口如何进行测试?
  • 你平常做接口测试的过程中发现过哪些bug?
  • 当接口出现异常时候,你是如何分析异常的?

什么是接口测试?

  • 接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求
  • 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系

为什么要做接口测试/接口测试有哪些优势?

  • 可以发现UI页面上发现不了的bug
  • 检查系统的安全性、稳定性
  • 越底层发现bug,它的修复成本是越低的
  • 检测系统异常处理的能力
  • 提前介入测试,提升测试效率

请问你们公司是如何做接口测试的?

  • 需求分析
    • 对于产品的需求进行认识和理解,这一块主要了解接口 业务逻辑、业务关联
  • Api文档分析与评审
    • 主要分析:请求和响应
    • 请求:
      • 请求url是否合理
      • 请求信息头是否明确
      • 请求方法是否合理
      • 请求参数是否必填、含义、参数方式是否明确
    • 响应:
      • 响应状态码
      • 响应数据格式
      • 响应信息头
      • 异常返回信息和错误代码是否合理
  • 测试计划编写
    • 测什么、谁来测、怎么测、风险预测及进度控制
  • 用例设计与评审
    • 根据接口业务、接口信息编写接口用例
    • 与产品、开发一起评审用例
  • 测试环境准备
    • 例如测试工具:Postman、jmeter安装
    • 接口服务的环境(大部分开发进行部署)
  • 执行用例
    • 按照接口用例执行
  • 缺陷管理
    • 记录发现的缺陷,开发完成之后进行回归验证
  • 测试报告
    • 编写本次测试报告,发送给相关人员

重点说明:

  • 接口测试重点是:接口文档分析、用例设计
  • 回答问题时,需要有重点,例如 接口文档分析、用例设计使用了哪些些方法、遇见什么问题,如何解决的(接口数据存在关联,工具里面如何做的关联)

怎么设计接口测试用例?

参考下图:
在这里插入图片描述

  • 接口业务逻辑测试

    接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值
    是否正确的验证,需要覆盖到接口实现的所有业务场景。

  • 其他测试点

    • 例如需要登录状态(以token为例,token为空、错误的token、失效的token)。

    • 参数异常情况

      • 必填项验证
      • 参数的长度、类型、格式异常:
        常规参数:(数字、字符串、日期)
        参数长度:6-18位。或身份证、电话的长度。
        参数类型:数字(精度),字母,中文,带空格的参数,特殊字符、NULL。
        日期格式:年月日,年月日时分秒,日期格式(包括/,-,:等)。
    • 错误码异常覆盖

    • 其他的关注点补充

      • 接口有翻页时,页码与页数的异常值测试
      • 数据库的增删改查后,接口数据是否保持一致性
      • 类似文件地址接口,需要查看返回的地址是否可以打开下载
      • 所有列表页接口必须考虑排序值
      • 所有功能都要考虑兼容旧版本
  • 面试回答说明:需要逻辑清晰,建议按照图片分类回答,先回答大的分类,在具体到每个细节

没有接口文档如何做接口测试?

  • 首先去跟开发沟通,是否真正没有编写接口说明文档或者存在相关的设计文档,如果真是没有,可以推动一下是否可以进行补充(站在开发的角度进行沟通)
  • 如果存在前端界面,通过抓包工具进行抓包,整理出接口相关信息,与开发进行沟通是否存在遗漏
  • 不存在前端界面,有代码能力,直接去查看开发代码实现,获取接口信息
  • 将整理的接口信息,编写出对应的接口测试用例
  • 使用接口测试工具,执行测试用例,例如:Postman或Jmeter
  • 记录测试结果,存在问题及时与开发沟通
  • 提交缺陷,开发修改之后进行回归测试
  • 测试完成提交测试报告
  • 做接口测试项目复盘,主要推动开发对接口文档重要性

常用的接口测试工具?

  • Postman
  • Jmeter
  • Fiddler
  • Apifox
  • 通过代码进行,例如 python+request、java+httpclient

怎么区分bug是前端还是后端的bug?

一般我会使用抓包工具进行抓包,获取前端和后端的数据交互过程

  • 查看前端发送的请求数据是否正确(请求url、请求头、请求参数),如果前端参数存在问题,这个可以确定前端肯定存在问题(不能确定后端不存在问题,需要使用正确参数进行验证)
  • 前端请求参数没有问题,查看后端响应的数据是否有问题,如果后端数据存在问题,那就是后端问题
  • 最后一种,前端参数和后端请求都没有问题,这时候可以考虑前端是否做了数据转换(格式化),大概率是这里面处理出问题(曾经一个数值问题,由于前端在对数值转换处理出问题)

接口之间数据依赖如何处理?

  • 直接举例接口测试使用的工具里面实现
  • 参考(Posman):
    • 在前置接口中提取要传递的数据保存到全局变量或者环境变量
    • 在后续接口,直接使用保存在全局变量或环境变量中的参数值

依赖于第三方数据的接口如何进行测试?

  • 通过mock工具模拟第三方返回

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

  • 一般错误:接口没实现,没按约定返回结果,边界值处理问题等
  • 输入异常值(空值、特殊字符、超过约定长度等)
  • 输入错误的参数,多输入,少输入参数
  • 安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没有恶意请求拦截等
  • 性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等
  • 例如:一个管理员删除操作,前端界面非管理员不显示删除按钮,通过接口可以使用非管理员进行删除

当接口出现异常时候,你是如何分析异常的?

  • 一种方案使用工具(fiddler)抓包,查看请求报文和返回报文
  • 第二种:web端直接使用浏览器 F12界面的Network,查看请求报文和返回报文
  • 如果是后端问题,查看后端日志

可以参考前面一篇文章接口调不通,如何排查问题?

以上内容纯属个人理解,如有不足,欢迎各位大神指正,转载请注明出处!

如果觉得文章不错,欢迎关注微信公众号,微信公众号定期推送相关测试技术文章
个人微信号

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189081.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月14日 下午6:52
下一篇 2026年4月14日 下午6:58


相关推荐

  • 手机APP抓包过程

    手机APP抓包过程0.手机连接WiFi,运行Fiddler的PC连接同一WiFi;假设手机IP为192.168.100.10,PC的IP地址为192.168.100.131.PC端打开Fiddler软件,Tools–Options,选择HTTPS标签页,勾选“CaptureHTTPSCONNECTs”,勾选“DecryptHTTPStraffic”,勾选“Ignoreservercertificateerrors(unsafe)”;选择Connections标签,勾选“Allowremotecompu

    2022年6月28日
    54
  • MySQL建立索引的优点和缺点

    MySQL建立索引的优点和缺点建立索引的优缺点:为什么要创建索引呢?        这是因为,创建索引可以大大提高系统的性能。         第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。         第二、可以大大加快数据的检索速度,这也是创建索引的最主要的原因。         第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。         第四、在使用分组和排序子句…

    2022年5月20日
    35
  • 代理服务器调研[通俗易懂]

    代理服务器调研[通俗易懂]1.名词解释:代理服务器是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接国际互联网和局域网。2.相关概念(1)代理也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保

    2022年5月5日
    43
  • 使用jQuery使Div居中

    使用jQuery使Div居中Div 居中是一个比较常见的需求 下面介绍一种使用 JQuery 使 Div 居中的方法先假设有这样一个 Div test 首先是要把需要居中的 Div 进行绝对定位 如 nbsp nbsp nbsp nbsp nbsp nbsp nbsp d nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp position absolute nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp width 500 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp height 300

    2026年3月17日
    2
  • mysql数据库置疑,sqlserver2000数据库置疑的解决方法

    mysql数据库置疑,sqlserver2000数据库置疑的解决方法搜索热词先分离数据库企业管理器右键 suspect 的数据库所有任务分离数据库然后备份你的 suspect 数据库的文件 再按下面的步骤处理 1 新建一个同名的数据库 2 再停掉 sqlserver3 用 suspect 数据库的文件覆盖掉这个新建的同名数据库 4 再重启 sqlserver5 此时打开企业管理器时新建的同名数据库会出现置疑 先不管 执行下面的语句 注意修改其中的数据库名 USEMA

    2026年3月20日
    2
  • 损失函数——交叉熵损失函数(CrossEntropy Loss)

    损失函数——交叉熵损失函数(CrossEntropy Loss)损失函数 交叉熵损失函数 CrossEntropy 交叉熵函数为在处理分类问题中常用的一种损失函数 其具体公式为 1 交叉熵损失函数由来交叉熵是信息论中的一个重要概念 主要用于度量两个概率分布间的差异性 首先我们来了解几个概念 1 1 信息量信息论奠基人香农 Shannon 认为 信息是用来消除随机不确定性的东西 也就是说衡量信息量大小就看这个信息消除不确定性的程度 太阳从东方升起了 这条信息没有减少不确定性 因为太阳肯定从东面升起 这是句废话 信息量为 0 六

    2025年6月28日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号