接口测试、接口协议以及常用接口测试工具介绍

news2024/12/22 18:32:00

目录

一、前言:什么是接口

二、接口协议以及对应的接口测试工具

三、接口测试如何设计测试用例?

四、接口组成?

五、总结


一、前言:什么是接口

1.接口指的是软件提供给外界的一种服务。作用在于使其内部的数据能被外部进行修改的交互方式。

例如:USB接口,电脑里的数据可以看成是内容数据,而U盘里的数据可以看成是外部数据,那么USB接口的作用就是:电脑和U盘交互数据,也就是使电脑内部的数据能够和外部的U盘交换数据。

例如:微信的提现和充值,就调用银行对外开放的接口,这些接口有权限控制,一般需要鉴权码token才可以访问。那为什么要鉴权码呢?如果没有鉴权码约束,那是不是谁也可以修改银行内部的数据?那还得了,那就真可以定一个小目标了!

2.接口一般来说有两种:一种是程序内部的接口,一种是系统对外的接口。

系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app它在进行数据处理的时候都是通过接口来进行调用的。

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

                          

 

二、接口协议以及对应的接口测试工具

1、基于http协议的接口:

http协议又叫超文本传输协议,主要是用于浏览器和服务器之间交互数据,这种接口常使用get和post两种方法请求,基于这种协议开发的接口是目前市面上面最多的!一般使用的接口测试工具有:

Postman

Jmeter

2、基于webService协议的接口

webService是基于soap的通信协议,请求和返回报文一般是xml格式的。一般使用的接口测试工具有:

SoapUI

3、基于Dubbo协议的接口

1、dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况

2、不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。

3、基于Dubbo协议的接口一般也是使用SoapUI工具进行测试。

                       

 

三、接口测试如何设计测试用例?

接口测试一般考虑入参形式的变化和接口的业务逻辑,一般设计接口测试用例采用等价类、边界值、场景法居多!

接口测试设计测试用例的思路如下:

1.接口业务逻辑测试?(正例)

接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值

是否正确的测试,也就是测试对外提供的接口服务是否正常工作。

2.模块接口测试?(反例)

模块接口测试是为了保证数据的安全及程序在异常情况下的逻辑的正确性而进行的测试。?

模块接口测试的主要包括以下几个方面?

a.鉴权码token异常(鉴权码为空<没有鉴权码>,错误的鉴权码,过期的鉴权码)。

b.其他参数异常。

1、必填项检查

2、参数的长度、类型、格式异常:

常规参数:(数字、字符串、日期)

参数长度:6-18位。或身份证、电话的长度。

参数类型:数字(精度),字母,中文,带空格的参数,特殊字符。

日期格式:日期:年月日,年月日时分秒,日期格式(包括/,-,:等)。

a.错误码异常覆盖。

b.接口测试其他的关注点

接口有翻页时,页码与页数的异常值测试

数据库的增删改查,比如一个post接口操作完成后,通过列表页接口看下新的数据是否和刚才的post一致

接口返回的图片地址能否打开,图片尺寸是否符合需求

当输出参数有联动性时,需要校验返回两参数的实际结果是否都符合需求。

所有列表页接口必须考虑排序值

所有功能都要考虑兼容旧版本

四、接口组成?

1.接口都有那些部分组成呢?

由接口文档可知,接口至少应有:请求地址、请求方法、请求参数(入参和出参)组成,部分接口有请求头header。

2.header请求头和入参都是发送到服务器他们有什么区别呢?

首先,它们确实都是发送到服务器里的参数,但它们是有区别的,header里存放的参数一般存放的是一些校验信息,比如cookie,它是为了校验这个请求是否有权限请求服务器,如果有,它才能请求服务器,然后把请求地址连同入参一起发送到服务器,然后服务器会根据地址和入参来返回出参。也就是说,服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参的。

五、总结

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片加入群聊免费领取,与我一起学习交流。

                                                              

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

买的香港云服务器怎么用?云服务器使用教程

