热门标签 | 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 的接口。

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



推荐阅读
  • 深入理解Java多线程与并发机制
    本文探讨了Java多线程和并发机制的核心概念,包括多线程类的分类、执行器框架、并发容器及控制工具。通过详细解析这些组件,帮助开发者更好地理解和应用多线程技术。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • iOS 百度地图使用指南:基本定位与地理编码
    本文详细介绍如何在 iOS 应用中集成百度地图,实现基本的地图定位和地理编码功能。配置详情请参考官方文档:http://developer.baidu.com/map/index.php?title=iossdk ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 将generic.list转换为ArrayOfInt,以便通过SOAP传输到Web服务我正在尝试使用SOAP协议将一个通用的整数列表从客户端应用程序传递给Web服务。当我尝试将列表 ... [详细]
  • 2023年最新指南:如何在PHP中屏蔽警告和错误
    本文详细介绍了如何在PHP中屏蔽警告和错误,包括多种方法和最佳实践,帮助开发者提升代码质量和安全性。 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 本文详细介绍了 com.apollographql.apollo.api.internal.Optional 类中的 orNull() 方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 介绍如何使用 `document.createElementNS` 方法创建带有特定命名空间 URI 和限定名称的元素。 ... [详细]
  • 在 Mac 上配置 NDK
    本文详细介绍了如何在 Mac 上配置 Android NDK,包括设置环境变量和解决常见问题的方法。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • Docker 中创建 CentOS 容器并安装 MySQL 进行本地连接
    本文详细介绍了如何在 Docker 中创建 CentOS 容器,并在容器中安装 MySQL 以实现本地连接。文章内容包括镜像拉取、容器创建、MySQL 安装与配置等步骤。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
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社区 版权所有