敏捷测试价值观、方法和实践读书笔记(8)

简介: 本文介绍了API的基础知识,区分了Web Service和Web API的概念,详细阐述了Web Service中的SOAP服务和REST服务的特点及区别。同时,文章还探讨了如何在项目中进行API测试,包括API测试的类型和实施阶段,强调了API在现代软件开发中的重要性和优势。

API测试

API基础介绍

1Web Service

Web Service通常使安全用XML(可扩展标记语言),这意味着其比json更

Web Service是 WebAPI的子集,其仅包含 SOAP、REST和XML-REC

Web Service需要使用网络才能操作。

2. Web API

WebAPI通常使用 JSON(JavaScript Objeet Notation)格式传输数据。

Web API是 Web Services 的超集。除了前面提到的三种类型,如JSON-RPC。

Web APL不一定需要网络操作。

介绍Web Services

客户端、Web 服务端和执行操作的网络。

操作是指客户端-Web 服务端体系结构中的请求和响应。

客户端是请求 WebServices 的所有应用程序或软件系统的集合,是服务消费者;

Web 服务端是提供 WetServices 的所有应用程序或软件系统的集合,是服务提供者。

Web Services 的重要元素

(1)SOAP

Web Services 使用简单对象访问协议(Simple Object Access Protocol,SOAP),该协议使用 XML 作为报文格式。SOAP 是有状态的协议,所有请求和响应都是通过 XML 同时进行的,没有像 REST 服务那样显式地提供 GET、PUT、POST 或 DELETE 等方法。

(2)WSDL

SOAP 请求会使用 Web Services 描述语言( Web Service DescriptionLanguage, WSDL)。WSDL 是 Web Services 的一个非常重要的元素。它定义了特定请求选择所使用的 WebServices 类型,并且使用 XML 格式的文件描述 Web Services 提供的功能。

UDDI(Universal Description Discovery and Integration)也是非常有用的元素,因为 Web服务端是提供 Web Services 的服务提供者,对于服务提供者来说,UDDI 可用来发现、描述和发布 Web Services。UDDI负责让客户端査找(UDDI为 WSDL 提供了一个存储库)WSDL 的 XML 文件位置,这个 XML 文件也是 Web Services 的定义和描述方式。

Web Services 主要包括2种类型:REST 服务和 SOAP 服务

(1)REST服务

REST(Representational State Transfer)是一种无状态服务。

  • GET:此方法用来检索使用 PUT 或 POST 等任何方法发送到 Web 服务端的信息。此方法没有请求主体,执行成功后会得到响应状态码 200。
  • POST:此方法用于请求主体、指定 URL、文档键、上下文键等创建文档或记录到 Web 服务端,使用 GET 方法来检索 POST 到 Web 服务端的内容,执行成功后会得到响应状态码 201。
  • PUT:此方法用于更新已存在于 Web 服务端的文档或记录,执行成功后会得到响应状态码 200 或 201。
  • DELETE: 此方法用于删除在 Web 服务端的任何记录,执行成功后将会得到响应状态码 204(没有内容)。

(2)SOAP服务

SOAP 服务是指简单对象访问协议,其是使用 XML 语言的有状态服务。SOAP:

  • SOAP头和正文
  • 用来发送 SOAP消息的协议

  • 服务提供者(Publish()):提供 Web 服务的所有软件系统或应用程序。
  • 服务消费者(Find()):请求 Web 服务的所有软件系统或应用程序。
  • 服务注册(Bind()):由服务提供者提供有关 Web 服务的所有信息的注册表或存储库
  1. Publish(),服务提供者在服务注册中心或存储库中提供关于 Web 服务的所有细节;
  2. Find(),服务请求内容主要是客户端应用程序从存储库(有时是 WSDL、XML 文件)查找关于 Web 服务的详细信息: 第三个阶段是 Bind(),客户端应用程序或服务消费者与服务提供者同步,以达成 Web 服务的最终实现。

