首页 > 代码库 > 浅谈第三方电子支付平台测试方法的研究

浅谈第三方电子支付平台测试方法的研究

第三方支付平台的功能和结构特点

  在信用方面,第三方支付平台作为中介,在网上交易的商家和消费者之间作一个信用的中转,通过改造支付流程来约束双方的行为,从而在一定程度上缓解彼此对双方信用的猜疑,增加对网上购物的可信度。

  在技术层面,第三方支付平台承担安全保障和技术支持的作用,提供一系列的应用接口程序,支持多家银行的多卡种支付,将多家签约银行的支付方式整合到一个界面上,负责交易结算中心与银行的对接。银行与商家通过接入第三方支付平台实现二次结算,并采用国际先进SSL加密模式,在银行、消费者和商家之间传输和存储资料。第三方支付服务商所提供的支付系统能够承载很大的数据量、吞吐率,并具有极高的支付成功率。同时还可以根据不同用户的需要,对界面、功能等进行调整,增加个性化和人性化的特征。

  目前国内出现了数百个第三方支付平台,这些平台的业务模式和技术实现方法不尽相同,但平台的结构则具有一个相似的基本点,即第三方支付平台前端直接面对网上客户,平台的后端连接各家商业银行,或通过人民银行的相关支付系统连接各家商业银行。

  第三方支付平台业务流分析

  根据电子支付产业链的分析我们看到,第三方支付最初的支付模式只是作为银行和网上商户的中介,这就是第三方支付“一般模式”;随着支付业务的发展,小商户和网民之间的信用风险导致了“提供担保”的支付模式。

  第三方支付一般模式的流程:在中国,消费者通过第三方网上支付平台进行支付一般必须涉及到发卡银行(网银)、网上商户和第三方网上支付平台。一个典型的消费交易,通过第三方网上支付平台支付的流程图如下:

第三方支付一般模式流程说明

  一般支付流程如下:

  a)网上消费者浏览检索商户网页,并在商户网站选择商品、下订单;

  b)商户网站列出可以选择的支付网关,消费者选择其一,商户网站将连接到第三方支付网关的支付页面;

  c)网上消费者在第三方支付平台的支付页面,选择相应的银行、卡种;

  d)第三方支付平台将网上消费者的支付信息,按照各银行支付网关的技术要求,传递到各相关银行,进入银行支付页面;

  e)银行(银联)提供输入卡号、金额、密码等关键信息的安全页面;网上银行转发给银行账务系统,由相关银行(银联)检查相应账户(网上消费者)的支付能力,实行冻结、扣账或划账,并将账务系统的处理结果返回给网上消费者本身和第三方支付平台;

  f)第三方支付平台将支付结果转发给网上商户;

  g)网上商户确认收到成功支付应答的,向网上消费者发货或提供服务;

  h)第三方平台根据协议于第二天或约定的周期向商户支付扣除手续费后的资金;第三方平台为网上商户提供差错交易处理的服务;

  i)第三方平台作为商户与网上银行对帐,核对资金、核对;第三方平台代表网上商户与网上银行处理差错交易。

  从整个过程上来看,多家银行和签约商家通过支付网关连成通道,消费者通过第三方支付平台付款给商家,通过第三方支付为商家提供一个可以兼容多银行支方式的接口平台。

  第三方支付担保模式的流程:第三方支付担保模式,也称为信用中介型模式。该种运营模式,基本是由大型的电子交易平台独立开发或与其他投资人共同开发,凭借运营商的实力和信誉与各大银行合作,同时能够为买卖双方提供中间担保的第三方支付运营模式。这种模式的运营商主要是借助电子交易平台和中间担保支付平台与用户开展业务,在交易过中采用充当信用中介的模式,保证交易的正常进行。

  以支付宝模式流程为例,其具体运行流程是:

