接口测试简介

news2024/11/22 22:12:25

接口测试简介

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

                                                                                    ——百度百科!          
 
 
一、基础介绍
1、什么是接口
我们常说的接口一般指2种
1)API:应用程序编程接口
2)GUI:图形用户界面(接口)
这里我们主要说API——接口测试
 
2、接口测试的目的
测试接口的正确性和稳定性(持续集成是接口测试的核心)
 
3、接口测试的原理
模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的一个过程。
 
4、接口测试的重点
检查数据的交换,传递和控制管理过程,还包括处理的次数
 
5、接口测试用例设计
接口测试对象主要为接口,但随着系统复杂度越来越高,接口越来越多,完全覆盖是一件很困难的事情,且实际过程中任意接口的变动都可能导致我们接口测试用例不可用,
所以通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)。
PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能。
 
6、接口测试的优点
天生为高复杂性的平台带来高效的缺陷监测和质量监督能力;平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本)
 
二、接口分类及分析方法,测试重点
1、功能分类
1)功能间接口:系统中功能模块间的接口,比如:ERP系统中采购模块和库存模块之间的接口
     特点:一般部署在同一个服务器中,并且使用同一个数据库
     测试方法:通常采用黑盒测试方法,注意接口数据在不同模块间的走向;尤其是接口间的逻辑控制关系
     例如:销售发货,检查库存可用量,如可用量不足,则不允许发货
2)系统间接口:不同系统间的接口,比如:银行的各个系统间的接口。核心系统和各个外围系统之间都是此类接口
     特点:部署在不同服务器上,不仅采用不同的数据库,而且数据库类型还有可能不同
     测试方法:通常采用白盒测试方法,关注系统间接口的实现方式
     例如:接口文件类型、接口文件格式、接口文件处理方式等
 
2、类型分类
1)业务接口:系统或功能间有业务逻辑关系,比如:ERP系统中,采购入库后,会生成库存入库单,影响可用量等,也可称为:联机接口
     特点:接口间有业务逻辑的上下游关系,可能会涉及跨系统或者模块的逻辑控制,以及反向操作
     测试方法:通常黑盒测试方法,注重分析业务逻辑,采用路径覆盖法分析,重点:注意正向反向操作的测试
2)数据接口:接口数据有上下游关系,比如:企业征信系统,要通过数据交换平台获取核心系统的数据,也可称为:批量接口
     特点:系统间只存在数据的上下游关系,而且都是进行批量处理
     测试方法:通常采用白盒测试方法,关注数据的文件格式,以及记录数及内容是否正确,还要考虑数据加密问题
 
3、数据方向分类
1)单向接口:数据在接口中是单向流动,但根据实现方式分为单项推或单项取
     比如:数据仓库和各系统间的接口基本都是单项的,一方面前端系统向数据仓库推送数据,一方面后端系统从数据仓库取数据仓库提供的数据
     特点:不管是单向推还是单项取,都会有一个FTP地址,存放指定数据文件,并且有定时存取规则,可从日志中查看结果
     测试方法:通常采用黑盒白盒结合的测试方法,着重数据文件格式,是否按照规则存取等
2)双向接口:两个系统间的数据有往来,比如:综合报文处理系统和核心系统,从何报文处理系统即接受核心系统发送的数据,又要将处理结果反馈给核心系统
     特点:可以将不同数据方向的接口分开分析,当做两个单项接口,注意来往数据通常具有关联性
     测试方法:通常采用黑盒白盒结合的测试方法,注重来往数据的关联性,合理设计测试数据,制定测试执行计划
 
4、数据读写方式分类
1)单独读写接口:数据在接口中不仅单项流动,而且都是读或者写的单独操作,比如:前面提到的各系统和数据仓库的数据交换
     特点:与单项接口相似
     测试方法:黑盒白盒相结合的方法,注意读写的权限,以及单接口功能未正常实现时,系统是否有异常处理机制
2)即读又写接口:系统间接口处理时,即读取又写入,比如:贷款合同管理和核心系统,先读取核心系统中的合同信息,添加合同成功后,又将合同编号回写到核心系统中
     特点:一般都是业务类接口,非数据类接口,并且都有逻辑控制的要求
     测试方法:通常采用黑盒测试方法,注意业务逻辑控制,不仅要检查读取的数据是否正确,还要检查回填数据是否正确
 