香港云服务器的优势及好处&#xff0c;使得很多人都愿意使用和推荐&#xff0c;推荐的人多了自然购买的人就多了&#xff0c;其中不乏很大部分新手&#xff0c;购买之后却不知道该怎么使用和管理登录等操作。下面我们聊聊香港云服务器怎么登录使用。 香港云服务器登录管理方法&…

论文浅尝 | 基于无监督标注的漏洞描述文本概念抽取

笔记整理&#xff1a;韩林峄&#xff0c;天津大学博士论文发表期刊&#xff1a;Transactions on Software Engineering and Methodology (TOSEM)动机软件漏洞对推进漏洞分析和安全研究具有巨大的潜力&#xff0c;人们往往使用自然语言来描述软件漏洞的关键特征&#xff0c;并在…

JAVA打印数字二进制编码逻辑说明

在我们学习算法的过程中&#xff0c;我们首先必须要知道的就是数据(尤其是数字)类型在底层保存的方式。因为这样才能使我们的算法变的更加高效。 在JAVA中我们常用的数字类型是int类型&#xff0c;有过基础的同学应该知道int数据类型的长度为32bit。但实际使用时需要注意只有3…

11 |「哈希表」简析

前言 前言&#xff1a;刷「哈希表」高频面试题。 文章目录前言一、简介1、离散化1&#xff09;什么是离散化2&#xff09;离散化存储3&#xff09;离散化映射2、哈希表1&#xff09;什么是哈希表2&#xff09;哈希表存储3&#xff09;哈希函数4&#xff09;哈希冲突二、参考链接…

Python爬取网页Flex渲染的动态内容

我最近使用Python爬取网页内容时遇到Flex渲染的动态页面&#xff0c;比如下图的课程目录标题&#xff0c;此时按鼠标右键&#xff0c;菜单里没有复制链接的选项。 目的&#xff1a;获取各个视频标题、链接。 按F12进入开发者模式分析网页&#xff0c;可见有多个flex标签&#…

通用视觉框架OpenMMLab图像分类与基础视觉模型

文章目录流程传统方法&#xff1a;设计图像特征(1990s~2000s)特征工程的天花板从特征工程到特征学习层次化特征的实现方式AlexNet 的诞生& 深度学习时代的开始图像分类的数学表示AlexNet (2012)Going Deeper (2012~2014)VGG (2014)GoogLeNet (Inception v1, 2014)精度退化问…

ROS2 基础概念 动作

ROS2 基础概念 动作1. Actions2. 动作3. 中止目标4. 动作类型5. 动作请求1. Actions Actions 动作是ROS 2中的通信类型之一&#xff0c;适用于长时间运行的任务 它们由三部分组成&#xff1a;目标、反馈 和 结果&#xff0c;操作基于话题和服务 它们的功能类似于服务&#xff…

【大数据clickhouse】clickhouse 数据一致性保障常用解决方案

一、前言 对于任何一个数据存储的框架来说&#xff0c;确保数据的一致性都是其非常重要的组成部分&#xff0c;不管是过程中的强一致性&#xff0c;还是最终一致性&#xff0c;都是数据一致性的解决方案&#xff0c;本篇来聊聊clickhouse中的数据一致性问题。 二、clickhouse …

JMeter使用BeanShell断言

BeanShell简介BeanShell是使用Java语法的一套脚本语言&#xff0c;在JMeter的多种组件中都有BeanShell的身影&#xff0c;如&#xff1a;定时器&#xff1a;BeanShell Timer前置处理器&#xff1a;BeanShell PreProcessor采样器&#xff1a;BeanShell Sampler后置处理器&#x…

软件的生命周期(软件工程各阶段的工作)

其实软件工程是一个非常大的概念&#xff0c;我们的软件测试也好&#xff0c;软件开发也好&#xff0c;软件运维也好&#xff0c;其实都是属于软件工程的范畴。 今天就讲一讲软件工程和我们软件测试相关的一些内容。 我们今天三个主要的节点&#xff1a; 1.软件的生命周期 至…

QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托

1 写在前面的话 我们在之前写的《QT(7)-初识委托》文章末尾提到&#xff0c;“使用一个类继承QStyledItemDelegate实现常用的控件委托&#xff0c;在使用时可以直接调用接口&#xff0c;灵活实现各种委托”。我们接下来几篇文章将先详细讲解各个控件的委托&#xff0c;最后整理…

怎么理解输入输出流 - 输入输出流之我解

背景 昨天领导开会&#xff0c;讨论两个接口之间参数问题&#xff0c;这个参数涉及文件传递的需求&#xff1b;其中一句话引起了我的思考&#xff1a;“参数怎么定义&#xff1f;能不能定义成字符流&#xff1f;” 当时我沉思了一下&#xff0c;懵的 没明白她的意思 我理解的比…

swagger2接口文档

文章目录简介Open APISwagger简介Spring-fox入门案例第一步&#xff1a;导入依赖第二步&#xff1a;编写controller类第三步&#xff1a;编写启动类第四步&#xff1a;运行启动类并访问ui页面Swagger UI 介绍基础信息配置自定义注解&#xff08;防止有些类不生成接口文档&#…

数据结构:数组及特殊矩阵

数组及特殊矩阵一、认识数组1️⃣ 定义2️⃣ 存储结构1. 一维数组2. 二维数组二、特殊矩阵的压缩存储1️⃣ 对称矩阵&#x1f4a4;思考1&#xff1a;有多少个二维元素A[0...n-1][0...n-1]存于一维元素中❓&#x1f4a4;思考2&#xff1a;按行排列&#xff0c;二维数组A[0...n-1…

198分成功上岸浙江工业大学MBA的备考经验分享

我是2022年刚被浙江工业大学MBA项目录取的一名新生&#xff0c;新的一年管理类联考备考已经开始&#xff0c;最近身边有很多小伙伴也都在咨询这方面的信息&#xff0c;趁着今天有空给大家分享下我的经验。 在备考开始之前首先要确定目标&#xff0c;因为工作在杭州&#…

【正点原子Linux连载】第四章 SDK包的使用 摘自【正点原子】ATK-DLRV1126系统开发手册

1&#xff09;实验平台&#xff1a;正点原子RV1126 Linux开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692176265749 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第四章 S…

学习周报-20230203

文章目录一 在rhel7系统使用Mariadb一 联系和区别二 需求三 部署安装3.1 环境准备3.2 安装软件包3.3 启动服务3.4 设置防火墙策略四 创建用户和库表4.1 登录数据库4.2 创建用户4.3 创建数据库和表五 备份和恢复5.1 备份 com 数据库5.2 模拟误删除操作5.3 恢复表二 使用grep忽略…

如何建立异形板框的内缩和外扩

如何建立异形板框的内缩和外扩 首先把需要内缩和外扩的外形图设置在信号层&#xff08;比如TOP&#xff09;&#xff0c;把线宽改为0mil&#xff08;方便计算&#xff09;。然后选择外形图&#xff0c;执行命令TJ&#xff0c;就可以得到内缩和外扩图形。然后把生成的图形修改到…

Linux-查找文件、软链接、打包压缩和软件安装

查找文件find软链接ln打包和压缩tar软件安装apt-get1.查找文件find命令功能强大&#xff0c;通常用来在特定的目录下搜索符合条件的文件序号命令作用01find[路径] -name"*.py"查找指定路径下扩展名是.py的文件&#xff0c;包括子目录如果省略路径&#xff0c;表示在当…

最新整理Spring面试题2023

Spring面试专题 1.Spring应该很熟悉吧&#xff1f;来介绍下你的Spring的理解 有些同学可能会抢答&#xff0c;不熟悉!!! 好了&#xff0c;不开玩笑&#xff0c;面对这个问题我们应该怎么来回答呢&#xff1f;我们给大家梳理这个几个维度来回答 1.1 Spring的发展历程 先介绍…