当前位置: 首页 > news >正文

【软件测试】支付模块测试攻略,这些测试方法和注意事项你掌握了么?

对于大部分人而言,支付模块或许是日常生活中最为关注和使用的功能之一,因此,对于支付模块的质量控制也显得尤为重要。

但考虑到支付涉及到金钱流转等敏感信息,一旦出现问题可能带来非常严重后果。因此,在支付模块测试方面,我们必须更加谨慎和细致。

本文将会向大家介绍一些实用的软件测试方法和注意事项,并围绕支付模块这一具体场景进行深入阐述。不论你是初学者还是资深测试人员,这些内容对你来说都将非常有用。

话不多说我们直接进入正题!!

支付流程示意图:

1、支付正常流程

按照需求说明,进行常规支付操作。期望,支付成功,且无任何报错情况。

(1)订单支付金额为整数

(2)订单支付金额为小数

(3)拆分类交易:交易进行拆分,上送拆分明细

(4)分别使用wifi和4G进行支付

2、支付异常流程

1.1 相关配置验证

  (1)未开通对应渠道的支付开关

  (2)未配置对应渠道的支付参数类

  (3)未安装对应渠道APP(支付宝、微信等)

  (4)未登陆对应渠道APP

1.2 支付基础验证

  (1)订单支付金额小于目前账户余额

  (2)拆分类交易:拆分金额与总金额不相等 

  (3)模拟用户进行付款后,使用fiddler等工具,将订单金额进行修改

  (4)支付请求完成后,不输入密码(一般支付渠道需要输入密码才能支付成功,但对于扫码类的被扫支付接口,微信和支付宝都有免密支付,金额<=1000时不需要输入密码,因此输入密码需要输入大金额)

  (5)支付输入密码时,直接关掉该页面(包含pc端支付、APP端支付)

  (6)支付请求完成后,输入密码错误(一般这种情况由渠道方进行控制,会提示密码错误,重新输入密码)

  (7)扫码类交易:生成二维码不扫,查看支付结果

  (8)扫码类交易:使用错误付款码进行支付(比如:微信渠道使用支付宝付款码)

  (9)超时测试:某些渠道会有支付超时时间,待过了超时时间进行支付

1.3 重复操作支付

  (1)输入密码错误重新支付

  (2)支付无响应时重复支付

  (3)支付完成后重新返回支付页面,重新支付

  (4)单笔订单多人支付

  (5)单笔订单一人多设备支付(比如手机和pc都可登录微信/支付宝)

  (6)单笔订单快速点击支付按钮支付

1.4 服务器类

  (1)支付完成后,未接收到异步通知时,我方服务器故障

  (2)支付完成后,未接收到异步通知,渠道方服务器故障

  (3)支付完成后,未接收到前台通知,我方服务器故障

  (4)支付完成后,未接收到前台通知,渠道方服务器故障

  (3)支付过程中,已下单,未成功进行支付时,渠道方服务器故障

  (4)发起支付时,我方服务器故障

  (5)发起支付时,渠道方服务器故障

1.5 网络问题

  (1)弱网环境下,支付请求超时,查看支付订单是否有生成,查看支付情况

  (2)弱网环境下,输入密码支付成功后,返回相关页面或者APP时请求超时,查看订单支付情况

  (3)支付过程中,切换设备网络情况,比如WiFi切换4G/4G切换WiFi,查看支付情况

  (4)用户点击支付后,出现网络异常等影响支付流程问题,查看数据库是否有待支付订单生成

  (5)用户点击支付后,出现网络异常等影响支付流程问题恢复后,验证页面是否进行刷新,用户是否继续进行支付

  (6)用户输入密码支付后,还未接收到成功通知时,出现网络异常等影响支付流程问题,查看数据库该笔订单是否成功

  (7)用户输入密码支付后,还未接收到成功通知时,出现网络异常等影响支付流程问题恢复后,查看用户是否收到前台支付结果通知页面

 

支付结果涉及到用户使用方面,所以在异常时相关提示需清楚明了,并且支付页面不可有明显错误出现,不能有显示乱码情况。在用户交互方面,可根据一般页面测试规范进行测试。

支付接口完成后,需要具备完善的查询机制,在网络或者服务器问题导致订单支付成功后不能接收到成功的异步通知时,需要通过查询对账来修改系统的支付结果。

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

都到这了记得三连支持一下吧。

-------------------------------------------------

完整版文档下载方式:

