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


相关推荐

  • 二进制减法运算算法,基本逻辑实现法_二进制减法法则

    二进制减法运算算法,基本逻辑实现法_二进制减法法则今天捣鼓机器数的表示与运算,觉着能用加法进行减法的模拟运算,那么自然能用减法表示加法的运算。接着,在草稿纸上模拟了一下二进制的减法运算。很粗糙,限于时间原因,还没有把全部情况模拟完。核心规则是通过简单的或、与、异或运算与循环借位进行二进制数的减法。以后来补坑..学而不思则罔,思而不学则殆。…

    2026年3月6日
    4
  • 人工智能猴子摘香蕉实验报告_猴子和香蕉问题

    人工智能猴子摘香蕉实验报告_猴子和香蕉问题哈工大人工智能实验

    2026年4月13日
    6
  • python消费datahub_datahub消费数据

    python消费datahub_datahub消费数据12 月 17 日更新请问下同时消费多个 topic 的情况下 在 richmap 里面可以获取到当前消息所属的 topic 吗 各位大佬 你们实时都是怎样重跑数据的 有木有大神知道 Flink 能否消费多个 kafka 集群的数据 这个问题有人遇到吗 你们实时读取广业务库到 kafka 是通过什么读的 kafkaconnect 的原理是定时去轮询 这样如果表多了 会不会影响业务库的性能 甚至把业务库搞挂 有没有 fli

    2026年3月17日
    2
  • Postgres copy命令导入导出数据

    Postgres copy命令导入导出数据前言最近有需要对数据进行迁移的需求 由于 postgres 性能的关系 单表 3000W 的数据量查询起来有一些慢 需要对大表进行切割 拆成若干个子表 涉及到原有数据要迁移到子表的需求 起初的想法是使用存储过程 使用 selectinsert 方式进行 但是数据量大的时候耗时有点久 于是需要想别的办法 就发现了 postgres 本身支持的 copy 命令 copy 命令 COPY 在 PostgreSQL

    2026年3月18日
    2
  • quartus ii 12.0安装教程_系统安装教程

    quartus ii 12.0安装教程_系统安装教程安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。1.鼠标右击【QuartusII12.0】压缩包选择【解压到QuartusII12.0】。2.双击打开解压后的【QuartusII12.0】文件夹。3.双击打开【Quartus】文件夹。4.鼠标右击【12.0_178_quartus_windows.exe】选择【以管理员身份运行】。5.点击【Install】。6.解压中。7.勾选【AllowA…

    2022年10月8日
    3
  • 同步传输与异步传输相比_以下效率最高的数据交换控制方式

    同步传输与异步传输相比_以下效率最高的数据交换控制方式在网络通信过程中,通信双方要交换数据,需要高度的协同工作。为了正确的解释信号,接收方必须确切地知道信号应当何时接收和处理,因此定时是至关重要的。在计算机网络中,定时的因素称为位同步。同步是要接收方按照发送方发送的每个位的起止时刻和速率来接收数据,否则会产生误差。通常可以采用同步或异步的传输方式对位进行同步处理。1.异步传输(AsynchronousTransmission):异步传输将比

    2025年11月22日
    4

发表回复

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

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