支付宝模式流程说明

  以支付宝支付模式为例,其具体运行流程是:

  a)买家确定购买之后从支付宝的个人账户中划拨出来,保留在支付宝监管账户中;事先用户应当保证账户中有足够的资金;如果余额不足,支付宝会自动跳转到充值页面,让客户通过网银充值;

  b)支付宝扣账成功后,通知卖家发货;

  c)卖家通过其配送渠道向买家发货;

  d)待买方收到商品并确认无误后,通知支付宝收到货物;

  e)支付宝将监管账户中资金划拨到卖家在支付宝的账户中。

  支付宝作为代收代付的中介,主要是为了维护网络交易的安全性。

  在网上交易中, 客户在商家网站下订单后,先把货款付给大家都信任的第三方中介机构,在商家知道货款己到第三方中介机构后把货物发送给客户。如果客户对货物满意,货款就通过第三方中介机构付给商家;如果不满意,客户把货物返回给商家,并从第三方中介机构处取回货款。

  第三方支付平台测试方法

  从上述的两种支付流程来看,作为网络交易的主要支付渠道,第三方网上支付平台在发卡银行、网上商户间提供了接口平台,在电子支付产业链中起到重要的中介作用。面对这样的电子化信息系统及其网络交易中可能存在的风险,我们不得不实时地关注:第三方支付业务的流程是否能够正确实现、功能是否正确、网上大量客户的并发交易会不会导致支付系统崩溃、支付系统的不稳定或者互联网诚信体系的不健全会不会影响网上购物和交易等等问题。

  目前亟待解决的问题就集中在;如何通过有效地方法和策略以验证第三方支付系统的功能是否正确实现,是否会造成网络拥堵及如何通过现有的网络技术如Internet Web、数据加密、防火墙技术、各种交易协议、客户端浏览技术和软件等,使得客户和商家能透明安全地进行交易等。因此,为了防范第三方支付系统的交易风险,保障系统的稳定运行,必须考虑采取强有力的措施加以管理和控制,积极地引入软件测试,强化系统质量测试和安全评估,为网络交易支付系统提供可靠地服务保证。

  根据支付系统的业务流程和发展需要,下面从系统的测试重点出发,主要讨论第三方支付系统的功能、性能及安全性的测试方法。

  功能测试方法

  在对第三方支付平台实施测试过程中,应采用黑盒测试策略,使用等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法等测试用例设计方法的原理与实现,分别对第三方支付系统的功能、第三方账户和交易风险监控、系统性能及安全性等测试指标项进行测试。黑盒测试法应制订覆盖全部功能模块的测试用例,通过执行测试用例以实现系统功能、业务流程和其它质量特性的测试。

  针对第三方支付平台的业务功能,如“会员管理、账户管理、中间账户资金管理、差错处理、资金结算、对账处理、统计报表”等等,应综合应用各类测试设计方法:首先对业务流程进行等价类划分,设计的测试用例应是业务主流程和流程主分支的最小集,所有的判别分支都能被覆盖,在流程覆盖的同时,完成等价功能的测试;采用边界值分析法,针对功能说明中的输入输出域,进行边界值和极限值的设计和测试;采用逆向思维方式,结合以往测试经验和直觉设计软件在功能和流程上可能存在的各种错误,靠经验用错误推测法追加一些测试用例,进行容错性测试;针对程序功能说明有各种输入条件组合的,用因果图和判定表驱动法进行测试;参数配置类的情况,用正交试验法选择较少组合方式达到最佳效果;功能图法通过不同时期条件的有效性设计数据;对于业务清晰且复杂的系统利用场景法贯穿整个测试过程。

  性能测试方法

  性能测试使用并发负载、大数据量、速度、网络故障分析及性能优化、网络应用性能监控等测试方法。在性能测试时,通过构建与真实环境相同配置、数据规模满足系统未来三年业务发展需要的压力测试环境,采用自动化测试工具模拟最终用户向服务器发起业务请求,创建压力测试脚本程序,对测试过程中系统各点进行资源监控,最后形成压力测试结果分析报告。

  采用并发性能测试方法,模拟不同数量并发用户执行关键业务,如“支付、退款、预存”等,测试系统能够承受的最大并发用户数,在进行负载操作压力测试的同时,用测试工具对数据库服务器、应用服务器、认证及授权服务器上的操作系统、数据库以及中间件等资源进行监控。

  大数据量测试主要包括单独的数据量测试及与并发性能测试相结合的综合测试。独立的数据量测试指针对系统的存储、传输、统计、查询等业务进行的大数据量测试,如“余额查询、卡交易明细查询、账单批处理”等;综合数据量测试指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试,测试数据的准备借助于测试数据管理与生成工具。

  速度测试主要检测系统关键操作的效率,例如统计报表查询等速度。通常是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。

  网络故障分析和性能优化主要测试网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间。同时在系统试运行之后,对网络的应用性能监控,及时准确地了解网络上正在发生什么事情,什么应用在运行,哪些应用程序导致系统瓶颈或资源竞争等等进行分析。

  安全性测试方法

  系统安全性检测针对安全不同层面的不同内容,主要采用访谈、检查及使用安全测试工具的方法进行考查。针对系统安全不同考查点,指定相应的访谈表、检测表及测试表。从安全测评的技术层面上讲,安全技术测评主要包括网络安全、主机安全、应用安全及数据安全四方面的内容。

  网络安全主要从网络设备、网络架构以及网络安全产品等方面进行检测,如:对于防病毒软件可以从防病毒的策略、管理策略、分发策略等方面进行测试与评估;也可通过模拟不同种类的尝试性探测手段,利用系统存在的漏洞,检测系统漏洞可能造成的危害。可辅助使用网络隐患扫描工具对整个非金融机构支付服务系统网络中心执行网路设备漏洞扫描。

  主机安全主要针对主机自身安全行、相关策略的测试。例如,主机用户权限分配合理性审查;可辅助使用网络隐患扫描工具检查卡系统服务其漏洞;日常使用记录检查,操作规范检查等。

  应用安全主要采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块、权限管理模块、日志管理、加密系统、认证系统等进行测试,主要采用黑盒测试方法验证上述功能是否有效,还可辅助使用页面安全测试工具进行应用系统漏洞检测。

  数据安全可以通过网络上捕获数据包的方式验证数据在传输过程中是否采用加密措施,可辅助使用嗅探测试工具执行数据包抓获;第三方支付平台的支付的接口、支付的入口、与各个银行的数据接口安全等接口检查测试等。

  小结

  通过上述对第三方支付平台的功能、支付模式及测试方法的分析,我们应尽可能的避免第三方支付系统建设的风险,为支付系统网络交易提供可靠地服务保证。通过对互联网第三方支付系统的测试,以客观、公正评估系统是否可靠和满足正常运营,是否符合人民银行对第三方电子支付平台服务系统的安全等各方面要求,保障我国电子支付系统的安全稳定运行。

浅谈第三方电子支付平台测试方法的研究