留言【软件测试学习】免费获取

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

 最后再唠唠一句,如果想以测试为长期发展职业目标,是需要时刻保持学习的,要使自己具备竞争力,无论你现在工作几年,只要行动起来,你就已经占优势了,好啦就到这里了,祝大家2023年能升职加薪,没入职的就早日拿到心仪公司的offer,事事顺遂。

 

相关文章:

【软件测试】支付模块测试攻略,这些测试方法和注意事项你掌握了么?

对于大部分人而言&#xff0c;支付模块或许是日常生活中最为关注和使用的功能之一&#xff0c;因此&#xff0c;对于支付模块的质量控制也显得尤为重要。 但考虑到支付涉及到金钱流转等敏感信息&#xff0c;一旦出现问题可能带来非常严重后果。因此&#xff0c;在支付模块测试…...

刷完这个笔记,17K不能再少了....

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;得准备面试了&#xff0c;又不知道从何下手&#xff01;为了帮大家节约时间&#xff0c;特意准备了一份面试相关的资料&#xff0c;内容非常的全面&#xff0c;真的可以好好补一补&#xff0c;希望大家在都能拿到理想…...

知识变现创业指南-《知识变现秘籍》

《知识变现秘籍》 知识变现创业者指南 读完将改变你的认知 开阔你的知识变现思路 系统掌握知识变现的要点 知识付费创业方法 帮你利用知识赚到你弟一桶金 如果你有一技之长&#xff0c;想变现 如果你有一身才华&#xff0c;想变现 如果你在某个领域有绝活 如果你是&am…...

springboot+java博物馆文物管理系统

用户前台进入系统可以进行首页、文物信息、论坛交流、文物资讯、留言反馈、我的、跳转到后台等springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最…...

Ansible 自动化运维工具(二)——Ansible 的脚本(playbook 剧本)

Ansible 自动化运维工具—Ansible 的脚本playbook 剧本 playbooks 概述以及实例操作playbooks 的组成操作示例一&#xff1a;编写yaml文件也就是playbook修改配置文件并放入/opt/目录下运行playbook 操作实例二&#xff1a;定义、引用变量操作示例三&#xff1a;指定远程主机su…...

阿里云镜像服务下载并安装Go环境

【阿里云镜像】下载并安装Go环境 一、参考链接 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) golang镜像-golang下载地址-golang安装教程-阿里巴巴开源镜像站 (aliyun.com) GO语言安装以及国内镜像 - DbWong_0918 - 博客园 (cnblogs.com) 二、Go介绍 Gol…...

工作线程快速优雅退出方式探讨

本文我们不用定时器。定时器会阻塞消息循环。先看需求&#xff1a; 我们先看第一种&#xff0c;有一个任务&#xff0c;要求每1秒钟执行一次&#xff0c;最常见的写法如下两种 bool bExitThread false; DWORD WorkThread1(LPVOID param) {while (false bExitThread){//// to…...

甘特图控件DHTMLX Gantt教程:用PHP:Laravel实现Gantt(上)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求&#xff0c;具备完善的甘特图图表库&#xff0c;功能强大&#xff0c;价格便宜&#xff0c;提供丰富而灵活的JavaScript API接口&#xff0c;与各种服务器端技术&am…...

ffmpeg-命令大全03

