【银行测试】第三方支付平台业务流,功能/性能/安全测试方法...
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、第三方支付平台的功能和结构特点
在信用方面,第三方支付平台作为中介,在网上交易的商家和消费者之间作一个信用的中转,通过改造支付流程来约束双方的行为,从而在一定程度上缓解彼此对双方信用的猜疑,增加对网上购物的可信度。
在技术层面,第三方支付平台承担安全保障和技术支持的作用,提供一系列的应用接口程序,支持多家银行的多卡种支付,将多家签约银行的支付方式整合到一个界面上,负责交易结算中心与银行的对接。
银行与商家通过接入第三方支付平台实现二次结算,并采用国际先进SSL加密模式,在银行、消费者和商家之间传输和存储资料。
第三方支付服务商所提供的支付系统能够承载很大的数据量、吞吐率,并具有极高的支付成功率。同时还可以根据不同用户的需要,对界面、功能等进行调整,增加个性化和人性化的特征。
目前国内出现了数百个第三方支付平台,这些平台的业务模式和技术实现方法不尽相同,但平台的结构则具有一个相似的基本点,即第三方支付平台前端直接面对网上客户,平台的后端连接各家商业银行,或通过人民银行的相关支付系统连接各家商业银行。
2、第三方支付平台业务流分析
根据电子支付产业链的分析我们看到,第三方支付最初的支付模式只是作为银行和网上商户的中介,这就是第三方支付“一般模式”;
随着支付业务的发展,小商户和网民之间的信用风险导致了“提供担保”的支付模式。
第三方支付一般模式的流程:
消费者通过第三方网上支付平台进行支付一般必须涉及到发卡银行(网银)、网上商户和第三方网上支付平台。
一般支付流程如下:
1)网上消费者浏览检索商户网页,并在商户网站选择商品、下订单;
2)商户网站列出可以选择的支付网关,消费者选择其一,商户网站将连接到第三方支付网关的支付页面;
3)网上消费者在第三方支付平台的支付页面,选择相应的银行、卡种;
4)第三方支付平台将网上消费者的支付信息,按照各银行支付网关的技术要求,传递到各相关银行,进入银行支付页面;
5)银行(银联)提供输入卡号、金额、密码等关键信息的安全页面;网上银行转发给银行账务系统,由相关银行(银联)检查相应账户(网上消费者)的支付能力,实行冻结、扣账或划账,并将账务系统的处理结果返回给网上消费者本身和第三方支付平台;
6)第三方支付平台将支付结果转发给网上商户;
7)网上商户确认收到成功支付应答的,向网上消费者发货或提供服务;
8)第三方平台根据协议于第二天或约定的周期向商户支付扣除手续费后的资金;第三方平台为网上商户提供差错交易处理的服务;
9)第三方平台作为商户与网上银行对帐,核对资金、核对;第三方平台代表网上商户与网上银行处理差错交易。
从整个过程上来看,多家银行和签约商家通过支付网关连成通道,消费者通过第三方支付平台付款给商家,通过第三方支付为商家提供一个可以兼容多银行支方式的接口平台。
第三方支付担保模式的流程:
第三方支付担保模式,也称为信用中介型模式。该种运营模式,基本是由大型的电子交易平台独立开发或与其他投资人共同开发,凭借运营商的实力和信誉与各大银行合作,同时能够为买卖双方提供中间担保的第三方支付运营模式。
这种模式的运营商主要是借助电子交易平台和中间担保支付平台与用户开展业务,在交易过中采用充当信用中介的模式,保证交易的正常进行。
以支付宝模式流程为例,其具体运行流程是:
以支付宝支付模式为例,其具体运行流程是:
1)买家确定购买之后从支付宝的个人账户中划拨出来,保留在支付宝监管账户中;事先用户应当保证账户中有足够的资金;如果余额不足,支付宝会自动跳转到充值页面,让客户通过网银充值;
2)支付宝扣账成功后,通知卖家发货;
3)卖家通过其配送渠道向买家发货;
4)待买方收到商品并确认无误后,通知支付宝收到货物;
5)支付宝将监管账户中资金划拨到卖家在支付宝的账户中。
支付宝作为代收代付的中介,主要是为了维护网络交易的安全性。
在网上交易中, 客户在商家网站下订单后,先把货款付给大家都信任的第三方中介机构,在商家知道货款己到第三方中介机构后把货物发送给客户。
如果客户对货物满意,货款就通过第三方中介机构付给商家;如果不满意,客户把货物返回给商家,并从第三方中介机构处取回货款。
3、第三方支付平台测试方法
从上述的两种支付流程来看,作为网络交易的主要支付渠道,第三方网上支付平台在发卡银行、网上商户间提供了接口平台,在电子支付产业链中起到重要的中介作用。
面对这样的电子化信息系统及其网络交易中可能存在的风险。
我们不得不实时地关注:第三方支付业务的流程是否能够正确实现、功能是否正确、网上大量客户的并发交易会不会导致支付系统崩溃、支付系统的不稳定或者互联网诚信体系的不健全会不会影响网上购物和交易等等问题。
目前亟待解决的问题就集中在:
如何通过有效地方法和策略以验证第三方支付系统的功能是否正确实现;
是否会造成网络拥堵及如何通过现有的网络技术如Internet Web、数据加密、防火墙技术、各种交易协议、客户端浏览技术和软件等,使得客户和商家能透明安全地进行交易等。
因此,为了防范第三方支付系统的交易风险,保障系统的稳定运行,必须考虑采取强有力的措施加以管理和控制,积极地引入软件测试,强化系统质量测试和安全评估,为网络交易支付系统提供可靠地服务保证。
4、第三方支付系统的功能、性能及安全性的测试方法
1)功能测试方法
在对第三方支付平台实施测试过程中,应采用黑盒测试策略,使用等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法等测试用例设计方法的原理与实现。
分别对第三方支付系统的功能、第三方账户和交易风险监控、系统性能及安全性等测试指标项进行测试。黑盒测试法应制订覆盖全部功能模块的测试用例,通过执行测试用例以实现系统功能、业务流程和其它质量特性的测试。
针对第三方支付平台的业务功能,如“会员管理、账户管理、中间账户资金管理、差错处理、资金结算、对账处理、统计报表”等等。
应综合应用各类测试设计方法:
首先对业务流程进行等价类划分,设计的测试用例应是业务主流程和流程主分支的最小集,所有的判别分支都能被覆盖,在流程覆盖的同时,完成等价功能的测试;
采用边界值分析法,针对功能说明中的输入输出域,进行边界值和极限值的设计和测试;
采用逆向思维方式,结合以往测试经验和直觉设计软件在功能和流程上可能存在的各种错误,靠经验用错误推测法追加一些测试用例,进行容错性测试;
针对程序功能说明有各种输入条件组合的,用因果图和判定表驱动法进行测试;参数配置类的情况,用正交试验法选择较少组合方式达到最佳效果;
功能图法通过不同时期条件的有效性设计数据;
对于业务清晰且复杂的系统利用场景法贯穿整个测试过程。
2)性能测试方法
性能测试使用并发负载、大数据量、速度、网络故障分析及性能优化、网络应用性能监控等测试方法。
在性能测试时,通过构建与真实环境相同配置、数据规模满足系统未来三年业务发展需要的压力测试环境,采用自动化测试工具模拟最终用户向服务器发起业务请求,创建压力测试脚本程序,对测试过程中系统各点进行资源监控,最后形成压力测试结果分析报告。
采用并发性能测试方法,模拟不同数量并发用户执行关键业务,如“支付、退款、预存”等。
测试系统能够承受的最大并发用户数,在进行负载操作压力测试的同时,用测试工具对数据库服务器、应用服务器、认证及授权服务器上的操作系统、数据库以及中间件等资源进行监控。
大数据量测试主要包括单独的数据量测试及与并发性能测试相结合的综合测试。
独立的数据量测试指针对系统的存储、传输、统计、查询等业务进行的大数据量测试,如“余额查询、卡交易明细查询、账单批处理”等;
综合数据量测试指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试,测试数据的准备借助于测试数据管理与生成工具。
速度测试主要检测系统关键操作的效率,例如统计报表查询等速度。通常是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
网络故障分析和性能优化主要测试网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间。
同时在系统试运行之后,对网络的应用性能监控,及时准确地了解网络上正在发生什么事情,什么应用在运行,哪些应用程序导致系统瓶颈或资源竞争等等进行分析。
3)安全性测试方法
系统安全性检测针对安全不同层面的不同内容,主要采用访谈、检查及使用安全测试工具的方法进行考查。
针对系统安全不同考查点,指定相应的访谈表、检测表及测试表。从安全测评的技术层面上讲,安全技术测评主要包括网络安全、主机安全、应用安全及数据安全四方面的内容。
网络安全主要从网络设备、网络架构以及网络安全产品等方面进行检测,如:对于防病毒软件可以从防病毒的策略、管理策略、分发策略等方面进行测试与评估;
也可通过模拟不同种类的尝试性探测手段,利用系统存在的漏洞,检测系统漏洞可能造成的危害。可辅助使用网络隐患扫描工具对整个非金融机构支付服务系统网络中心执行网路设备漏洞扫描。
主机安全主要针对主机自身安全行、相关策略的测试。
例如,主机用户权限分配合理性审查;可辅助使用网络隐患扫描工具检查卡系统服务其漏洞;日常使用记录检查,操作规范检查等。
应用安全主要采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块、权限管理模块、日志管理、加密系统、认证系统等进行测试,主要采用黑盒测试方法验证上述功能是否有效,还可辅助使用页面安全测试工具进行应用系统漏洞检测。
数据安全可以通过网络上捕获数据包的方式验证数据在传输过程中是否采用加密措施,可辅助使用嗅探测试工具执行数据包抓获;
第三方支付平台的支付的接口、支付的入口、与各个银行的数据接口安全等接口检查测试等。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
每一份努力都不会白费,只要坚定目标,持之以恒,没有攀不过的高峰,只有走不完的路程。让奋斗成为你的座右铭,创造更加辉煌的人生。
即使路途崎岖,也要坚持追逐梦想的脚步;即使失败屡次,也要保持勇往直前的信念。因为只有不停拼搏,才能绽放出属于自己的辉煌光芒。
每一次的拼搏都是积累,每一次的努力都是进步,不要停下脚步,勇往直前。在奋斗的路上,你会发现,你所追求的梦想离你越来越近。
相关文章:

