全面解析接口测试和接口测试必需掌握的知识要点

接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

接口测试原理

通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一过程(request(请求)→response(响应))

接口测试的流程

类似于功能测试,需求讨论→评审需求→确定需求→产出接口定义→根据需求文档及接口定义设计测试用例(测试用例主要从业务场景,功能以及异常测试几个方面考虑)→评审用例→执行测试

 

接口测试的适用范围

一般用于多个系统间的交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统。主要测试这些对外部提供的接口的正确性和稳定性。它也同样适用于上层系统中服务层接口,测试难度随层级而上升。即越往上难度越大。

接口测试的价值

降低成本,提高效率。接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。它是一个完整的体系,还包括功能测试,性能测试等。

接口测试的分类

a) 系统与系统之间的调用(如分享时,微信会提供接口给“跑向珠峰”);

b) 上层服务对下层服务的调用 ;

c) 服务之间的调用(如添加一条数据时,会先调用数据查询的服务,查询改数据是否是重复数据);

不同类型的接口测试方法可能不一致,但总体来说,不管是哪种类型,被测接口即为服务方,测试手段为客户方,接口测试的目的就是:通过我们的测试手段,去验证满足其声明提供的功能。

简单设计接口测试的用例

a) 明确出发点——测试的目的是为了找出软件的缺口,修复并使之更加完善。在这一基础点上,接口测试也不例外。以找出软件的误漏为出发点,测试用例需紧贴此线,更容易找出问题所在。

b) 明确测试点——选择好的测试对象。系统内部层次繁复复杂,任何一个接口的变动都将导致用例失效。(可将这些最外层的接口根据数据的流向分为进入和流出两类,进入系统的接口实际上是我们用例的执行调用的接口。可通过参数对这些接口进行调用,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。数据从哪里流出,流出的状态如何,此时系统的状态都是作为测试目的所要着重关注的部分)

c) 确认完整的测试对象的功能——确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要的是什么样的功能予以区别。用例的设计要严格按照测试对象功能设计才是正确的用例。

测试用例包括哪些内容

功能点,测试环境,测试数据,执行操作以及预期结果。

a) 接口测试测试的功能点:如果一个接口功能过于复杂时,可以对接口用例进行结构划分(如根据层次,平台,功能点等等),这样用例具有更好的可读性(接口划分原则为:以接口提供的功能点的不同进行合适粒度的划分,同一功能点的用例又可根据测试环境的不同,数据的不同进行用例的填充)

b) 接口测试用例的环境:程序内部环境和程序所调用的外部接口的环境。

c) 关于接口测试测试数据:分为两部分:接口参数数据和用例执行所需系统数据。数据的设计、准备测试用例的数据不可马虎。通过好的测试数据查找问题,能极大的提高工作效率。接口参数数据需要对每个参数根据测试接口的实际功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列,不要遗漏某些边界值和错误点的数据,这样用例更容易发现问题。

d) 执行操作:即对所测接口的调用。

e) 预期结果:根据需求进行验证,是衡量软件是否达到预期的标准。应该着重细致,每个用例均需验证,应该避免一个用例重复做相同的验证,提高测试用例的效率。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

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

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

相关文章

牛客小白月赛71E题题解

文章目录 猫猫与数学问题建模问题分析1.转换条件2.分析新的gcd3.方法1筛约数判断代码 4.方法2筛质因子判断代码 猫猫与数学 问题建模 给定两个正整数a,b,问能否找到最小的整数c,使得gcd(ac,bc)不等于1,若可以输出c,不…

牛奶产业链的工业“链主品牌”利乐是如何诞生的?

瑞典的利乐公司,一个在乳品产业链中占据重要地位的“链主品牌”,通过提供创新的包装材料和解决方案,在全球范围内占据了显著的市场份额。利乐从不生产一滴奶,却赚取了中国乳业 75%的利润,一年创收超过 800 亿人民币。在…

提取有像素的掩码和原图

有些数据集给的掩码是全黑图片,需要将全黑的掩码剔除,保留有标签的掩码。 DDR-dataset 眼底图像处理 from PIL import Image import cv2 import osdef extract_mask_and_original(mask_path, original_path, output_folder):# 读取黑白掩码图片和同名原…

Spring 使用注解储存对象

文章目录 前言存储 Bean 对象五大注解五大注解示例配置包扫描路径读取bean的示例 方法注解 Bean Bean 命名规则重命名 Bean 前言 通过在 spring-config 中添加bean的注册内容,我们已经可以实现基本的Spring读取和存储对象的操作了,但在操作中我们发现读…

【果树农药喷洒机器人】Part3:变量喷药系统工作原理介绍

本专栏介绍:免费专栏,持续更新机器人实战项目,欢迎各位订阅关注。 关注我,带你了解更多关于机器人、嵌入式、人工智能等方面的优质文章! 文章目录 一、变量喷药系统工作原理二、液压通路设计与控制系统封装2.1液压通路…

