第三方支付系统如何测试?案例分析

article/2025/10/2 13:01:53
一、背景

  近年来,随着互联网应用服务的发展、尤其是电子商务的勃兴,我国的第三方支付产业进入了爆炸式增长时期。目前,第三方支付企业的年交易总额已突破万亿元,在人民银行备案的第三方支付企业数量已达260多家。第三方支付以其方便、快捷、无相关费用的特点,越来越受到人们的青睐,越来越多的网上交易采用第三方支付企业来完成支付结算。第三方支付方式已经融入到了人们的日常生活和工作中,正在改变着人们的消费习惯。

  然而,第三方支付企业虽然从事金融货币支付业务,但一直游离于金融监管体系之外,各企业间的信用、技术、资金实力等参差不齐,行业发展整体面临不确定性,尤其是大量沉淀资金带来的金融风险,以及欺诈、洗钱、套现、钓鱼、信息泄露、业务连续性差等带来的技术与安全风险,不仅严重影响了整个产业的形象和进一步发展,也影响了国家的金融稳定和人民财产安全。

  为了规范第三方支付服务,降低技术安全风险,维护资金财产安全,中国人民银行积极出台相关政策陆续发布了《非金融机构支付服务管理办法》、《非金融机构支付服务管理办法实施细则》,正式将第三方支付纳入国家统一监管,并实施准入制度,要求从事支付服务的非金融机构必须取得《支付业务许可证》,成为支付机构,才能开展支付业务。随后,人民银行又颁布了《非金融机构支付服务业务系统检测认证管理规定》进一步明确了支付业务系统检测要求。第三方权威检测机构中国软件评测中心积极参与非金融机构支付服务业务系统检测规范的制订,并成为央行指定的具有全业务检测资格的检测机构。

  本文涉及的支付系统是典型第三方支付系统,涉及测试业务类型为互联网支付系统检测。该系统为自主开发,根据《非金融机构支付服务业务系统检测规范(互联网支付部分)》的要求,该系统的检测内容包括功能、性能、风险监控、安全性、文档五部分。

  二、互联网支付业务系统特点

  该支付服务业务系统主要包括网站、交易系统、后台管理系统、商户管理系统、风险监控系统等,实现了客户管理、账户管理、交易处理、资金结算、对账处理、操作处理、统计报表、运行管理、风险控制等功能。其系统结构如图1所示。


▲图1典型互联网支付业务系统

  该支付服务业务系统具有以下特点:

  (1) 业务流程复杂

  该系统为客户提供的服务形式丰富、方式多样,除常规的一般支付流程外,还提供很多衍生的支付流程,以及细化的账户管理内容。此外,流程中还融入交易分析和风险监控的控制措施,因此流程环节较多。

  (2) 性能测试点需求全面,数据量大

  该系统实际交易数据量大,在测试时要求的数据量也较大,系统性能需求较高。

  (3) 具有独立的风控系统

  该系统具有独立的风控系统,风控系统的测试需要单独进行。

  (4) 安全性要求较高

  非金融机构支付服务业务系统涉及资金交易,对安全性要求较高,央行在相关管理规定中要求第三方支付企业信息系统安全等级要达到信息安全等级保护三级的基本要求。

  (5) 系统庞大,设备较多

  该系统为全国性支付服务系统,系统部署较庞大,涉及的服务器、网络设备、安全设备较多。

  三、测试分析与准备

  针对以上特点,在测试项目实施前,我们重点做好了以下几项工作,确保项目实施顺利进行:

  (1)尽早熟悉系统,通过文档、系统介绍、实际操作等方式,使测试人员在进场前熟悉系统,理清复杂流程,明确检测内容,设计详细的测试用例,并适当增加测试人员,保障测试全面、细致。

  (2)提前准备测试环境和测试数据,设计性能测试场景,沟通测试方法,并要求被检测机构事先完成自测,保障系统质量。

  (3)提前熟悉风控系统实现流程,分析与功能之间的交叉关系,在测试时与功能配合。

  (4)就检测内容与被检测机构进行沟通,了解当前系统安全设计和部署情况,对于一些可能影响整个实施进度的情况,例如设备缺失等提前确认,尽早准备。

  (5)提前了解系统的部署情况,要求被检测机构提交详细的网络拓扑图,并确定好被测方熟悉系统部署的管理员。

  (7)由于本系统测试为标准符合性测试,测试依据以《非金融机构支付服务业务系统检测规范(互联网支付部分)》为主,因此,需要就检测内容与被检测机构进行沟通,使被检测机构对检测内容的理解没有偏差。

 