5、层级分类
1)直接(联机)接口:系统或模块间的接口是直接联通的
     特点:直接联通
     测试方法:黑盒白盒相结合的方法,根据接口特征分析即可
2)间接(非联机)接口:系统间接口不是直接联通,通过第三方中转后,才进行连接,比如:综合报文系统和核心系统,中间隔着一个ESB
     特点:接口间的中间层,会进行处理,才会将数据发送到接口系统,这个不会涉及业务逻辑,只是数据格式转换
     测试方法:黑盒白盒相结合的方法,可直接忽略中间层的存在,设计测试用例;但出现问题时,一定要注意中间层处理是否正确,并且,测试中间层异常时,系统处理是否正确
 
三、怎么做好接口测试
1、接口正确性是双方保障,都要进行测试
 
2、根据接口类型,合理进行测试分析,注意测试重点
 
3、注重业务逻辑分析,包括正向反向操作
 
4、注重数据文件检查
 
四、接口测试的工具
可以进行接口测试的工具很多,这里简单介绍几个:
 
1、loadrunner:一款商业性能测试工具,用来做接口测试,很好很强大
 
2、jmeter:一款开源的性能测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试
 
3、poster:火狐浏览器自带接口测试工具,插件中安装即可,界面简单明了,容易上手
 
4、postman:谷歌浏览器的扩展工具,谷歌商店中选中安装,界面同poster差别不大,界面简洁
 
5、soapui:开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试;
          该工具既可作为一个单独的接口测试工具使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。
 

PS:写在最后:

以保证系统的正确和稳定为核心,以持续集成为手段,提高测试效率,提升用户体验,降低产品研发成本,关注持续集成是接口测试的灵魂,否则接口测试带来工作量会成指数增长!

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

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

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

相关文章

低代码开发与传统开发有什么不同?有什么价值?

低代码开发与传统开发有些什么不同?有什么价值? 自2014年Forrester明确提出低代码(Low-Code)概念以来,这一领域已经逐步升温。近年来,低代码凭借其低开发门槛和易用性等优点赢得了众多投资研究机构和企业用…

设计模式(十四)----结构型模式之组合模式

1 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树…

Cookie原理及JAVA端关于Cookie的增删改查操作

