【软件测试】资深测试的总结,接口测试中的最常见的几个错误......

news2024/11/26 4:35:19

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

为了彻底进行API接口测试,我们将讨论在接口测试期间经常发生的几个常见错误。还提供简单的解决方案,以帮助改进API测试方法、运行状况和测试结果。

错误的条目

通常可以观察到,当使用一组必需的输入参数对API进行单独测试时,它工作得很好,但是当与合作伙伴集成时,它开始出现行为错误和故障。这是因为伙伴可能正在为某些必需字段发送’NULL’值,这些值在集成模式下可能难以弄清楚。

它有一个简单的解决方案,即在测试期间,当API接收到“NULL”或错误条目作为输入参数时,我们应该有测试用例来覆盖它的行为。API应向合作伙伴发送响应,并返回适当的错误消息,其中可以声明来自合作伙伴应用程序的输入数据不正确且API正常运行。

无效响应

API响应可能像HTTP 200一样成功,或者像404(即找不到资源)那样失败。有时,从API返回的格式不能被合作伙伴应用程序消化(处理),因为它可能会在字段数量上存在差异。

测试的解决方案非常简单,响应中的字段数量应该明确定义成功和失败响应消息,并应在所有类型的API响应中一致地测试。

缓存API响应

API充当一个黑盒,接受输入参数并针对所触发的所需业务功能提供响应。合作伙伴应用程序可以选择缓存来自API的相同重复输入参数集的输出响应。现在,如果对于相同的输入参数,API的输出经常发生更改,那么伙伴应用程序的缓存输出结果将过时,并传递不正确的信息。

它有一个简单的解决方案,尽管API按预期工作,但是合作伙伴应用程序必须决定它们需要缓存什么结果,不需要缓存什么结果。如果结果像实时数据一样经常从API更改,则不应执行缓存;但如果有产品图像、描述等不希望经常更改的结果,则可以在合作伙伴应用程序中缓存。

处理False Negative(错误否定)回应

通过HTTP将响应返回为200时的API被视为成功,但此类响应也可能具有空值,这是False Negative(错误否定)的情况。虽然合作伙伴应用程序会将这样的响应读取为成功,但是响应中的那些NULL值对它们有意义吗?这是针对False Negative需要实际测试覆盖的地方。

团队沟通失败

随着API基于用户体验和业务变化而增长,API维护变得非常重要。这是需要最佳团队沟通的地方。不应该发生API更改,并且已经开始影响所有合作伙伴应用程序的情况。

任何对API或合作伙伴应用程序的更改都应该得到良好的沟通、实现、集成和测试。此外,标准接口API文档的版本应动态更新,以避免开发人员的任何不良开发实践。

非标准编码方法

API开发团队应在输入参数和输出响应参数方面就特定的标准方法达成一致,任何与该标准的偏差都将直接导致API拒绝输入(或合作伙伴应用程序响应)。有时开发人员接受空白null作为输入或输出,这可能会导致长期问题。应明确定义数据类型(强制或非强制)、范围、阈值等,测试应根据此类标准对API进行测试,任何与此类标准的偏差都不应以任何方式被接受。

确保字符集

API应为输入和输出参数指定接受的字符集,如ASCII,Unicode等。这是为了确保合作伙伴应用程序正在与约定字符集的API交互,并且在约定范围之外接收到的任何字符都会导致直接拒绝。

此外,如英语、法语、西班牙语等作为回应的语言应事先达成一致。我们的测试用例应该对商定的字符集和语言的所有这些要求覆盖完全。

API与合作伙伴应用的兼容性

建立API时要牢记合作伙伴应用程序的兼容性。除了添加到API或合作伙伴应用程序中的新功能之外,任何来自API端或合作伙伴应用程序端的发布都应针对所有现有测试用例进行回归测试。

换句话说,API或合作伙伴应用程序的所有版本都应始终满足兼容性标准。

运用你的测试技巧

API可能有许多隐藏的问题,通过一个经验丰富的测试团队所拥有的测试技能,这些问题实际上可以被发现。建议测试人员执行异常场景测试,以捕获传统测试实践无法捕获的缺陷。

测试人员可以通过Monkey测试来破坏API,这将为开发人员编写一个非常健壮和智能的高效API提供很大的空间。

下面是我整理的2022年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

时间真的是这个世界上最好的跨度,让惨痛变得苍白,让执着的人选择离开,然后历经沧桑人来人往,你会明白,万般皆是命,半点不由人。

人生的秘诀,就是寻找一种最适合自己的速度,莫因疾进而不堪重荷,莫要因迟缓而去空耗生命。

生活坏到一定程度就会好起来,因为它无法更坏,努力过后,才知道许多事情,坚持坚持,就过来了。

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

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

相关文章

入门力扣自学笔记221 C++ (题目编号:1739)

1739. 放置盒子 题目: 有一个立方体房间,其长度、宽度和高度都等于 n 个单位。请你在房间里放置 n 个盒子,每个盒子都是一个单位边长的立方体。放置规则如下: 你可以把盒子放在地板上的任何地方。 如果盒子 x 需要放置在盒子 y…

工作流运行

工作流运行 定义内涵 工作流运行是工作流模板的依次执行,在工作流运行时,用户可以随时取消或查看正在 运行的任务。由于工作流运行的模板的不同,运行过程中可能会产生不同的新资源,如数据 处理类型的工作流会产生新的数据集&…

DJ15 8086 中断程序设计

