第三方支付系统性能测试要点分析

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

自2010年06月21日中国人民银行公布《非金融机构支付服务管理办法》以来,针对非金融机构“支付业务许可证”的申请及检测认证工作已经逐步展开。下面,我们将结合央行检测认证的相关规定,对非金融机构第三方支付系统性能检测的要点进行解读和分析。

  一、第三方支付系统性能检测内容

  中国人民银行于2011年1月17日发布了《非金融机构支付服务业务系统检测认证管理规定》(征求意见稿)。其对第三方支付系统性能检测的目的和内容作了如下说明:“验证业务系统是否满足业务需求的多用户并发操作,是否满足业务性能需求,评估压力解除后的自恢复能力,测试系统性能极限”。

  通过这段说明我们不难看出,对支付服务业务系统性能的检测主要包括以下三方面内容:一是系统的并发能力验证;二是压力解除后系统自恢复能力;三是系统性能极限验证。

  系统的并发能力验证应包含两方面检测内容:一是验证系统是否支持业务的多用户并发操作;二是结合典型交易检验各测试点在给定并发用户数下,系统各项性能指标是否满足用户性能需求。

  系统自恢复能力验证的内容主要是在系统并发能力验证和系统性能极限验证的同时,记录各测试点在加压和压力解除前后系统资源的使用情况及资源恢复所用的时间。

  系统性能极限验证的内容主要是对典型交易采用极限测试策略,通过逐步增加系统负载的方式,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,同时记录此时系统所能承受的最大并发用户数。

  二、第三方支付系统性能检测要点分析

  与其他应用系统的性能测试一样,规范的第三方支付系统性能测试同样需要经历测试准备、测试实施和测试总结等过程。

  1) 性能需求分析

  因各家非金融机构支付服务系统的用户规模不同,所以央行并未对第三方支付系统性能检测环境和性能指标进行硬性规定,性能指标的确认依据主要来自于系统需求文档中对性能的约定或用户性能需求的调研。

  性能需求的主要调查内容包括:系统实际使用的用户数量、正常情况下系统的平均使用用户数、高峰时段的在线用户量、可预期生命周期内系统的用户增长情况、一年的业务量及日交易量、压力解除后系统自恢复时间要求等。

  2) 测试策略分析

  根据非金融机构支付服务系统的业务特点,对其性能的测试大致可分为两类:一类是包含数据插入操作和数据查询操作的并发测试性能(如:支付、交易明细查询等);另一类是大数据量处理性能(如:日终批处理等)。

  并发测试策略的主要内容应包括:并发用户数、性能指标要求(包括响应时间、系统资源占用)等;对大数据量计算性能测试策略的制定过程中,需要关注的是对批处理交易数据量的要求。

  3) 性能测试点选取分析

  按照央行的定义,第三方支付服务包含网络支付、预付卡和银行卡收单等,而无论采用哪种支付方式,三种支付平台实质上都是买卖双方交易过程中的“中间件”,它的核心功能就是通过提供的支付网关为交易双方提供支付、充值等交易服务,并记录双方的交易数据。对其测试点的选择可以典型交易、复杂业务流程、频繁的用户操作、大数据量处理等为总体指导原则,围绕支付、交易管理、资金结算、对账处理等核心业务进行选取。

  在网络支付系统中,我们将重点选取支付、预存、交易明细查询、日终批处理等操作进行测试;预付卡部分重点选取联机消费、联机余额查询、交易明细查询、批量充值、日终批处理等操作进行测试;银行卡收单部分重点选取消费、预授权、日终批处理等操作进行测试。

  三、第三方支付系统测试方法简析

  第三方支付系统性能测试可以选择常见的商用性能测试软件进行,但需要注意的是由于交易过程通常需要调用银行接口与协约银行进行数据交换,因此在测试脚本编辑过程中需要用模拟接口来替换真实的银行接口来测试支付平台的真实性能。预付卡和银行卡收单其交易数据的来源均为Pos机,性能测试中只能用开发的工具或编制的脚本来模拟发送报文到Pos前置服务器进行并发测试,具体可通过Socket协议编写报文发送脚本的过程进行实现。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
35 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
26天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
57 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
11天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
29 11
|
13天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
41 10
|
2月前
|
监控 算法 Java
jvm-48-java 变更导致压测应用性能下降,如何分析定位原因?
【11月更文挑战第17天】当JVM相关变更导致压测应用性能下降时,可通过检查变更内容(如JVM参数、Java版本、代码变更)、收集性能监控数据(使用JVM监控工具、应用性能监控工具、系统资源监控)、分析垃圾回收情况(GC日志分析、内存泄漏检查)、分析线程和锁(线程状态分析、锁竞争分析)及分析代码执行路径(使用代码性能分析工具、代码审查)等步骤来定位和解决问题。
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
71 1
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
42 1
|
2月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
114 3
|
2月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
22天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
80 11