什么是Cookie 在java中,Cookie是来自于Servlet规范中一个工具类,存在于Tomcat提供servlet-api.jar中Cookie存放当前用户的私人数据 Cookie原理 用户打开浏览器第一次(指每次重新打开浏览器的第一次,而非指历来第一次&#xff0…

ChatGPT可以作为一个翻译器吗?

论文地址:https://arxiv.org/abs/2301.08745.pdf 背景 自从OpenAI2022年11月30日发布ChatGPT以来,基本上把NLP所有任务大统一了,那么在机器翻译的表现到底如何呢?腾讯AI Lab在翻译Prompt、多语言翻译以及翻译鲁棒性三方面做了一…

365天深度学习训练营-第J4周:ResNet与DenseNet结合探索

目录 一、前言 二、论文解读 三、DPN代码复现 四、总结 一、前言 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制● 难度:夯实基础⭐⭐ ● 语言:Python3、Pytorc…

难道ERP"死了",中台"凉了",低/无代码要称王了?

一句:“不上ERP等死,上了ERP找死”,可把ERP的尴尬处境说透了。 有人把ERP奉为信仰:“那些说ERP不好用的根本是没用明白。” 有人则认为ERP只是卖概念,冷嘲:“实施ERP的企业,估计一半都倒闭了。…

JavaSE-集合框架013-队列Queue及双端队列Deque

原文链接 Queue 我们可以把LinkedList当作队列来用,也可以当作链表来用。LinkedList只是一个实现方式,但是可以具备很多特点 虽然他是一个链表,但是当你从后加从前取,就是队列(Queue)。当你从后加从后取&a…

第七章 实现effect的stop功能

实现effect的stop功能 通过stop函数传入effect返回的runner 再次修改响应式对象的值的时候 不会修改成功 其实主要思路就是在调用stop函数的时候将 收集的effect依赖移除掉 老样子先给上测试用例: it(stop,()>{// 通过stop函数传入effect返回的runner 再次修…

JPG格式图片怎么弄?可以试试这些途径

在日常生活中,我们经常需要将图片转换为JPG格式,以便在各种设备上使用,因为 JPG 是一种常用的图像格式,具有广泛的兼容性和易用性。这里将介绍几种简单的方法,以帮助您将图片转换为JPG格式。方法一、使用格式转换软件转…

快速入门 Stream 流 【学习笔记】Java基础

若文章内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系博主删除。写这篇博客旨在制作笔记,方便个人在线阅览,巩固知识,无其他用途。 学习视频:【黑马 Java 基础教程…

怎么避免计算机SCI论文的重复率过高? - 易智编译EaseEditing

论文成稿前 在撰写阶段就避免重复:在撰写阶段就避免文章中的重复内容,可以减少后期修改的工作量。 在写作前,可以制定良好的计划和大纲,规划好文章的结构和内容,从而减少重复内容。 加强对相关文献的阅读 为了避免自己…

大话数据结构-迪杰斯特拉算法(Dijkstra)和弗洛伊德算法(Floyd)

6 最短路径 最短路径,对于图来说,是两顶点之间经过的边数最少的路径;对于网来说,是指两顶点之间经过的边上权值之和最小的路径。路径上第一个顶点为源点,最后一个顶点是终点。 6.1 迪杰斯特拉(Dijkstra&am…

【C语言】深度理解指针(上)

前言🌊谈到指针,想必大家都不陌生。它不仅是C语言的重难点,还是不少C初学者的噩梦。本期我们将深度探讨一些较为复杂的指针以及指针的妙用,带领大家感受指针的魅力😝。首先,我们先来复习复习指针的概念&…

dbutils给bean类对象赋值源码分析

本文重点 以ResultSetHandler的实现类BeanListHandler为例&#xff0c;探索dbutils的QueryRunner的实现细节&#xff0c;重点是如何给java bean类对象赋值。 public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) throws…

119.Android 简单的软键盘和菜单无缝切换效果,聊天界面软键盘无缝切换

//此效果主要通过动态设置windowSoftInputMode三种状态的切换实现&#xff1a;SOFT_INPUT_ADJUST_NOTHING、SOFT_INPUT_ADJUST_PAN、SOFT_INPUT_ADJUST_RESIZE。 1.第一步 导入需要用到的依赖库&#xff1a; //RecyclerView implementation com.android.support:recyclerview-…

做为骨干网络的分类模型的预训代码安装配置简单记录

一、安装配置环境 1、准备工作 代码地址 GitHub - bubbliiiing/classification-pytorch: 这是各个主干网络分类模型的源码&#xff0c;可以用于训练自己的分类模型。 # 创建环境 conda create -n ptorch1_2_0 python3.6 # 然后启动 conda install pytorch1.2.0 torchvision…

Anaconda环境配置Python绘图库Matplotlib的方法

本文介绍在Anaconda环境中&#xff0c;安装Python语言matplotlib模块的方法。 在之前的文章中&#xff0c;我们多次介绍了Python语言matplotlib库的使用&#xff1b;而这篇文章&#xff0c;就介绍一下在Anaconda环境下&#xff0c;配置matplotlib库的方法。 首先&#xff0c;打…

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual ...

目录 报错 解决 注意&#xff1a; - > 是追加的意思。 解决&#xff1a;分号结尾执行报错&#xff0c;然后重新输入正确的sql语句就可以了。 报错 在docker中部署mysql&#xff0c;创建进入mysql进行数据库查询的时候报错&#xff1a; ERROR 1064 (42000): You have a…

有趣的小知识(三)提升网站速度的秘诀:掌握缓存基础,让你的网站秒开

像MySql等传统的关系型数据库已经不能适用于所有的业务场景&#xff0c;比如电商系统的秒杀场景&#xff0c;APP首页的访问流量高峰场景&#xff0c;很容易造成关系型数据库的瘫痪&#xff0c;随着缓存技术的出现很好的解决了这个问题。 一、缓存的概念&#xff08;什么是缓存…

PyTorch保姆级安装教程

1 安装CUDA1.1 查找Nvidia适用的CUDA版本桌面右键&#xff0c;【打开 NVIDIA控制面板】查看【系统信息】查看NVIDIA的支持的CUDA的版本&#xff0c;下图可知支持的版本是 10.11.2 下载CUDACUDA下载官方网址https://developer.nvidia.com/cuda-toolkit-archive找到适合的版本下载…