13年测试老鸟,带你详探服务端的接口测试,测试内卷之路...

news2024/11/14 18:10:41

目录:导读

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


前言

服务器的接口测试通常从功能开始,如请求参数和响应参数的验证,业务逻辑或业务规则的验证,数据库操作的验证。

功能正常后,将根据需要进行安全相关的检查、性能测试和一系列扩展测试,如与版本历史的兼容性测试、接口超时验证和设计合理性验证等。用例设计也是从这些方面进行分析和设计的。

详情如下:

用于输入
输入主要指界面的参数。在我们通常的测试中,我们会首先考虑正常参数和异常参数,包括异常参数和数据。在用例设计中,等价类划分和边界值分析被广泛使用。

正常参与:
正常参数通俗易懂,即根据界面设计文件的参数标准,输入正常参数,响应按照界面设计文件约定的条件正常返回。

异常参数:
参数异常包括:空参数、多参数或少参数、错误参数。

异常数据:
数据异常:数据类型错误、非空参数为空、长度不符合设计、不在字典范围内的数据、非法成员、特殊字符或敏感字符、具有相关性的参数数据异常等。

对于处理逻辑
在接口测试之前,通用R&D将提供接口设计文件或与业务相关的设计图纸和流程图。对于业务流程的处理逻辑,我们可以从参数、事件的操作对象、业务的状态进行改变。

限制条件分析:
数值限制:字典、等级、行业相关限制、金额限制、分数限制等。
状态限制:有效|无效、在线|离线、黑化|洗涤等。
关系的限制:存在或不存在、绑定或解除绑定等。
权限限制:管理员、普通用户等。

对象分析:
对象分析主要是操作合法和非法的对象。比如银行卡用户给卡充值,可能有:用户A给非用户A的卡充值;用户用自己的卡充值,卡已经过期;a用户使用自己的卡充值,卡被列入黑名单或挂失。

状态转换分析:
比如支付业务,第一次支付成功,票据取消后会进行退款。如果第二次支付不成功,支付会失败,状态之间的切换是否正常,状态如何显示,是否可控,是否存在异常状态,空白状态业务如何处理。

时间序列分析:
在一些复杂的活动中,一个活动是由一系列动作按照指定的顺序执行的,这就形成了一个动作流。只有按照这个顺序执行动作,我们才能等待预期的结果。其他分支动作程序在执行过程中会发生什么?

比如斑马停车风险管控业务,如果车辆进站后直接掉头不进入高速业务,该如何处理?

针对输出:
在考虑异常时,我们通常会想到正常情况和无效情况,但它们可能不会覆盖所有的错误代码。接口定义返回的错误代码可以帮助我们补充这部分用例,比如网络异常、规则无效、参数无效、业务id无效、任务无效、服务器异常等。通过补充errorcode的值,可以设计更多的用例。

这种基于输出的设计案例可以发现前后端是否正常输出结果,提示是否友好,敏感信息是否出现等等。

数据库操作

数据库操作是否频繁,在写数据库的过程中是否会占用大量的CPU,写完数据库后是否会释放进程。

业务数据入库是否正常,是否有重复数据入库,是否有乱码;日志数据入库正常吗?

数据更新是否正常,尤其是时间字段,时间是否为24小时格式。

数据删除和备份正常吗?

安全性
敏感信息(如银行账号、密码、转账金额)是否加密。

性能相关
什么情况下接口会并发,什么是并发场景,什么情况下并发会导致问题?
最大并发、响应时间、吞吐量和资源消耗。

与历史版本的兼容性分析
废弃的协议或接口,代码不做注释,在某些情况下,可能会触发版本历史中废弃的协议或接口,导致用户使用或调用功能后出现意外问题和损失。

在同一个系统中,不同服务之间的接口相互调用时,新接口是否受到历史接口的影响,尤其是新旧接口是否处理某一功能,是否存在业务不兼容的情况。

这就需要测试人员对一个系统进行长时间的测试,所以他们可能会想到这个场景,清楚地知道什么时候哪个版本被重构了,放弃了那些接口,增加了那些接口,哪些场景会触发历史接口的某个规则。

接口设计合理
接口字段是否冗余,接口是否返回调用者期望的信息,接口定义是否满足所有调用者的需求,接口是否方便调用,接口是否可扩展,接口参数是否方便使用,接口的业务规则是否正确,整个服务的使用会对接口产生什么影响?

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一天都是一个全新的挑战,不管前路如何艰难,都要坚定自己的信念,勇往直前。只有不断地学习和进步,才能实现人生的价值和梦想。不要放弃,相信自己,你一定能够创造属于自己的精彩人生!

不怕路途遥远,只要坚定前行;不畏风雨凛冽,只要心中有阳光。在奋斗的道路上,每一分努力都将化作成功的力量。把握当下,去闯荡属于自己的天地!

每天都是一个全新的开始,不要局限在自己的过去和现状中。用你的坚持和努力,创造一个更加美好的未来。即便前路曲折,也要勇往直前。只要保持积极的心态,成功就在不远处。

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

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

相关文章

Tinywebserver项目运行(docker部署mysql)

. 运行项目运行时遇到的一些其他问题重启mysql容器时发现端口被占用 前言 Tinywebserver是github上一个十分优秀的开源项目,帮助初学者学习如何搭建一个服务器. 本文讲述如何在使用docker部署mysql容器的情况下跟该项目进行连接并将项目运行起来,而不是…

萌萌哒的八戒1

拿到了一个图片,根据图片下方的字符,结合远古时期这个提示,想到了古典密码里的猪圈密码 挨个输入得到when the pig want to eat,套上flag

PyTorch 深度学习 || 2. 全连接网络 | Ch2.3 PyTorch 全连接自编码网络的无监督学习

