软件测试之接口测试面试题

1、接口的定义

系统与系统之间、组件与组件之间、数据传递交换的通道

2、接口的类型

按协议:http、tcp、ip

按语言:C++、java、php

按范围:系统与系统、内部系统与内部系统、外部系统与外部系统之间

程序划分:多个内部程序、内部系统与外部系统、模块与模块

3、接口的优点

责任划分清晰、缩短研发周期、可拓性强

4、接口测试的特点

1、接口测试可提前接入,提早发现bug,符合质量控制前移的理念

2、可以发现一些页面操作发现不了的问题

3、接口测试低成本高收益

4、不同于传统的单元测试,接口测试是从用户角度对系统进行全面的检测

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

2023最新【软件测试面试300问】面试八股文教程,涵盖自动化测试/接口测试/性能测试/测试开发等内容

5、接口测试的实现方式

1、使用接口测试工具来实现(比如:JMeter、postman、fiddler)

2、通过编写代码来实现(比如:python+request)

6、自动化接口测试的定义

让程序或工具代替人工自动完成对接口进行测试的一种过程,借助工具、代码、模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致。

7、网络编程基本概念

客户端(Client):移动应用(iOS、Android、Web等应用)

服务器(Server):为客户端提供服务、提供数据、提供资源等机器

请求(Request):客户端向服务器索取数据的一种行为

响应(Response):服务器对客户端发出请求做出的影响,一般指返回数据给客户端

8、HTTP协议

计算机网络中两台计算机之前进行通信所必须遵守的规则或规定。

HTTP协议:(Hyper Text Transfer Protocol)超文本传输协议,是一种规定了浏览器和服务器之前通信的规则。是一个基于请求与响应模式的、应用层协议、也是互联网上应用最为广泛的一种协议。

9、HTTP协议的特点

1、支持客户端服务器端模式

2、支持快速简单

3、灵活

4、无连接

5、无状态

10、URL(统一资源定位符)

是互联网标准的资源地址,HTTP使用URL建立连接和传输数据。

概念:互联网上资源的地址,位置。唯一的定义一个数据资源。

格式:协议:主机地址/路径

11、URL语法格式组成

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzkxMzI4ODgyOA==&action=getalbum&album_id=2068674408138768385#wechat_redirect

协议 域名IP 资源路径 查询参数

端口范围 0到65535、http默认80、https默认443

12、协议http规定数据传输的方式

域名ip:在网络环境中找到主机

端口(port):在网络主机上,标识一个进程(应用程序)

资源路径:标识网络资源(文件、图片、音视频、变量等等)

查询参数:传递给资源路径对应的数据,查询参数内部用&隔分多个键值对

13、请求分为两种:GET POST

GET:提交的数据显示在地址栏,不安全,提交的数据量有限制,不重要的数据使用

POST:隐式提交数据,更安全,没有数据量大小的限制,重要数据使用

14、数据传递的格式

1、纯文本的和简单的名称值对

2、ML格式:适用于标记文档,提供了对大规模数据的逐步解析方案

3、JSON格式:轻量级的数据交换格式,因为简单灵活适用于数据分析

15、HTTP请求

请求行:请求方法+URL+协议版本

请求头:请求体的数据类型User-Agent描述请求发送端的浏览器类型

请求体:post(添加,常用于登录) put(修改) 有请求体get(查询) delete(删除)没有请求体

16、HTTP响应

1XX:指示信息,表示请求已接受,继续处理

2XX:成功,表示请求已被成功接收、理解、接受,200 201

3XX:重定向,要完成请求必须进行进一步的操作

4XX:客户端错误,请求由语法错误或请求无法实现,404 403

5XX:服务器端错误

17、传统风格接口

查询某个用户:get和post

查询所有用户:get和post

添加用户:post

修改用户:post

删除用户:get和post

特点:

1、请求方法:只使用get和post即可

2、URL不唯一,同一个操作可以对应不同的URL

3、状态码的使用比较单一,200比较常见

18、RESTful接口

定义:一种软件架构设计风格而不是标准,只是提供了一组设计原则和约束条件

RESTful架构特点:

1、统一的接口:http(s)😕/服务器地址:端口号【项目名称/版本-可选】资源

http:// 为我们http协议的访问头标准

服务器地址:为我们项目服务器ip地址

端口号:为我们服务器内项目访问的指定编号

项目名称/版本:可选

资源:互联网-图片、音乐、视频、文本、数据

2、http请求方法

get:从服务器取出资源 一个或者多个

post:在服务器新建一个资源 单个或者多个