四、检测技术及方法

  在本项目中,我们重点采用了场景法、边界值法进行系统功能测试,采用负载压力测试工具实现性能测试。

  下面结合具体关键点测试案例,来分析本系统的测试方法。

  1. 转账流程测试

  常规情况下,支付系统为客户提供正常转账流程,但本系统对客户进行了细分,包括个人会员、电子协议商户、纸质协议商户,对不同类型的客户间转账设置了不同的处理规则,如表1所示。


▲表1 转账对应关系表

  此外,还存在转出账户处于异常状态、转出账户余额不足、转入账户处于异常状态、转账金额超过交易限额、转账支付撤销等异常情况,如图2所示。


▲图2该系统转账流程

  综合以上情况,整个转账过程包含很多事件,

  将登录作为起始事件,登录后的不同操作会进一步触发不同的事件,这些事件在被触发时形成了不同的场景,因此我们可以采用场景法,将正常的转账过程作为基本流,将特殊情况和异常情况的处理过程作为备份流,根据确定的基本流和备份流形成不同场景并设计相应的测试用例,最后通过执行测试用例完成测试。

  2. 退款流程测试

  退款业务属于异常交易处理范畴,本系统提供的退款方式较多包括单笔退款、批量退款、多次退款、人工退款等,此外由于退款还涉及手续费返还,分成结算、查询统计等业务,退款流程较复杂,对于边界值处理的准确性得要求较高。因此,对于测试来讲,设计好的测试用例对于退款业务测试尤为重要。本次测试采用等价类法、边界值法相结合的方法,按照退款计算设计方案将其分类,分为自动退款和人工退款,然后再细分为单笔退款和批量退款,同时考虑单次退款金额略小于原交易额、单次退款金额等于原交易额、单次退款金额略超过原交易额、多次退款金额略小于原交易额、多次退款金额等于原交易额、多次退款金额略超过原交易额,分别设计测试用例,执行时还需重点查看手续费返还、分成结算、状态查询统计等的正确性。

  3. 风险监控测试

  风险监控测试重点验证系统对账户及交易风险防范的能力及相关管理制度。鉴于本系统具有独立的风控系统,在测试时主要采用系统验证、文档审核与访谈相结合,考核相关管理制度是否完善,并模拟钓鱼、套现、欺诈、大额交易、洗钱、盗用等不同类型的账户管理风险和风险交易,考核系统的风险防范及预警能力。

  4. 性能测试

  本系统性能测试包括并发测试、大数据量测试及系统自恢复能力测试。测试点较多,数据量大,需求指标要求较高,因此在测试前被检测机构尽量构建与真实环境相同配置、数据规模满足检测规范要求的压力测试环境。测试时采用了自动化性能测试工具,创建压力测试程序、构建压力测试模型,对被测试系统实施自动化压力测试,并对测试过程中系统各关注点进行监控,最后形成压力测试结果分析报告。

  4. 安全测评

  系统安全性检测针对系统安全不同层面的不同内容,主要采用访谈、现场检查、自动化工具测试、文档审核相结合的方法进行考查。针对本项目服务器等相关设备较多的特点,测试前充分了解系统部署情况,熟悉网络设备、网络架构以及网络安全产品策略、服务器策略、审计及日志管理方式、应用安全保护设施、数据加密及存储方式等,要求被测方准备好相关制度和文档,并针对不同考查点,制定相应详细的访谈表、检查表及测试表。

  五、结束语

  测试过程中发现了系统功能缺失、实现错误、风险管理制度不完善、安全设备不到位、文档与系统存在部分不一致等问题,经过整改和回归测试,系统已满足检测规范要求。

 

 

转载:http://cio.it168.com/a2012/0227/1317/000001317119.shtml


http://chatgpt.dhexx.cn/article/0EpKSjGI.shtml

相关文章

第三方支付接口设计

你是个干大事的人 前言安全性稳定性事务一致性可维护性 前言 阅读本文大概需要6分钟 ​最近在项目中对接了第三方支付,对于第三方支付来说,比较复杂功能的就是支付、退款、对账。 本篇文章我们只介绍支付相关的接口设计。 一笔支付流水可能涉及到的节点…

第三方支付接口怎么测试

现在有不少测试朋友做的项目中,可能也会涉及到支付相关的功能。比如:做商城的,做游戏的以及其他在线交易的网站、APP等。如果支付出了问题,或者用户拿少的钱通过篡改请求数据购买大金额的商品,如果是实物的话&#xff…

java支付系统,三方支付系统,四方支付系统

背景介绍 之前使用的是外面的四方系统,不方便服务商批量提供和管理收款账号;所以想着自己写一套,技术使用的都是新技术 前后分离,前端使用vue,后端使用springcloud-alibabaspringboot微服务架构。现在系统可以投入使用…

php第三方支付系统--支付流程--及代码

