【API Testing and Development with Postman 2nd_001】关于本书

译者按

今天又淘到一本介绍 Postman 的宝藏级小册子,非常适合想进一步了解 API 接口测试的朋友们。本书最大的特点就是手把手教学。想当年第 1 版问世时,初出茅庐的我随便拣了书中一两招,就能轻松搞定工作中五花八门的 API 疑难杂症。只是当时太忙,无暇系统学习梳理。昨天看到这本书在今年 6 月又出了全新第 2 版,有些新内容还是作者在成书过程中一边写一边学会的。于是就有了翻上一翻的冲动(很遗憾,这两版目前都还没有中文译本)。但我相信这一遍学完后,手里就又多了一套应对 API 接口调试与开发的“瑞士军刀”。

文章目录

  • 关于本书
    • 1 前言
    • 2 本书读者
    • 3 本书结构
    • 4 本书学习建议
    • 5 代码约定与代码库
      • 示例代码与彩页资源
      • 代码约定

关于本书

1 前言

在这个快餐当道、快时尚盛行、快速营销策略无孔不入的世界里,质量 还重要吗?这个世界给人们带来的压力似乎总在驱使大家去走各种各样的捷径,哪怕是开发高质量的软件也不例外。笔者也一直在为反击这个充斥着“快”文化的疯狂世界而积极奔走,只求略尽绵力。在我看来,质量仍然是至关重要的。生活中那些动不动就状况百出的垃圾产品已经够多的了,也是时候该提高一下质量了。

写这本书算是抛砖引玉,希望能帮助更多的有缘人一窥高质量的软件产品与设计理念。无论您是专业测试人员,还是希望了解更多测试知识的开发者,但愿都能与我一起,通过高质量的软件应用来造福这个世界。

API 接口正在成为互联网的支柱。它既能帮助企业实现外部通信,同时也为现代软件系统的许多内部组件提供通信相关的基础设施。就像美满婚姻需要良好的沟通来维系,互联网也是如此。不同服务之间的良好通信是应用程序的良好运行的极其重要的保障。因此,API 接口测试对于产出优质的软件产品至关重要。

从表面上看,本书主要介绍的是 API 接口测试工具 Postman,但笔者也试图在书中穿插一些实例和教学经验,帮助读者以一种对质量有实际影响的方式来用好 Postman。通过本书的学习,您将深入理解 Postman 的工作原理,同时也将为如何考虑 API 接口测试打下坚实的基础。希望您掌握的不仅仅是 Postman 解决实际问题的各种操作技巧,更能够清楚地知道怎样因地制宜、因时制宜,从而有效地构建高质量的 API 接口。

2 本书读者

这本书首先是写过我自己的。书中谈到的许多想法都是我几年前自学的内容。事实上,Postman 的新功能的更新迭代速度极快,甚至这本全新第二版中的部分内容都是我在写书时学到的新知识。

我一直在成长和学习,尤其喜欢与他人分享我学到的新知识,以帮助他们行稳致远。

一开始接触 API 接口测试,可能会让人感到不知所措——毕竟这是一个庞大的主题,可能会让初学者望而生畏。正因如此,我才动了写这本书的念头。本书主要是针对那些需要测试 API 接口、但又不知道从何开始的软件测试人员和开发者。我在书中尽量不去假设读者拥有太多深入的编程经验,但了解一些编程的基础知识无疑会对书中的某些知识点的学习有所帮助。

如果您是一名软件测试人员,并且有兴趣涉猎 API 测试这一领域,本书绝对适合您。如果您是一名开发者,想要提升自己在测试与质量方面的相关技能,那么恭喜您,正在为前途光明的个人职业生涯添砖加瓦!未来懂得如何产出高质量软件的开发者将始终供不应求,备受青睐。无论您的背景如何,其间可能会略过本书的某些内容,但如果花上一些时间阅读学习,您就会发现自己已经能够轻松驾驭 Postman 这款测试神器,并知道如何设计及编写良好的 API 测试。

3 本书结构

本书共分为十五个章节,主要内容如下——

第 1 章:API 术语和类型,帮助您了解一些基本的 API 术语,并介绍不同类型的 API。

第 2 章:API 文档与设计,涵盖了适用于创建和测试 API 的设计原则,以及创建实用文档的方法及注意事项。

第 3 章:OpenAPI 与 API 规范,介绍了 API 规范的相关概念及其在 Postman 中的应用。

第 4 章:良好 API 测试自动化的考虑因素,教您如何在 Postman 中创建和执行有价值且经久不衰的 API 测试。

