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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Qmake VS Cmake

    Qmake VS Cmake用cmake构建Qt工程(对比qmake进行学习)cmakevsqmakeqmake是为Qt量身打造的,使用起来非常方便cmake使用上不如qmake简单直接,但复杂换来的是强大的功能内置的out-ofsource构建。(目前QtCreator为qmake也默认启用了该功能。参考:浅谈qmake之sha

    2022年5月20日
    55
  • MT4-MQL4语言EA自动交易编程入门到精通[通俗易懂]

    MT4-MQL4语言EA自动交易编程入门到精通[通俗易懂]MT4-MQL4语言EA自动交易编程入门到精通

    2022年5月30日
    98
  • 十五、组合模式—— 容器与内容的一致性 #和设计模式一起旅行#

    组合具有一致性…故事背景坚持去输出真的很不容易,今天的的天气真的是热啊!我之前一直想些一个系列是和设计模式去旅行,通过构思一些场景,让自己更好的理解和表达设计模式,但是有时候为了思考一个适合的故事会花费很多时间,so,从这里开始,如果后面的设计模式想到了好的场景的话就写故事背景,要不就简单介绍,重点看故事主角。在现实生活中很多地方我们会使用到树形结构,在软件中也随处可见,例…

    2022年2月27日
    37
  • 贪吃蛇–[纯C实现]–[一步一步的讲解]–【有音乐】

    贪吃蛇–[纯C实现]–[一步一步的讲解]–【有音乐】目录一、游戏说明1.1游戏按键说明1.2计分系统二、游戏运行2.1游戏效果展示2.2一个报错的纠正2.3游戏代码三、游戏框架构建3.1游戏界面的大小3.2蛇头和蛇身3.2.1蛇头3.2.2蛇身3.3标记游戏区3.3.1存储游戏区的各个位置是什么3.3.2用宏来使某些数字具有特殊意义3.4菜单栏的设置四.隐藏光标的设置4.1光标信息的结构体成员4.2隐藏光标的实现4.3GetStdHandle函数使用介绍4.4…

    2022年9月5日
    3
  • Folium_个人基础信息介绍

    Folium_个人基础信息介绍folium基础内容介绍1.简介​ folium是js上著名的地理信息可视化库leafet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm或自行获取的osm资源和地图原件进行地理信息内容的可视化,以及制作优美的可交互地图,是通过不断添加图层元素来定义一个Map对象,最后以几种方式将Map对象展现出来。​ 而在Map对象的生成形式上,可以在定义所有的图层内容之后,将其保存为html文件在浏览器中独立显示,也可以基于j

    2022年10月29日
    0
  • python 内置函数详解

    python 内置函数详解

    2021年7月5日
    79

发表回复

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

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