目前来说,越来越多的行业互联网化,也掀起了互联网金融的浪潮,第三方支付的开发也越来越广泛,一般大型的第三方支付系统包括,前置系统,支付系统,渠道系统,账务系统,清结算系统,运营与维护管理平台。下面我们来了解一下常见的一些支付流程,让大家了解了解 快捷支付流…

涉及第三方支付接口,怎么测?

大家好啊,我是大田。 像一些做金融项目、电商项目等有支付功能的系统,基本都会调用第三方支付接口,那我们应该如何测试?这里谈谈大田的思路,仅供参考: 1、根据流程图,深刻理解我司与第三方系统都…

第三方支付流程

目前来说,越来越多的行业互联网化,也掀起了互联网金融的浪潮,第三方支付的开发也越来越广泛,一般大型的第三方支付系统包括,前置系统,支付系统,渠道系统,账务系统,清结算…

第三方支付原理

1.什么是第三方支付 所谓第三方支付,就是一些和各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖…

支付宝第三方登录

支付宝登录 最近做了第三方登录,看了官方文档,加上各种百度,依然踩过不少坑,今天和大家分享一下。 我是做的pc端的,贴张图。 首先: 有支付宝的实名账号,没有实名实名一下。然后选择合作伙伴角色…

第三方支付简要原理解释说明

第三方支付,就是一些具备实力和信誉保障的第三方独立机构提供的交易支付平台。买方选购了商品后,使用第三方平台进行付款,由第三方通知卖家货款到达。 目前市面上支持第三方支付的平台有很多,商家通过和第三方签署协议&#xff0…

如何高效对接第三方支付

简介 电商购物流程中核心的一环是用户支付。目前我们已经服务30个国家和地区,不同国家往往需要对接不同的第三方支付公司,所以最近两年,研发组对接了大量的第三方支付公司,积累了一定的经验。 本文主要分享如何对接第三方支付&a…

第三方支付

1. 第三方支付 概念: 第三方支付,就是通过与产品所在国家以及国外各大银行签约、由具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支…

第三方支付系统--支付流程

目前来说,越来越多的行业互联网化,也掀起了互联网金融的浪潮,第三方支付的开发也越来越广泛,一般大型的第三方支付系统包括,前置系统,支付系统,渠道系统,账务系统,清结算…

作为测试,你了解第三方支付吗?

在很多平台都是调用第三方支付平台,比如支付宝,微信,银联电子支付等。你是否真的了解第三方支付呢? 大家每天在使用支付宝时,是不是感觉很蛮简单的?不外乎就是绑个卡,验一下支付密码&#xff0c…

程序员如何挣外快

挣钱的方式有很多,今天讲的是我觉得比较适合程序员的方法,如果渴望一夜暴富的,可以不用往下看了,因为这种简单粗暴的方法可能有,但是我并不知道,就算知道了也不会到处跟人说。在我看来,对于程序…

php初级程序员,接单,挣外快的指导方法

本文只是适合入门一段时间的php初级程序员哟,大佬就可以忽略不计。 我当时大二,学习php一个月,就尝试网上第一次接单了,也算是运气不错,当时接了几个女生的课堂设计,刚好她们就不需要太多的美观&#xff0c…

程序员如何挣外快?

当程序员是一件很棒的事情。不仅很有趣,还有大量的工作机会,其中多数工作的薪资都很高。 但有时候,你仍想去赚一些外快。可能是因为仍在上大学,可能是想为自己而非他人工作,或者想用更多的时间陪伴孩子。你仍需要赚更多的钱,或者仅仅是兴趣使然。好消息是:作为程序员,…

程序员挣外快指南

作为一名程序员,在上班之余,我们有大把的时间,不能浪费,这些时间其实都是可以用来挖掘自己潜在的创造力,今天要讨论的话题就是,程序员如何利用空余时间挣零花钱?比如说周末可以赚外快啊&#xf…

程序员赚外快的方式

更多文章详情–>码帮帮 前言 IT这个行业,就是个围城,里面都想逃离,外面的人千方百计想进来,外面的人想进来无非就是看中我们这个行业的工资高罢了,里面的人想出去,无非就是工作压力大,技术…

怎么通过python挣外快_我是如何通过python挣外快的

之前写过《在校大学生如何用知识月入3000》,是文字版的,昨天趁着去KFC吃饭这件事引起了我话痨模式(录制了视频上传到B站),重新谈谈兼职赚钱这个事情。 我为啥要去吃KFC? 根本原因 我是风险规避型人格&…

怎么用开发技术赚外快?

假设你是一位软件开发人员,想利用业余时间赚点外快补贴生活,你会怎么做呢? 我听到过很多答案,懂iOS开发的小伙伴说,可以做个App放到App Store中卖;懂网站开发的小伙伴说,可以做个网站卖广告&am…