1.2 接口测试之基本介绍

接口测试之基本介绍

=================

1、接口测试啊

接口测试也叫api,

定义:测试系统和系统之间的数据交换,模块与模块之间的数据交互,程序与程序之间的数据交互;

如: http://cms.duoceshi.cn/manage/loginJump.do登录接口

2、为什么做接口测试?

(1)当界面还没有出来时,测试人员可以做接口测试(提前介入测试)

(2)节省时间

(3)测试一些功能测试测试不到的场景(比如:金额的负数)

3、如何做接口测试?

通过代码或接口测试工具进行接口测试:

工具:postman,jmeter

代码:python+request

4、在公司中具体情况?

(2)前台开发和后台开发是独立进行的,一个项目是由前后台组成,最终我们要进行前后台联调,这个时候我们就要使用接口,拿在前后台联调前,我们需要对不同的接口测试。

(2)第三方接口测试

5、什么是联调测试?(了解联调)

联调测试性质:集成测试,又称组装测试,联合测试,联调测试,等,侧重点在于模块间接口的正确性,各模块间的数据流和控制流是否按照设计实现其功能,以及集成后整体功能的正确性。

联调测试关注点:模块间的接口,至于模块怎么划分要根据具体项目来有针对性的划分。

6、在接口还没有测试,有一些无法实现的场景?(比如a公司,b公司对接。开发开发的过程中通过加测试来模拟)

桩,(开发写桩)

mock  假测试

==============================================

二、接口测试基础网络基础

1、网络的概念:网络信息传输,交换、接收、共享的虚拟平台,通过它把个点、线、面的信息联系在一起,从而实现资源共享。

2、网络的四要素:

(1)有独立的计算机

(2)通讯设备和通讯线路

(3)网络

(4)实现资源共享

3、网络的发展阶段

(1)远程终端连接      20世纪60年代初        xshell或linux

(2)局域网                 20世纪60年代中        校园网

(3)广域网                 20世纪80年代         跨城市 

(4)信息高速阶段      视频,光纤

4、服务模式

isp  (电信,移动,联通,广电)

icp  (新浪、腾讯、抖音)

5、网络的分类

(1)按覆盖范围分

局域网=====城域网=====广域网

(2)按拓扑结构

总线型、环型、星型、网状型

(3)按传输介质分

有线网、无线网、光纤网

6、网络协议tcp/ip(重要)

(1)什么是tcp和ip协议

文件传输协议,规定的一种计算机语言

(2)tcp协议(重点)

5层协议(国内)

物理层,数据链路层、网络层、传输层、应用层

7层协议(国际)

物理层,数据链路层、网络层、传输层、(会话层、表示层、应用层)

7、http协议的讲解:

(1)http 协议是一个超文本协议,是用于万维网服务器传输超文本到本地浏览器的传送协议,http协议的端口号:80

(2)http协议的原理:

http在客户端和服务端上,浏览器作为http客户端通过url向http服务器发送请求,服务器接收到请求后,在向客户端发响应信息

 8、https协议详解?

定义:超文本传输安全协议,web服务器存在http和https两种通讯方式,http对于传输采用不加密的方式,https是在数据传输的过程中,需要用ssl/tls对数据进行加密和解密

https=http+tls或ssl   端口号:443

9、https和http的区别

(1)端口号不一样: http端口号80, https是443

(2)https是加密传输,http是不加密传输

(3)http页面响应速度要比https快

(4)https比http更耗费服务资源

10、tcp 传输控制协议:

(1)三次握手 (tcp建立连接)

 

 (2)四次挥手

 

11、协议和端口

12、接口常用的工具?

(1)fiddler   (抓包软件,也是一个调试工具)

(2)postman  接口工具

(3)jmeter  接口工具

(4)charles   mac系统抓包工具

13、接口的类型有哪些?

(1)http接口 (我们讲)

(2)rpc接口

(3)rmi接口

(4)webservice 接口

(5)restful接口

 14、接口测试的流程?

a:有接口文档

(1)接口文档(开发,如果接口文档),参考接口文档,没有就是自己去抓包

(2)根据获取的接口,根据入参和响应参数,进行编写接口用例

(3)接口测试用例评审

(4)接口测试用例导入用例管理工具(禅道)

(5)搭建好测试环境

(6)使用接口工具或代码去调试接口

(7)有bug通过bug管理工具提bug给开,开发修改,测试验证

(8)测试完后,输出接口测试报告

b:没有接口文档

(1)通过抓包工具,抓取接口 

(2)根据获取的接口,根据入参和响应参数,进行编写接口用例

(3)接口测试用例评审

(4)接口测试用例导入用例管理工具(禅道)

(5)搭建好测试环境

(6)使用接口工具或代码去调试接口

(7)有bug通过bug管理工具提bug给开,开发修改,测试验证

(8)测试完后,输出接口测试报告

fn+f12  开发者工具

1、查看接口 (例如:cms登录接口)

url:http://cms.duoceshi.cn/cms/manage/index.do