PyTorch 全连接自编码网络的无监督学习 文章目录 PyTorch 全连接自编码网络的无监督学习1. 数据去噪1.1 计算库和数据准备工作1.2 构建自编码网络1.3 调用主函数1.4 可视化 2. 数据的重建与降维2.1 计算模块和数据的准备2.2 自编码网络数据准备2.3 自编码网络的构建2.4 自编码网…

深入理解程序的结构

文章目录 前言一、程序的组成二、未初始化和初始化变量保存地址三、栈什么时候被创建四、内存映射段总结 前言 本篇文章我们来深入的理解一下理解程序的结构。 一、程序的组成 通常情况下,一个可执行程序由以下几个不同的段组成: 1.代码段 (Text Seg…

怎么针对微服务架构做单元测试?

Martin Fowler 是国际著名的软件专家,敏捷开发方法的创始人之一,现为 ThoughtWorks 公司的首席科学家。在面向对象分析设计、UML、模式、软件开发方法学、XP、重构等方面,都扮演着举足 什么是微服务? 微服务的由来 微服务的前身…

笑谈之传统行业的软件测试

最近进入一传统企业做O2O社区,在里面,项目管理一团混乱,上层对软件测试的理解更是匮乏。今天没有技术,仅是对这些现象的吐槽。当然我相信传统行业不都是这样,所以大家仅当笑谈。 产品经理写的需求文档永远是拿来作为做…

cas单点登录 前端步骤流程

CAS(Central Authentication Service)是一个开源的单点登录协议和实现,它提供了一种统一的方法来管理和验证用户身份,使用户只需通过一次登录即可访问多个应用程序。CAS 单点登录的工作原理是基于服务提供者 (Service Provider) 和…

MNIST机器学习入门

引入所需库 import osimport cv2 import matplotlib.pyplot as plt import numpy as np import pandas as pd import tensorflow as tf from PIL import ImageMNIST数据集 下载MNIST数据集 mnisttf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) mnist.load_…

【干货】Android系统定制基础篇:第七部分-Android OTA升级(系统、应用)

OTA升级应用 项目地址:https://github.com/aystshen/Android-RomUpgrade. 这是一个负责 Android OTA 升级的后台应用,开机后自动运行后台 Service,支持系统升级和应用升级,支持本地升级(tf卡、u盘)和在线升…

数据库系统概述——第一章 绪论(知识点复习+练习题)

✨博主:命运之光 🦄专栏:离散数学考前复习(知识点题) 🍓专栏:概率论期末速成(一套卷) 🐳专栏:数字电路考前复习 🦚专栏:数…

Qt 每月收支计算

Qt 每月收支计算,针对每月有支出(房贷、车贷、花呗、借呗)的情况,计算收支明细,直观看到未来的个人经济情况,培养良好的消费习惯,进行理性的财富支配,量入为出。 #include "mai…

云安全技术(三)之云计算相关的安全概念

云计算相关的安全概念 Security Concepts Relevant to Cloud Computing 1. 密码学和密钥管理 Cryptography and key management 1、加密技术: 有许多不同类型和等级的加密技术。在云环境中,云安全专家有责任评价应用程序的需求、所使用的技术、需要保护的数据类型&…

【UE 从零开始制作坦克】5-通过旋转摄像机控制炮塔旋转

效果 步骤 打开动画蓝图“ABP_West_Tank_M1A1Abrams” 我们在动画图表中可以发现控制坦克炮塔旋转和炮管旋转的变量分别是“TurretRotation”和“GunRotattion”,因此只需改变这两个旋转体的值即可控制炮塔和炮管的旋转。 切换到事件图表中,首先通过“T…

单向散列函数【密码学】(一)

目录 一、前言:密码学有什么用? 二、单向散列函数 1、单向函数 2、散列函数 3、单向散列函数 三、怎么解决完整性问题 四、如何设置合适的安全强度 一、前言:密码学有什么用? 二、单向散列函数 单向散列函数就是用来解决…

article-6-pss 并联六自由度机构轨迹规划

建模 ** [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-djltxj90-1687070335773)(data:image/svgxml;utf8, )] ** 程序如下: % clc % clear all % function []PSS1(XP,YP,ZP) tic %%%%%鍒濆浣嶇疆鐨勪綅濮?%%%%% % XP 0; %鍔ㄥ钩鍙…

存储笔记6 SAN

SAN(Storage Area Networks) SAN 优势 benefitsSAN 组件 componentsSAN连接选项 connective optionsFC协议 FC寻址 protocol addressing\FC拓扑 topologie SAN优缺点 光纤通道 fibre channel SAN组件 FC三种互联 FC端口类型 fabric 企业需要和科技…

RFID期末复习总结

一.概念部分 1.基础概念 射频识别无线电频率识别RFID 应答器:存放识别信息的电子数据载体 阅读器:将识别信息从应答器中读出(还可以写入数据) 应答器是统称,在各种专业场合有专业名字,比如射频卡&#…

pikachu靶场-PHP反序列化

在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数。 序列化serialize() 序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象: class S{public $test"pikachu";}$snew S(); //创建一个对象serialize($s); //…

FPGA时序约束--进阶篇(主时钟约束)

在FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。 本文将重点讲解主时钟约束设置,给出详细的约束命令,并介绍了在Vivado中如何写入主时钟约束。 一、主时…

一文详解!接口测试(http与rpc)总结

目录 前言: 一、了解一下HTTP与RPC 二、HTTP接口测试 三、RPC接口测试 四、接口测试用例设计 五、测试思路总结 前言: 在接口测试方面,常见的接口类型有HTTP接口和RPC接口。这两者的测试方法略有不同,在测试前需要进行技术选…