【银行测试】第三方支付平台业务流,功能/性能/安全测试方法...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、第三方支付平台…...
全志V3s之显示当前文件路径
新移植的kernel和根文件系统,其终端显示只有一个#号,不方便查看,更改以下配置,使得可以显示全路径。修改如下: export PS1[\u\h \w]\$这个是即时生效的,所以如果要重启或者重新打开窗口也生效的话就要把这…...
小程序跳转tabbar,tabbar页面不刷新
文章地址:12.小程序 之切换到tabBar页面不刷新问题_360问答 解决办法备份: wx.switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 wx.reLaunch:关闭所有页面,打开到应用内的某个页面。 wx.reLa…...

在SpringData JPA 中实现对持久层的操作
1.导入依赖 hibernate 这个依赖自带实现JPA接口 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depen…...
C++ SEH结构化异常捕获处理(双平台支持 Linux、Windows)。
测试: try_ctor();try_call([](){printf("1111111111111111111111\r\n");int* p NULL;*p 100;throw 1;// try_eeh();}, [](){printf("2222222222222222222222\r\n");}); 设置NULL指针P的值引发程式崩溃,可以被正确捕获࿰…...
jvm-sandbox-repeater 精简版部署之standalone模式
jvm-sandbox-repeater 仅仅提供了录制回放的能力,如果需要完成业务回归、实时监控、压测等平台,后面须要有一个数据中心负责采集数据的加工、存储、搜索,repeater-console提供了简单的demo示例;一个模块管理平台负责管理JVM-Sandb…...

【JavaWeb笔记】单选框,结合Servlet
各个部分的作用 jsp部分 form action"...":表单标签,供用户提交数据。内部的submit点击之后相当于是点action的URL input type"radio":输入类型为单选框。把name设置为一样的,这样效果上就是单选ÿ…...
Docker 与 Podman:揭示容器编排的最佳 25 大常见问题解答
让我们告诉你一件事。 这不仅仅是这两个强大平台之间的普通比较。 相反,我们分析并列出了有关 Docker 与 Podman 的最紧迫问题。 但这里有一件事——这些问题不仅被技术角度所包围。 我们还深入研究了业务环境,因为我们知道这不仅仅是关于代码。这是…...

Spark分布式内存计算框架
目录 一、Spark简介 (一)定义 (二)Spark和MapReduce区别 (三)Spark历史 (四)Spark特点 二、Spark生态系统 三、Spark运行架构 (一)基本概念 &#x…...

安装python第三方库后,在pycharm中不能正常导入
python小白学习opencv,使用pip安装完opencv库后import cv2报错,按照如下设置解决: 需要正确设置python解释器路径...

从“食”到“用”,燕之屋的未来增长价值几何?
12月12日,燕窝行业头部企业燕之屋在港交所上市。 作为新消费的热门赛道,近年滋补品的关注度一直比较高。“领头燕”登陆资本市场,是消费者健康养生意识不断提高,滋补品成为营养补充主流的一个积极信号。 长期以来,中…...

C++使用策略模式,减少使用switch...case...
目录 原理函数类模板函数使用switch...case...不使用switch...case... 知识点decltypestd::remove_reference 原理 函数 #include <iostream> #include <functional> #include <map>void fun1(int a, int b) {std::cout << "fun1 : a "<…...

.NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
WebAppDbTest 项目准备 项目准备1、.net cli 创建项目2、nuget 包引用和项目结构2.1、项目添加相关 nuget 包2.2、WebAppDbTest 项目结构 3、项目代码说明3.1、CSharp/C# 类文件说明3.2、json 配置文件说明 4、项目运行预览 数据库 .db 文件准备1、创建 SQLite 数据库1.1、在 W…...

2024 年,新程序员如何与AI共赢!!
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

Debian 系统镜像下载
最近在看一些网络相关的文章需要用到 debian 11.x 的系统网上找了好多都发下载,在官网看一下 有个 11.8 的版本我无法下载,提示被最新的 debian-12.4.0 所代替,于是找到了这个链接 Index of /cdimage/unofficial/non-free/cd-including-fi…...

数据结构和算法(全)
1.了解数据结构和算法 1.1 二分查找 二分查找(Binary Search)是一种在有序数组中查找特定元素的搜索算法。它的基本思想是将数组分成两半,然后比较目标值与中间元素的大小关系,从而确定应该在左半部分还是右半部分继续查找。这个…...
Vue项目中WebSocket封装
WEBSOCKET 封装引入初始化使用 封装 utils下建立WebSocketManager.js class WebSocketManager {constructor() {this.url null;this.websocket null;this.isConnected false;this.listeners {onopen: [],onmessage: [],onclose: [],onerror: [],};this.reconnectionOptio…...

018 OpenCV 人脸检测
目录 一、环境 二、分类器原理 2.1、概述 2.2、工作原理 三、人脸检测代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、分类器原理 CascadeClassifier是OpenCV(开源计算机视觉库)中的一个强大的类…...
Etcd实战(一)-部署etcd集群
1 概述 etcd是一个高可用的分布式键值存储系统,是CoreOS(现在隶属于Red Hat)公司开发的一个开源项目。它提供了一个简单的接口来存储和检索键值对数据,并使用Raft协议实现了分布式一致性。etcd广泛应用于Docker、Kubernetes等分布…...
Python绘制一个简单的圣诞树
在Python中,你可以使用基本的打印语句和循环来绘制一个简单的圣诞树。以下是一个例子: def draw_christmas_tree(height):for i in range(height):print( * (height - i - 1) +...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
Yii2项目自动向GitLab上报Bug
Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...