第 5 章:理解鉴权设置,介绍了如何使用 Postman 中现有的多种 API 接口鉴权方法。

第 6 章:创建测试验证脚本,解释了如何在 Postman 中创建和使用测试脚本。

第 7 章:数据驱动测试,介绍了数据驱动测试的概念,以及将其用于 Postman 中创建可扩展测试的具体方法。

第 8 章:工作流测试,解释了什么是工作流测试,以及如何在 Postman 中创建流程。

第 9 章:使用 Newman 在 CI 中运行 API 测试,展示了如何使用 Newman 运行 Postman API 测试的命令行。

第 10 章:使用 Postman 监控 API,探讨了如何使用 Postman 监控 API 接口的产品使用情况。

第 11 章:测试现有 API,通过一个实际示例展示在测试现有 API 时应该创建什么样的测试。

第 12 章:在 Postman 中创建和使用模拟服务器,解释了什么是模拟服务器以及如何在 Postman 中设置和使用它们。

第 13 章:使用合约测试验证 API,介绍了合约测试的概念,并演示了其在 Postman 中的用法。

第 14 章:API 安全测试,简要介绍了安全测试,并给出了在 Postman 中设置模糊测试的示例。

第 15 章:API 性能测试,解释了不同类型的性能测试,并介绍了 Postman 中可以用来评估 API 性能的一些功能。

4 本书学习建议

本书旨在为您提供在测试或开发工作中能够起到立竿见影效果的实用技能。如果您想从本书中获得最大的价值,请立即行动起来,学以致用。完成本书中的所有练习后,还要积极尝试将您学到的理念应用到“现实世界”中。

本书不假设读者具备大量关于 API 的先前知识,甚至不需要了解开发和测试原则。只要您对网络技术有基本的了解,并且对软件开发的整体概念有所认识,您就应该能够跟上本书的内容,并掌握所需的一切。本书中一些 Postman 的测试脚本使用了 JavaScript,但您不需要深入了解其工作原理,尽管基本的理解会有所帮助。书中有许多练手机会和拔高测试,它们是本书的重要组成部分,为了充分利用本书,您应该花时间逐一攻克这些问题与挑战。

5 代码约定与代码库

示例代码与彩页资源

本书完整的示例代码及彩页 PDF 文件已上传到 CSDN 资源库,点击这里下载 即可。

本文顶部的绑定资源为英文原版第 2 版电子书,方便大家对照学习。有不同的观点或意见,欢迎随时沟通交流。

代码约定

本书中使用了多种样式约定。

CodeInText:表示文本中嵌入的代码、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特用户名。例如:“/product 端点提供有关通过此 API 访问的产品的信息。”

代码格式示例如下:

openapi: 3.0.1
info:
    title: ToDo List API
    description: Manages ToDo list Tasks
    version: "1.0"
servers:
    -url: https://localhost:5000/todolist/api

当希望引起您对代码块中特定部分的注意时,相关的行或项目会以粗体显示:

code snippets in bold

命令行格式如下:

npm install -g newman

粗体字:表示一个新术语、一个重要的词,或您在屏幕上看到的词。例如,菜单或对话框中的词在文本中显示为这样。例如:“点击 导入 按钮并选择 OpenAPI 选项。”

说明 / 警告

像这样显示警告或重要说明。

提示 / 小贴士

像这样显示提示和技巧。

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

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

相关文章

《深度学习》OpenCV轮廓检测 模版匹配 解析及实现

目录 一、模型匹配 1、什么是模型匹配 2、步骤 1)提取模型的特征 2)在图像中查找特征点 3)进行特征匹配 4)模型匹配 3、参数及用法 1、用法 2、参数 1)image:待搜索对象 2)templ&am…

QT之QML学习五:添加自定义Qml组件,以及组件管理

开发环境: 1、Qt 6.7.2 2、Pyside6 3、Python 3.11.4 4、Windows 10 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!! 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!! 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!!…

JMM 指令重排 volatile happens-before

在单线程程序中,操作系统会通过编译器优化重排序、指令级并行重排序、内存系统重排序三个步骤对源代码进行指令重排,提高代码执行的性能。 但是在多线程情况下,操作系统“盲目” 地进行指令重排可能会导致我们不想看到的问题,如经…

ComfyUI+Krea免费利用AI制作网站萌宠IP,五步搞定制作AI萌宠

大家好,这是我们网站的萌宠——Meo喵,是一只猫咪AI工具专家🐾,嘻嘻🎉🐱。是AIGC年轻的艺术家星之,利用AI产品ComfyUI、Krea,搭配PS制作而成,下面先介绍一下它的形象&…

Word封面对齐技巧