put:在服务器更新资源(客户端提供改变后的完整资源)

delete:从服务器删除资源

19、接口测试流程

1、需求分析,主要依据需求文档

2、接口文档解析,一般是由开发人员编写接口文档(API文档)

3、设计测试用例

4、执行测试,使用接口测试工具实现或通过编写代码实现

5、接口缺陷管理与跟踪

6、生成测试报告

7、接口自动化集成(可选)

开发:概要设计书、详细设计书、代码

测试:测试计划、测试方案、测试用例、执行测试用例、提交跟踪缺陷、编写测试报告

20、接口文档定义

又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。大家都根据这个文档进行开发,并需要一直维护和遵守。

21、为什么要写接口文档

1、能够让前端开发与后端开发人员更好的配合,提高工作效率(有一个统一参考的文件)

2、项目迭代或者项目人员更迭时,方便后期人员查看和维护

3、方便测试人员进行接口测试

22、接口文档内容

一个规范的接口文档要包含以下信息

资源路径:协议、域名、请求方法、接口描述

请求参数:请求头Content-Type描述请求体的数据类型

请求体:实现该接口使用的数据及对应类型

返回数据:状态码200,错误码(自定义错误码)码值+描述信息

最后我给大家整了一套软件测试面试文档,一共有216页,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。【点击文末小卡片免费领取软件测试全套资料】

基本涵盖了软件测试的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术面试绰绰有余!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/151390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QML20、布局

1.概述 首先,QML同样允许大家使用硬编码的方式将位置数值直接写到代码中,但是这样做首先难以适应UI的调整,其次代码维护起来也很困难。因此不推荐这样做。推荐大家使用的是以下三种布局管理器:Row,、Column、Grid、Flow,以及使用Anchor进行布局。 2.Row QML 中的 Row 元素…

js-webApi笔记1

目录 前言 Web API的概念 什么是DOM DOM树 1、查找元素 2、其他查找元素方法 3、操作元素 4、操作元素属性 5、 操作元素样式 style 6、操作自定义属性 7、 操作表单元素属性 8、事件 9、事件绑定 10、常用鼠标事件 11、定时器 12、定时器案例 前言 Web API的概念…

最长上升子序列模型 笔记

首先附上模板&#xff1a; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; typedef long long ll;const int N 100010;int n; int a[N], q[N];int main()…

Linux脚本shell中将Windos格式字符转换为unix

众所周知&#xff0c;windos的文档直接复制到linux服务器上去&#xff0c;是需要进行格式转换的&#xff0c;否则可能出现以下报错&#xff1a; 解决方法&#xff1a; vim 脚本 输入 :set ff ##会显示字符格式 :set ffunix ##转换为unix格式 :wq ##保存退出

Word添加附件(附件图标被挡住的问题)

本文主要是为了记录一下自己使用word添加附件的时候遇到的一个坑&#xff0c;就是添加了附件&#xff0c;附件图标没有展示的问题。 选择 插入——对象&#xff0c;然后点击由文件创建然后再点击浏览本地电脑中的文件&#xff0c;选择需要添加的文件&#xff0c;当然也可以选择…

2019年五一杯数学建模B题木板最优切割方案解题全过程文档及程序

2019年五一杯数学建模 B题 木板最优切割方案 原题再现 徐州某家具厂新进一批木板如表 1 所示&#xff0c;在家具加工的过程中&#xff0c;需要使用切割工具生产表 2所示的产品。假设&#xff1a;木板厚度和割缝宽度忽略不计。   请为该家具厂给出如下问题的木板最优切割方…

解决k8s通过traefik暴露域名失败并报错:Connection Refused的问题

我敢说本篇文章是网上为数不多的解决traefik暴露域名失败问题的正确文章。 我看了网上太多讲述traefik夸夸其谈的文章了&#xff0c;包含一大堆复制粘贴的水文和还有什么所谓“阿里技术专家”的文章&#xff0c;讲的全都是错的&#xff01;基本没有一个能说到点子上去&#xf…

如何在3DMax中使用超过16个材质ID通道?

3DMAX效果通道扩展插件EffectsChannelEx教程 3DMax的材质ID通道允许我们生成渲染元素&#xff0c;这些元素可用于在合成或其他软件中产生处理或特殊效果。如对渲染或动画进行颜色校正。你可以在Photoshop中为你的静态3D渲染图像做这件事。或者使用After Effects、Blackmagic Fu…

【MySQL】表的增删改查(进阶)