ffplay/mpv 查看所有的解码器 ffplay -decoders >>decoders.txt ffplay无延时无缓存播放 ffplay -fflags nobuffer -i "%1" ffplay指定size播放 ffplay -x 480 -y 270 -i "%1" ffplay指定解码器 ffplay -vcodec hevc_cuvid "%1" […...

MATLAB中太赫兹时域光谱的最大似然参数估计

目录 一、引言 二、最大似然估计的基本原理 三、MATLAB中的最大似然估计实现 四、太赫兹时域光谱的最大似然参数估计 五、结论 六、参考文献 一、引言 太赫兹波&#xff08;Terahertz wave&#xff09;是电磁谱中介于微波与光波之间的一段频率范围&#xff0c;频率大约在…...

详解MySQL的并发控制

目录 1.概述 2.事务 2.1.什么是事务 2.2.事务的隔离级别 2.2.1.三种数据一致性问题 2.2.2.四种隔离级别 2.3.如何设置隔离级别 3.锁 3.1.锁与事务的关系 3.2.分类 3.3.表锁 3.3.1.概述 3.3.2.读锁 3.3.3.写锁 3.3.4.保护机制 3.4.行锁 3.4.1.概述 3.4.2.什么…...

Android Termux安装MySQL数据库 | 公网安全远程连接【cpolar内网穿透】

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…...

SpringBoot的常见配置

SpringBoot基础配置 1. 配置文件格式问题导入1.1 修改服务器端口1.2 自动提示功能消失解决方案1.3 SpringBoot配置文件加载顺序 2. yaml问题导入2.1 yaml语法规则2.2 yaml数组数据2.3 yaml数据读取 3. 多环境开发配置问题导入3.1 多环境启动配置3.2 多环境启动命令格式3.3 多环…...

LabVIEWCompactRIO 开发指南25 实施LabVIEW FPGA代码的方法

LabVIEWCompactRIO 开发指南25 实施LabVIEW FPGA代码的方法 开始开发时&#xff0c;应在LabVIEW项目的FPGA目标下创建VI&#xff0c;以便使用LabVIEW FPGA选板进行编程&#xff0c;该选板是LabVIEW选板的子集&#xff0c;包括一些LabVIEW FPGA特定函数。 应该在仿真模式下开…...

如何利用Jmeter从0到1做一次完整的压测

压测&#xff0c;在很多项目中都有应用&#xff0c;是测试小伙伴必备的一项基本技能&#xff0c;刚好最近接手了一个小游戏的压测任务&#xff0c;一轮压测下来&#xff0c;颇有收获&#xff0c;赶紧记录下来&#xff0c;与大家分享一下&#xff0c;希望大家能少踩坑。 一、压测…...

蓝桥:前端开发笔面必刷题——Day1 数组(一)

文章目录 &#x1f4cb;前言&#x1f3af;数组中重复的数字&#x1f4da;题目内容✅解答 &#x1f3af;两数之和&#x1f4da;题目内容✅解答 &#x1f3af;替换空格&#x1f4da;题目内容✅解答 &#x1f3af;二维数组中的查找&#x1f4da;题目内容✅解答 &#x1f4dd;最后 …...

SQL 教程-入门基础篇

文章目录 SQL 简介SQL 语法SQL SELECT 语句SQL SELECT DISTINCT 语句SQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字SQL INSERT INTO 语句SQL UPDATE 语句SQL DELETE 语句 SQL 简介 SQL&#xff08;Structured Query Language&#xff09;是一种用于管理和操作关系…...

循环自相关函数和谱相关密度(六)——信号的循环平稳性(循环自相关函数)原理及推导

在通信、遥测、雷达和声纳系统中,一些人工信号是一类特殊的非平稳信号,它们的非平稳性表现为周期平稳性。通信信号常用待传输信号对周期性信号的某个参数进行调制、如对正弦载波进行调幅、调频和调相,以及对周期性脉冲信号进行脉幅、脉宽和脉位调制,都会产生具有周期平稳性…...

C/C++:04. 多态和虚函数

不加virtual&#xff0c;只能访问成员变量&#xff0c;不能访问成员函数 文章目录 前言1 虚函数与多态不用虚函数的多态使用虚函数的多态 2 C虚函数注意事项 构成多态的条件C虚函数注意事项构成多态的条件什么时候声明虚函数 3 C虚析构函数的必要性总结 前言 本节阐述C中的多态…...

拿下多个定点/比亚迪要上!这项技术要「降维打击」单目感知

2008年&#xff0c;斯巴鲁在全球首次推出了搭载有立体视觉摄像头的主动安全解决方案&#xff0c;并具有紧急制动功能的“EyeSight”。2010年&#xff0c;斯巴鲁推出升级版的“EyeSight”&#xff0c;成为世界上首个可以在全车速范围内避免碰撞的量产技术系统。 2014年&#xff…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...

EEG-fNIRS联合成像在跨频率耦合研究中的创新应用

摘要 神经影像技术对医学科学产生了深远的影响&#xff0c;推动了许多神经系统疾病研究的进展并改善了其诊断方法。在此背景下&#xff0c;基于神经血管耦合现象的多模态神经影像方法&#xff0c;通过融合各自优势来提供有关大脑皮层神经活动的互补信息。在这里&#xff0c;本研…...

AT模式下的全局锁冲突如何解决?

一、全局锁冲突解决方案 1. 业务层重试机制&#xff08;推荐方案&#xff09; Service public class OrderService {GlobalTransactionalRetryable(maxAttempts 3, backoff Backoff(delay 100))public void createOrder(OrderDTO order) {// 库存扣减&#xff08;自动加全…...