文章目录 前言一、对齐封面1. 点击视图,添加标尺2. 选中文字,右击段落3. 点击制表符,设置制表位位置4. 鼠标点击“:”后面,点击“Tab”键5. 按住“Ctrl”键,选中没对齐的文字,点击“中文板式”&…

如何将任何文本语料转换为知识图谱?

转自:吴建明利驰软件 几个月前,基于知识的问答系统(Knowledge Base Question Answering,KBQA)还是个新概念。 现在,随着大型语言模型(LLMs)的发展,带有检索增强生成&am…

【视频教程】GEE遥感云大数据在林业中的应用与典型案例实践

近年来遥感技术得到了突飞猛进的发展,航天、航空、临近空间等多遥感平台不断增加,数据的空间、时间、光谱分辨率不断提高,数据量猛增,遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

初识爬虫1

学习路线:爬虫基础知识-requests模块-数据提取-selenium-反爬与反反爬-MongoDB数据库-scrapy-appium。 对应视频链接(百度网盘):正在整理中 爬虫基础知识: 1.爬虫的概念 总结:模拟浏览器,发送请求,获取…

基于SpringBoot的在线购物平台

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的在线购物平台&am…

基于SpringBoot+Vue的超市外卖管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

sqli-labs靶场自动化利用工具——第6关

文章目录 概要整体架构流程技术细节执行效果小结 概要 Sqli-Labs靶场对于网安专业的学生或正在学习网安的朋友来说并不陌生,或者说已经很熟悉。那有没有朋友想过自己开发一个测试脚本能实现自动化化测试sqli-labs呢?可能有些人会说不是有sqlmap&#…

9月11号作业

头文件 #include <cmath> #include <QApplication> #include <QMainWindow> #include <QLabel> #include <QTimer> #include <QVBoxLayout> #include <QRandomGenerator> #include <QTimerEvent> #include <QTextT…

MySQL分页查询(DQL)

因DataGrip我的激活到期&#xff0c;也没太多精力去破解&#xff0c;最后换了Navicat&#xff0c;实际上操作是一样的&#xff0c;不变。 先看我的表数据&#xff0c;以我的数据作为例子 基本语法 select 字段列表 from 表名 起始索引&#xff0c;查询记录数。 1.查询第1页员…

多线程学习篇一:启动多线程的三种方式

1. 继承 Thread 类 Slf4j public class MyThread extends Thread {Overridepublic void run() {log.info("MyThread run ...");}public static void main(String[] args) {MyThread myThread new MyThread();myThread.start();} } 2. 实现 Runnable 接口 Slf4j pu…

基于微信小程序的宿舍报修系统的设计与实现

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的宿…

linux 操作系统下cp命令介绍及案例应用

linux 操作系统下cp命令介绍及案例应用 cp命令是Linux操作系统中用于复制文件和目录的基本命令。它的功能强大&#xff0c;适用于各种文件管理任务 cp命令概述 基本语法:bashcp [options] <source> <destination> 功能: 复制单个文件或多个文件到指定位置。 递…

python基础知识(一)

目录 1.注释 2.关键字 3.标识符 4.常见命名方法 5.变量 6.常见的数据类型 1.注释 注释&#xff1a;在程序中&#xff0c;对代码进行解释说明的文字。 在Python中&#xff0c;注释分为两类&#xff1a; &#xff08;1&#xff09;单行注释&#xff1a;# # 注释文字内容…

降维打击 华为赢麻了

文&#xff5c;琥珀食酒社 作者 | 积溪 真是赢麻了 华为估计都懵了 这辈子还能打这么富裕的仗&#xff1f; 其实在苹果和华为的发布会召开之前 我就知道华为肯定会赢 但我没想到 苹果会这么拉胯 华为这是妥妥的降维打击啊 就说这苹果iPhone 16吧 屏幕是变大了、颜色…

AUTOSAR_EXP_ARAComAPI的5章笔记(3)

返回目录 5.3.4 Finding Services Proxy Class提供类(静态)方法来查找“连接”的服务实例。由于服务实例的可用性本质上是动态的(因为它有一个生命周期)&#xff0c;所以ara::com提供了如下两种不同的方法来实现“FindService ”: StartFindService是一个类方法&#xff0c;…

k8s环境搭建(续)

查看节点信息并做快照 kubectl get nodes 将components.yml文件上传到master主机 创建nginx&#xff0c;会在添加一个新的pod kubectl run nginx --imagesnginx:latest 查看nginx的pod信息 [rootk8s-master ~]# kubectl get po -Aowide|grep nginx 出现错误&#xff0c;查…