活动预告|聊聊Moonbeam治理和生态Grants

为Web3设计良好的治理机制是一项具有挑战性的任务。去中心化治理系统对于Web3的发展至关重要。高效运行的治理机制有助于项目的稳定运行,同时又能提升社区用户的参与度,Web3开发者的凝聚力和活跃度,甚至促进更多创新的商业应用在公链生态落地…

VLAN监控及常见问题排查

局域网,我们通常称为LAN,是一种由基于同一地理位置的设备组成的网络,可实现它们之间的通信,局域网的虚拟对应物是虚拟局域网或 VLAN。VLAN 增强了 LAN,提供了进行更改的灵活性、更高的可扩展性和更好的安全性。 使用 …

【Spring专题】Spring底层核心原理解析

目录 前言阅读导航前置知识Q1:你能描述一下JVM对象创建过程吗?Q2:Spring的特性是什么?前置知识总结 课程内容一、Spring容器的启动二、一般流程推测2.1 扫描2.2 IOC2.3 AOP 2.4 小结三、【扫描】过程简单推测四、【IOC】过程简单推…

install imap error

【错误翻译】 Try to run this command from the system terminal. Make sure that you use the correct version of pip installed for your Python interpreter located at D:\Program Files (x86)\Python\Python39\python.exe. 尝试从系统终端运行此命令。请确保使用安装在…

竞赛项目 疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据全国疫情数据分析与3D可视化 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xff0…

Vue+SpringBoot项目开发:后台登陆功能的实现(二)

写在开始:一个搬砖程序员的随缘记录文章目录 一、SpringBoot项目的搭建二、数据库配置1、新建数据库2、新建用户表 三、SpringBoot项目的配置 一、SpringBoot项目的搭建 项目搭建传送门:从零开始,SpringBoot项目快速搭建 二、数据库配置 1、新建数据库…

nacos安装与启动相关问题(启动闪退和显示此站点的连接不安全)

问题:启动闪退 尝试: 使用记事本打开cmd文件,在文件结尾处新增两行 pause endlocal 如果还有问题:ERROR Nacos failed to start, please see D:\dev\nacos\logs\nacos.log for more details 尝试: 在nacos的bin目…

【100天精通python】Day30:使用python操作数据库_数据库基础入门

专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 数据库基础知识介绍 1.1 什么是数据库? 数据库是一个结构化存储和组织数据的集合,它可以被有效地访问、管理和更新。数据库的目的是为了提供一种可靠的…

Python-OpenCV中的图像处理-边缘检测

Python-OpenCV中的图像处理-边缘检测 边缘检测Canny算子 边缘检测Canny算子 Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在 1986 年提出的。它是一个有很多步构成的算法:噪声去除、计算图像梯度、非极大值抑制、滞后阀值等。 Canny(i…

Android:换肤框架Android-Skin-Support

gihub地址:https://github.com/ximsfei/Android-skin-support 样例: 默认: 更换后: 一、引入依赖: // -- 换肤依赖implementation skin.support:skin-support:4.0.5// skin-supportimplementation skin.support:ski…

Linux系统的Centos7扩容主分区

前言:在学习C#的过程中电脑里面的项目,镜像越来越多之前装系统的时候分配的空间太小导致Linux系统空间不足,应该怎么办呢,lets go 跟着我来将centOS 7扩容吧. 1.关闭虚拟机,在VMWare的”此虚拟机设置“中找到硬盘&…

半年报增幅超预期,但汤臣倍健还是喂不饱年轻人?

文|琥珀消研社 作者|朱古力 谁也想不到,进入三伏天以后首个运动潮流会是“晒背”。 小红书上近5万条“晒背”相关的笔记里,多数都是对“什么时候晒背”、“晒多久合适”等入门级问题的答疑解惑,微博热搜词条更是针对性地给出了“晒背最佳时…

19 | 首尔自行车共享需求预测

文章目录 首尔自行车共享需求预测1. 问题陈述2. 数据描述3. 项目的业务用途是什么?4. 模型构建步骤5. 数据可视化1)热力图2)按季节分的租赁自行车数量3)假日和非假日租赁自行车数量4)太阳辐射与租赁自行车数量5)租赁自行车数量和一天的小时数6)特征重要性首尔自行车共享…

如何选择适合自己的文件传输工具

随着互联网的发展,人们处理文件的需求也随之增加。不管是工作还是生活中,文件传输都是一个非常常见的问题。因此,如何选择适合自己的文件传输工具也越来越重要。在本文中,我将从以下几个方面进行分析和总结,希望能为大…

应用案例|基于三维机器视觉的机器人纸箱拆码垛应用解决方案

Part.1 项目背景 在现代物流和制造行业中,纸箱的拆码垛操作是一项重要且频繁的任务。传统的纸箱拆码垛工作通常由人工完成,这种方式存在劳动强度大、生产效率低以及人为操作容易导致错误等问题,严重影响物料的安全运输和质量。为了满足物流行…