3.SOAP 服务与 REST 服务的不同之处

  1. SOAP 服务比 REST 服务慢。使用 XML 数据格式使 SOAP 服务在请求处理时花费了更多的时间,而 REST 服务使用轻量级的 JSON 格式,效率更高。
  2. 通常 SOAP 服务比 REST 服务更安全,虽然 SOAP 服务和 REST 服务都可以使用SSL 加密,但是除了 SSL,SOAP 服务还提供 WSS 加密。
  3. SOAP 服务没有任何内建方法,而 REST 服务有 GET、PUT、POST 和 DELETE
  4. SOAP 服务是有状态的,而 REST 服务是无状态的。
  5. 在 SOAP 服务中,请求和响应主体只支持 XM 数据格式;而在 REST 服务中,请求和响应主体支持许多数据格式,如JSON、XML、纯文本等。

在项目中如何进行API测试

基于 API 的应用程序在这几年流行的原因如下。

首先,与传统应用程序/软件相比,基于 AP1的应用程序具有更好的可伸缩性,代码开发速度更快,而相同的 API 不需要进行任何主要代码或基础设施重改就可以服务更多的请求。

其次,开发团队不需要在每次开发特性或应用程序时都从头开始编码。

再次,API支持的独立应用程序或基于 APL的软件产品都可以轻松与其他系统集成。

最后,通过 API 可以实现系统与系统,以及系统内部的解耦,降低系统的代码维护成本,正是基于 API 的优势。

2002 年,亚马逊创始人杰夫·贝索斯向员工下达了“API宣言”

  • 所有团队将通过服务接口公开他们的数据与功能。
  • 团队之间必须通过这些接口通信。
  • 其他形式的进程通信都是不被允许的,如不允许直接链接、不允许直接读取另一团队的数据储存、不允许共享内存模型、不允许设立任何“后门”。通过网络服务接口调用是唯一允许的通信方式。
  • 使用什么技术并不重要。无论是 HTTP、CORBA、PubSub,还是自定义协议,都不重要。
  • 所有服务接口,无一例外,都必须从头到尾地使用可外部化的设计,团队必须计划和设计能提供给外部开发人员使用的公开接口。任何违反指令的人都将被解雇。
  • 谢谢你,祝你有美好的一天!

API 测试类型

·功能

·性能

·安全

两个阶段

·工具选型

·收集需求和识别约束

·评估可用工具

·PoC

·具体实施

·启动准备

·正式启动

·CICD

后面内容,我认为使用价值不大,忽略

目录
相关文章
|
30天前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
24天前
|
数据采集 存储 人工智能
从0到1:天猫AI测试用例生成的实践与突破
本文系统阐述了天猫技术团队在AI赋能测试领域的深度实践与探索,讲述了智能测试用例生成的落地路径。
从0到1:天猫AI测试用例生成的实践与突破
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
279 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
541 8
|
2月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
130 6
|
2月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
2月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
3月前
|
人工智能 资源调度 jenkins
精准化回归测试:大厂实践与技术落地解析
在高频迭代时代,全量回归测试成本高、效率低,常导致关键 bug 漏测。精准化测试通过代码变更影响分析,智能筛选高价值用例,显著提升测试效率与缺陷捕获率,实现降本增效。已被阿里、京东、腾讯等大厂成功落地,成为质量保障的新趋势。
|
3月前
|
搜索推荐 Devops 测试技术
避免无效回归!基于MCP协议的精准测试影响分析实践
本文揭示传统测试的"孤岛困境",提出MCP(Model Context Protocol)测试新范式,通过模型抽象业务、上下文感知环境和协议规范协作,实现从机械执行到智能测试的转变。剖析MCP如何颠覆测试流程,展示典型应用场景,并提供团队落地实践路径,助力测试工程师把握质量效率革命的新机遇。
|
3月前
|
人工智能 缓存 自然语言处理
大模型性能测试完全指南:从原理到实践
本文介绍了大模型性能测试的核心价值与方法,涵盖流式响应机制、PD分离架构、五大关键指标(如首Token延迟、吐字率等),并通过实战演示如何使用Locust进行压力测试。同时探讨了多模态测试的挑战与优化方向,帮助测试工程师成长为AI系统性能的“诊断专家”。