目录 一、8086/8088 中断系统 1. 8086/8088 中断源类型 2. 中断向量表 3. CPU 中断类型码的获取方法 二、8259A 的引线及内部结构 1. 外部引线 2. 内部结构 3. 与系统总线的连接方式 4. 级联连接方式 5. 中断触发方式 三、8259A 的工作过程 四、8259A 的工作方式 …

K. The Robot(思维 + 看数据范围)

Problem - 1468K - Codeforces 有一个机器人在一个格子场上,这个格子场在各个方向都是无尽的。最初,机器人位于坐标为(0,0)的单元中。他将执行由一串大写拉丁字母 "L"、"R"、"D"、"U "描述的命令。当一个命令被…

使用凸优化来调整基于毫米波的无线通信参数(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 随着通信产业尤其是个人移动通信的高速发展,无线电频谱的低端频率已趋饱和,即使是采用高斯滤波最小频移…

CentOS7安装runc

CentOS7安装runc前言一、runc简介二、安装runc1.安装 libseccomp-dev2.获取runc源代码2.1先创建 $GOPATH/src/github.com 目录2.2go get下载源代码2.3checkout最新的代码2.4编译并安装runc2.5查看runc版本总结前言 本文记录CentOS7安装runc的过程。 一、runc简介 RunC 是一个…

UWB定位算法介绍

典型的无线定位方法主要有四种: 1.基于信号到达时间(TOA); 2.基于信号到达时间差(TDOA); 3.基于信号到达角度(AOA) 4.基于接信号强度(RSSI) 各自有着不同的优势和应用范围。 定位时一分为两步,第一步:测量时间、角度、信号强度; 第二步…

FFmpeg基础: YUV像素格式介绍和使用

文章目录YUV像素格式YUV采样YUV格式分类YUV存储模式FFmpeg读取YUV数据YUV和RGB转换YUV像素格式 在图片中我们一般都是通过RGB(红-绿-蓝)格式来表示一个像素点。而在视频当中为了兼容黑白和彩色视频我们通过YUV来表示一个像素点,YUV中Y表示像素点的灰度(也就是亮度分…

【nowcoder】笔试强训Day6

目录 一、单选题 二、多选题 三、编程题 3.1不要二 3.2 把字符串转成整数 一、单选题 1.下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换: A dstString.frombytes(src,”GBK”).getbytes(“UTF-8”) B dstnew String (src,”GBK”).getb…

计算机视觉与图形学-神经渲染专题-非刚体NeRF

《Fast Non-Rigid Radiance Fields from Monocularized Data》链接:https://graphics.tu-bs.de/publications/kappel2022fast摘要单目动态场景下的 3D 重建和新颖视图合成最近受到越来越多的关注。现有工作在合成给定和前向拍摄的真实世界数据下可以合成较好的结果&…

iPhone如何恢复丢失/消失的通讯录联系人,试试这6 种恢复方案

“在我更新 iOS 后,数百个联系人从我的 iPhone 上消失了。我试图从 iCloud 恢复我的联系人存档。我所看到的只是“没有可用的档案”。请来人帮忙!” 每当发布新的 iOS 版本时,许多 iPhone 用户都会争先恐后地开始更新。然而,他们…

【Python学习记录】matplotlib绘图基本配置

✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录前言1、设置颜色2、设置每个点marker3、设置标题、X轴、Y轴文字4、设置刻度5、同一图中画多条线、绘制图例6、设置图层顺序7、多个图的设置subplot8、保存图片总结前言 matplotlib是p…

python中文编码json中文输出问题

python2.x版本的字符编码有时让人很头疼,遇到问题,网上方法可以解决错误,但对原理还是一知半解,本文主要介绍 python 中字符串处理的原理,附带解决 json 文件输出时,显示中文而非 unicode 问题。首先简要介…

人机交互-广州DACAI触摸屏开发中遇到的一些(屏幕和编程)问题

目录 背景 一、屏幕相关 1、厂家给的指令集资料可能有错误,请以软件VisualTFT中的指令助手为准。 2、屏幕程序下载方式 3、SD卡文件格式问题 4、画面id的问题 巨坑!!! 5、子画面变暗的问题 6、 VisualTFT自带的键盘问题 …

【openGauss】一键编译openGauss3.1+dolphin,体验新增的mysql兼容特性

前言 前两天写了一篇openGauss3.1关于mysql的相关特性,但由于openGauss官网提供下载的版本还是9月30号第一次发布的版本,很多特性都还没合入,所以不少爱好者不能轻易体验到。 虽然openGauss已经提供了“一键式编译脚本”,但是还是得做一些前…

Linux系统下的常用文件目录指令

文件目录指令 pwd (Print Working Directory):显示当前工作目录的绝对路泾 ls (list) 基本语法:ls[选项][目录或是文件]常用选项 -a:显示当前目录所有的文件和目录,包括隐藏的。 -l:以列表的方式显示信息 cd (change directory) :切换到指定目录 基本语法:cd参数理…

5G无线技术基础自学系列 | 5G网络速率问题分析

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 前面介绍了接入性和移动性两类问题的处…

node.js+uni计算机毕设项目湖南工商大学财务信息查询小程序(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…

计网第三章.数据链路层—封装成帧、差错检测

以下是湖科大计算机网络公开课的笔记 1 . 数据链路层概述 1.1 一些概念 链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点 数据链路(Data Link) 是指实现通信协议的硬件和软件加到…

【自然语言处理】最大熵马尔可夫模型

有任何的书写错误、排版错误、概念错误等,希望大家包含指正。 由于这部分的参考资料比较少,网上大部分资料重复且不完整,对于一些关键计算没有推导,所以这里我主要讨论几篇论文和讲义。但是这些论文和讲义之间也有些许差别&#…