支付平台是如何测试各种渠道和银行通道? 举报 理由 举报 取消 作为一个支付平台,接入了快钱、易宝或直连银行等多家的渠道,内在的产品流程是自己的。业内有什么比较好的测试办法,来测试各渠道及其支持的银行通道呢?作为产品,我自己办了十几张银行卡方便测试,但QA和开发不愿意这样做,怎么办呢? 2017年7月2日 5 条回复 1303 次浏览 支付,支付宝,支付平台,第三方
回复 ( 5 )
对支付平台而言,与支付渠道相关的测试大致可以分为:测试支付渠道功能、测试支付产品功能。
1、支付渠道功能测试
主要是测试与银行、银联、其他外部支付渠道以及诸如实名认证等非支付类功能的功能。
一般情况下,支付渠道的接口只对第三方支付内部开放,不会直接将支付渠道暴露给外部商户,对外部商户都是包装成支付产品形式提供的。
支付渠道是第三方支付公司最基础的能力,由于涉及调用外部形形色色的各种接口及服务,各家的渠道提供的测试环境、准生产环境、生产环境要求也不同,同时第三方支付自己也需要维护对应的测试环境、准生产环境、生产环境不同版本的环境,要完整做测试确实挺麻烦。
测试方法:
在内部开发一套统一的测试网关(不管是接口通信协议是socket、http、xml等,一般都统一为http以方便测试),统一各种渠道的测试入口,针对不同的渠道维护对应的接口参数模板,方便测试人员快速输入并提交原始的支付请求。
提交到支付渠道后,如果支付渠道维护有测试环境、准测试环境,则可以直接用提供的测试账号完成实际调用支付渠道测试。
如果不提供,只能像题主一样,针对不同的渠道开通银行卡、对公账户等进行测试。此种情况下一般都以最低限额测试。
测试卡的申请、测试费用出处、日常管理可以根据每家公司实际情况制定对应政策,最好是公司承担各种费用、简化相关流程并有对应的激励措施,例如不要对此类费用还要走极为漫长的报销流程。
测试目的:
保证支付渠道功能的正确性、完整性、可用性,验证渠道是否畅通、功能是否正常。
一个典型例子是,原有支付渠道新上线一个功能,生产环境测试发现有问题,要在生产环境完整跑一边流程极为麻烦,可以用测试或准生产环境稳定版本的测试网关测试,快速定位是上线新版本影响生成功能,还是支付渠道端的问题,或者生产环境网络等问题影响。
2、支付产品功能测试
这里的支付产品可以是第三方支付内部的基础性产品,也可以是对外部商户提供的产品或接口。
此种情况下,测试重点不是支付渠道的基础功能,而是支付产品的核心功能。对支付产品而言,可以假设支付渠道是一个黑盒子,黑盒子对外提供的服务是可靠稳定的。
测试方法:
在内部开发一套支付渠道的模拟网关,对各种支付渠道的各个接口功能进行模拟并根据支付请求返回对应的模拟报文。支付请求不用实际提交给外部支付渠道。
一般模拟网关与上面的测试网关会统一开发部署。
首先保证测试环境请求及回调正常,需要注意的是我们走的是公网,肯定会出现一些网络导致的通信异常,此时异常处理机制非常重要,包括主动状态查询、日终对账等。
测试环境验证通过后,我觉得生产环境只需搞一张银行卡即可,保证业务流程跑通,其次需与支付机构确认生产环境支持的渠道。理论上你生产环境测一个渠道和测十个渠道没有什么区别。
这段时间正好,在做这块!
其一 通道测试/银行通道本身
核心是功能测试,印证通道接口是否正确: 发送和接受参数是否精确
返回参数的处理,是否正确,符合当前业务需求
因为这是对接别人通道,基本上只要验证流通性和异常返回状态是否完善就可以了,关于性能方面在通道开放方应该要做过验证的!
其二 在此基础上的支付产品
除了基础的功能测试,尤其是数据的准确性和及时性
额外需要注意性能,在高数据量时,或者服务器在高压力下时,是否仍然能对数据做出正确的处理!或者其他延迟处理的办法!
还有安全! 本身产品在发出请求和请求处理时是否验证原始数据,否则很容易出现问题的
当然还有很对其他的!
但是基本上做到这些应该可以达到基本业务使用要求了
开发一套支付渠道的模拟网关,对开发来说工作量不小,中小公司并不愿意花费大力气在这上面,一般只保证功能正常 ,业务流程正常就了事了
可以支付或者汇款一分钱,然后看返回状态。