2、按fn+12

 3、找到接口后,在分析接口

 

 

 General部分:
Request URL:资源的请求url #  (重点)
Request Method:HTTP方法  (方式)
Status Code:响应状态码  
200(状态码) OK
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
Response Headers:(响应头信息)
Content-Encoding:gzip 压缩编码类型
Content-Type:text/html 服务端发送的类型及采用的编码方式  (入参格式)
Date:Tue, 14 Feb 2017 03:38:28 GMT 客户端请求服务端的时间
Last-Modified:Fri, 10 Feb 2017 09:46:23 GMT 服务端对该资源最后修改的时间
Server:nginx/1.2.4 服务端的Web服务端名
Transfer-Encoding:chunked 分块传递数据到客户端
Response Headers:
Accept:客户端能接收的资源类型
Accept-Encoding:gzip, deflate(客户端能接收的压缩数据的类型)
Accept-Language:en-US,en;q=0.8 客户端接收的语言类型
Cache-Control:no-cache 服务端禁止客户端缓存页面数据
Connection:keep-alive 维护客户端和服务端的连接关系
Cookie:客户端暂存服务端的信息
Host:www.jnshu.com 连接的目标主机和端口号
Pragma:no-cache 服务端禁止客户端缓存页面数据

==========================

url :  ip+接口路径

 url 有: uri 、url、urn

uri:统一资源标识符(主机名)

urn :统一资源名称

urL:统一资源定位符  (重点)

主要记录使用的协议,访问资源的具体路径

==========================

1、接口的请求方法:

get (常用)

post(常用)

put

delete

2、get和post请求的区别

(1)get的请求数据在地址栏上,post在请求数据在body中

(2)get请求的安全性要低于post请求

(3)get请求数据量比较小,post请求量相对于更大

=====================================

响应状态码(重点:常用的状态码必须记下来)

常见的HTTP状态码:

200 - 请求成功

301 - 资源(网页等)被永久转移到其它URL

200和304都可以认为请求成功,200还要readystatus为4,这两个符合就可以去加载了

404 - 请求的资源(网页等)不存在,请求故障

500 - 内部服务器错误,服务端故障

HTTP状态码分类

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

HTTP状态码分类

1 信息,服务器收到请求,需要请求者继续执行操作

2 成功,操作被成功接收并处理

3 重定向,需要进一步的操作以完成请求

4 客户端错误,请求包含语法错误或无法完成请求

5** 服务器错误,服务器在处理请求的过程中发生了错误

HTTP状态码列表:

100 Continue 继续。客户端应继续其请求

101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议

200 OK 请求成功。一般用于GET与POST请求

201 Created 已创建。成功请求并创建了新的资源

202 Accepted 已接受。已经接受请求,但未处理完成

203 Non-Authoritative Information 非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本

204 No Content 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档

205 Reset Content 重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域

206 Partial Content 部分内容。服务器成功处理了部分GET请求

300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择

301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替

302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI

303 See Other 查看其它地址。与301类似。使用GET和POST请求查看

304 Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源

305 Use Proxy 使用代理。所请求的资源必须通过代理访问

306 Unused 已经被废弃的HTTP状态码

307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向

400 Bad Request 客户端请求的语法错误,服务器无法理解

401 Unauthorized 请求要求用户的身份认证

402 Payment Required 保留,将来使用

403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求

404 Not Found 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面

405 Method Not Allowed 客户端请求中的方法被禁止

406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求

407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权

408 Request Time-out 服务器等待客户端发送的请求时间过长,超时

409 Conflict 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突

410 Gone 客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置

411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息

412 Precondition Failed 客户端请求信息的先决条件错误

413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息

414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理

415 Unsupported Media Type 服务器无法处理请求附带的媒体格式

416 Requested range not satisfiable 客户端请求的范围无效

417 Expectation Failed 服务器无法满足Expect的请求头信息

500 Internal Server Error 服务器内部错误,无法完成请求

501 Not Implemented 服务器不支持请求的功能,无法完成请求

502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求

503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中

504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求

505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理

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

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

相关文章

CVPR 2024 | 拖拽P图又双叒升级了!DragNoise实现更快更准的拖拽编辑

前言 新加坡管理大学何盛烽团队联合华南师范大学在 CVPR 2024 上发表了工作《Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation》。这一工作聚焦于利用扩散模型语义传播实现交互式点控制的图像编辑,只需点几个点,即…

JVM从1%到99%【精选】-初步认识

目录 🥞1.什么是JVM 🍿2.JVM的功能 🥓3.常见的JVM 🌭4.JVM的位置 🧂5.JVM的整体结构 🎃6.JVM的生命周期 🎈7.JVM的架构模型 1.什么是JVM JVM本质上是一个运行在计算机上的程序,他的职责…

YOLOv7创新改进: 小目标 |新颖的多尺度前馈网络(MSFN) | 2024年4月最新成果

