热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

webservice客户端调用https接口_接口测试扫盲1

什么是接口测试要理解什么是接口测试,首先我们需要理解什么是“接口”。接口的英文是interface,接口的原意是某个对象和外界交互的部分。所以这个概念本

什么是接口测试

要理解什么是接口测试,首先我们需要理解什么是“接口”。

接口的英文是interface ,接口的原意是 某个对象和外界交互的部分。

所以这个概念本身是非常广泛的。

拿软件来说,有很多接口,就是说有很多种外界交互的部分,常见的有下面几种

用户界面接口

这是大家最熟悉的,

54776542544ea5cf25734f25994e3c73.png

是应用和用户交互的部分。

可能是图形化的界面,叫做图形用户接口 (英文简称为GUI),像右上

也可能是非图形的 命令行接口, 这个也是用户接口 UI, 可以叫command UI,像左上

这种接口:

被测系统交互的外界对象是用户!! 通过终端 包括 显示设备和输入设备进行交互

这些接口的测试一般是人直接操作终端,主要是眼睛看显示器输出,用键盘进行输入。

消息接口

这种接口 软件系统交互的 外界对象是其它程序软件,通过网络消息这种渠道进行交互

使用的网络消息,是制定的协议,比如

diameter,radius(比如:电信鉴权网关),

Web Service,REST API

等等。

这种接口 测试一般是 使用 测试工具, 收发相应的消息

编程接口

这种接口的 被测系统交互的外界对象 也是应用程序, 通过 被测系统提供的编程接口调用 被测系统提供的服务 ,这个编程接口通常是以库的形式提供给外界应用程序。

比如: 为了更方便的使用七牛云OSS, 他们提供了开发包,对其 OSS 接口封装了编程语言库。

详细的文档可以 查看如下网址

https://developer.qiniu.com/sdk#official-sdk

这种接口:

被测系统交互的外界对象是其它应用程序,通过编程接口这种渠道进行交互

这些接口的测试 主要通过 编写代码调用这些接口函数或者对象的方法、


我们这里只列出了典型的几种接口,还有其他种类的 软件系统 接口,就不一一列举了。

综上可知:

对某个我们要测试的系统来说,上述所有和外界交互的部分都是接口,接口这个词的概念非常的宽广。

那么对上述接口的测试都可以称之为接口测试。

泛义上讲,所有的测试都可以称之为接口测试

UI测试是测试UI接口

消息测试是测试消息接口

编程库的开发包测试 是测试编程接口

Web API 接口

目前移动互联网时代,移动互联应用渗入到我们生活的方方面面。比如 共享单车,滴滴打车,移动支付,社交平台。。。。

而这些形形色色的互联网服务,都是基于Web技术,所以互联网产品对外提供的服务接口,我们通常称之为Web 服务接口,或者 web service 接口。

由于这种服务接口基本上都是基于HTTP的, 客户端发出一个HTTP请求给 服务端,服务端就返回一个HTTP相应。

这种发出请求,得到响应的 方式非常像 编程中的函数调用,也被称为API 调用,所以我们有时把Web服务接口称之为 Web API。

实际上我们很多人经常挂在嘴边的说的"接口测试",或者"API测试",其实就是web服务端提供的 访问接口 的测试,简称 web 服务接口测试,或者 Web API测试。

目前web API接口主要包括两种:

  • 基于SOAP的 Web Service 接口
  • REST 接口

基于SOAP的 Web Service 接口,比较复杂,已经被业界所摒弃,目前使用的越来越少,我们可以忽略它,

目前使用的比较多的主要是 REST API 接口

REST 并不是非常具体的设计规范,而是一些设计上的风格约束。

REST有如下这些设计风格约束

  • 架构采用客户端和服务器结构:
  • 连接协议具有无状态性:确保系统的横向拓展能力
  • 能够利用Cache机制增进性能
  • 层次化的系统
  • 每个资源都有其标志(URI), 服务请求中标志要操作的资源的URI
  • 通过操作资源的表现形式 (representation) 操作资源

初学者基本都不能 搞懂 上面话的意思,不要紧。

目前的现状是, 目前对REST API 接口的测试, 其实只要有HTTP的背景知识就足够了

关于你是否能真正理解上面的REST风格约束的意思,对测试人员来说,其实并不重要。

后面我们这系列讲解使用的被测试系统,就是一个服务系统,提供了类似 WEB API 的接口。

我们就通过这个接口对其进行测试。



推荐阅读
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
  • 1.一般应用(访问名称空间下方法)usenamespacemx_internal;vartextArea:TextAreaTextArea();textArae.htmlText ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • DSP中cmd文件的命令文件组成及其作用
    本文介绍了DSP中cmd文件的命令文件的组成和作用,包括链接器配置文件的存放链接器配置信息、命令文件的组成、MEMORY和SECTIONS两个伪指令的使用、CMD分配ROM和RAM空间的目的以及MEMORY指定芯片的ROM和RAM大小和划分区间的方法。同时强调了根据不同芯片进行修改的必要性,以适应不同芯片的存储用户程序的需求。 ... [详细]
author-avatar
林淑芬若纯嘉友
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有