一、数据库约束 1.1 约束类型 &#x1f693;NOT NULL - 指示某列不能存储 NULL 值。 &#x1f693;UNIQUE - 保证某列的每行必须有唯一的值。 &#x1f693;DEFAULT - 规定没有给列赋值时的默认值。 &#x1f693;PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列&…

阿里云2核2G3M带宽服务器,新老用户同价99元/年!续费不涨价!

作为双11服务器中备受用户关注的一款&#xff0c;轻量服务器2核2G3M带宽优惠价87元一年的价格令人惊喜。不仅价格实惠&#xff0c;而且配置也十分出色。2核2G的配置足够应对一般网站和轻量级应用的需求&#xff0c;同时3M的带宽也能够保障数据的快速传输。对于个人网站、小型企…

如何设计短域名系统

输入可能是 一个冗长的域名&#xff0c;过期时间和自定义的别名输出 自定义别名或者随机生成的短域名&#xff0c;在过期时间到来之前访问都可以被重定向到冗长的域名上约束条件 1.过期后就失效 2.短域名是唯一的 3.自定义短域名长度在7个字符&#xff08;不包含域名长度&am…

代码随想录算法训练营第五十五天丨 动态规划part16

583. 两个字符串的删除操作 思路 #动态规划一 本题和动态规划&#xff1a;115.不同的子序列 (opens new window)相比&#xff0c;其实就是两个字符串都可以删除了&#xff0c;情况虽说复杂一些&#xff0c;但整体思路是不变的。 这次是两个字符串可以相互删了&#xff0c;这…

中国又一家手机企业赶超苹果,逼得苹果降价抢占3000元市场

今年第44周的数据显示&#xff0c;苹果再次失去了中国手机市场第一名&#xff0c;这对于苹果希望iPhone15热销带动销量的目标受挫&#xff0c;难怪苹果在双十一竭尽全力降价抢占市场了。 苹果的iPhone15上市确实带动了一波销售&#xff0c;不过仅仅维持了两周&#xff0c;随后1…

“具有分布式能源资源的多个智能家庭的能源管理的联邦强化学习”文章学习二

一、准备工作 本篇文章所使用的缩写总结如下表。 Markov决策过程&#xff08;MDP&#xff09;被定义为元组&#xff08;S&#xff0c;A&#xff0c;P&#xff0c;R&#xff0c;T&#xff09;&#xff0c;其中S和A是有限的有效状态集和所有有效动作的有限集。函数P : SA→ P(S)是…

Java排序算法之归并排序

图解 归并排序是一种效率比较高的分治排序算法&#xff0c;主要分为两个步骤&#xff0c;分别为“分”和“并”。 分&#xff1a;将序列不断二分&#xff0c;直到每个子序列只有一个元素为止。 并&#xff1a;将相邻两个子序列进行合并&#xff0c;合并时比较两个子序列的元素…

BUUCTF 被劫持的神秘礼物 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 某天小明收到了一件很特别的礼物&#xff0c;有奇怪的后缀&#xff0c;奇怪的名字和格式。小明找到了知心姐姐度娘&#xff0c;度娘好像知道这是啥&#xff0c;但是度娘也不知道里面是啥。。。你帮帮小明&#xff1…

工作中积累的对K8s的就绪和存活探针的一些认识

首先&#xff0c;我的项目是基于 Spring Boot 2.3.5 的&#xff0c;并依赖 spring-boot-starter-actuator 提供的 endpoints 来实现就绪和存活探针&#xff0c;POM 文件如下图&#xff1a; 下面&#xff0c;再让我们来看下与该项目对应的Deployment的YAML文件&#xff0c;如下…

2023最新最全【虚幻4引擎】下载安装零基础教程

1、创建Epic Games账户 我们先打开浏览器&#xff0c;输入以下网址&#xff1a;unrealengine.com 随后点击【立即开始】 选择许可证类型&#xff0c;此处提供三种选项&#xff0c;分别是【游戏】、【非游戏】以及【私人定制】 第一类许可证适用于游戏和商业互动产品&#xff…

Java代码实现贪吃蛇游戏

一、创建新项目 创建一个新的项目&#xff0c;并命名。创建一个名为images的文件夹用来存放游戏相关图片。然后再在项目的src文件下创建一个com.xxx.view的包用来存放所有的图形界面类&#xff0c;创建一个com.xxx.controller的包用来存放启动的入口类(控制类)。如下所示&…

msvcp140.dll文件的丢失原因以及五个解决办法

在计算机使用过程中&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题&#xff0c;我们需要采取一些措施来修复丢失的msvcp140.dll文件。本文将介绍五个处理办法&#xff0…