💡💡💡本文独家改进:多尺度前馈网络(MSFN),通过提取不同尺度的特征来增强特征提取能力,2024年最新的改进思路 💡💡💡创新点:多尺度前馈网络创新十足,抢先使用 💡💡💡如何跟YOLOv8结合:1)放在backbone后增强对全局和局部特征的提取能力;2)放在detect…

【THM】Metasploit: Introduction(简介)-初级渗透测试

介绍 Metasploit是使用最广泛的开发框架。Metasploit是一个强大的工具,可以支持渗透测试的所有阶段,从信息收集到后利用。 Metasploit有两个主要版本: Metasploit Pro:商业版本,有助于任务的自动化和管理。该版本有图形用户界面( GUI)。Metasploit Framework:从命令行…

水库水位监测:从传统到现代的技术革新与数据应用

水库,作为水利工程的关键设施,在防洪、灌溉、发电和供水等多个领域具有不可替代的作用。而水库的水位变化,直接关联到其功能的发挥及周边生态环境的稳定。因此,对于水库水位的科学、精准监测显得尤为关键。 一、传统方法的局限 过…

使用ORDER BY进行排序

ASC:升序,默认 DESC:降序 SELECT employee_id, first_name, salary FROM employees ORDER BY salary ASC; SELECT employee_id, first_name, salary FROM employees ORDER BY salary DESC; 二级排序 按salary降序,employee_id升…

【智能排班系统】基于SpringSecurity实现登录验证、权限验证

文章目录 SpringSecurity介绍sss-security实现依赖工具类Jwt工具JSON响应工具加密工具类 用户上下文用户信息实体类用户上下文 自定义重写自定义无权限的报错自定义密码加密自定义用户类 过滤器登录过滤器权限过滤器 Service登录Service 配置类说明登录验证权限验证IP流量限制 …

【LeetCode】热题100:排序链表

题目: 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5] …

对抗样本攻击

对抗样本是指经过特殊设计或调整的输入数据,旨在欺骗人工智能模型,使其产生错误的预测或输出。对抗样本通常是通过对原始输入进行微小但精心计算的改变,使得模型产生意外的结果。这种模糊化的输入可能难以从人类角度甄别,但对机器…

python 02字符串

字符串可能是用到最多的数据类型了,所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串 但别忘了字符串是不可变的,因此所有的元素赋值和切片赋值都是非法的。 1.居中效果 默认为空格 可…

纯小白蓝桥杯备赛笔记--DAY9(动态规划)

文章目录 一、动态规划基础(1)线性DP简介步骤例题数字三角形--1536破损的楼梯-3367安全序列-3423 (2)二维DP简介例题摆花--389选数异或--3711数字三角形--505 (3)最长公共子序列LCSLCS算法模型最长公共子序…

Docker容器与虚拟化技术:OpenEuler 部署 ES 与 Kibana

目录 一、实验 1.环境 2.OpenEuler 部署 ES (EalasticSearch) 3.OpenEuler 部署 Kibana 4.部署 Elasticvue插件 5.使用cpolar内网穿透 6.使用Elasticvue 一、实验 1.环境 (1)主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 1…

C语言之指针的指向地址和指针的内容总结(八十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Notion 开源替代品 AFFINE 部署和使用教程

AFFiNE 是一款完全开源的 Notion Miro 替代品,与 Notion 相比,AFFiNE 更注重隐私安全,优先将笔记内容保存到本地。 GitHub 地址:https://github.com/toeverything/AFFiNE AFFiNE 使用 Rust 和 Typescript 构建,只需…

【微服务】SpringCloud之Feign远程调用

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

【漏洞复现】易宝OA GetProductInv接口存在SQL注入漏洞

漏洞描述 易宝OA是一款功能非常强大的办公软件。用户通过软件里可以轻松的进行移动办公,功能非常的丰富,可以满足用户的各种办公需求,让你的办公效率有了有效的提高,通过软件里可以轻松的解决用户的各种办公事项。易宝OA GetProductInv接口存在SQL注入漏洞。 免责声明 …

【LeetCode】--- 动态规划 集训(二)

目录 一、63. 不同路径 II1.1 题目解析1.2 状态转移方程1.3 解题代码 二、931. 下降路径最小和2.1 题目解析2.2 状态转移方程2.3 解题代码三、174. 地下城游戏3.1 题目解析3.2 状态转移方程3.3 解题代码 一、63. 不同路径 II 题目地址: 不同路径 II 一个机器人位于…

机器学习数据预处理—统计分析方法

数据预处理 1 数据规范化 量纲,指将一个物理导出量用若干基本量的乘方之积表示出来的表达式。数据的比较需要关注两点——绝对数值和量纲,而特征间因为量纲的存在导致无法直接通过绝对数值比较大小,也就无法判断特征间的重要性。例如若某个…

中霖教育:注册会计师专业阶段考试难吗?

注册会计师专业阶段考试包含的考试科目众多,涉及的专业领域广泛,所以整体的难度相对较高。根据历年统计数据,该阶段的通过率平均约为22%,综合阶段的通过率在72%。 针对专业阶段,具体包括以下六门科目:《会…

DC9 Debian和sql注入

信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…