现在有不少测试朋友做的项目中,可能也会涉及到支付相关的功能。比如:做商城的,做游戏的以及其他在线交易的网站、APP等。如果支付出了问题,或者用户拿少的钱通过篡改请求数据购买大金额的商品,如果是实物的话,发货前还有可能被发现。如果是虚拟商品话费、游戏币等就有可能造成损失。
所以,不管是实物也好,虚拟商品也好,涉及到支付功能时,大家在测试的过程中一定要重视,否则,会造成很大损失。
前几天也有小伙伴在评论区留言问我:支付这一块如何进行测试?
那我们今天就来说说支付流程的测试点,废话不多说,来进入我们今天的正题吧。
第一步基本测试
1、安全权限检测
登录或不登录
2、 选择的支付方式
①网上银行(借记卡和信用卡)直接支付,网上账号支付(通过充值后再支付),第三方平台支付(支付宝,云网,快钱等);
②借记卡未开通网上银行有无提醒,每家银行的接口测试(国有四大银行、招行等其他及国外银行);
③信用卡是否开通网上银行,有无当天支付限额;、
④借记卡与信用卡是直接输入卡号、密码、验证码、卡上专用码,还是直接使用用户名和密码加动态密码支付;
⑤ 直接支付考虑充值费用与所支付费用是否平衡,是否包含一定手续费;
⑥系统帐号支付:将银行卡或第三方钱转到系统帐号进行支付,检测账户余额不足时是否提示;是否有当天限额;
⑦第三方平台支付,接口的测试;
⑧是否支持批量支付;
⑨是否需要身份验证、手机短信提示,找他人代付功能;
3、收款功能 提现(转到银行卡或公司账户)功能
4、 账户管理
5、账单查询
6、打印,传真,邮件提醒功能
第二步异常情况
1、网络带宽问题
2、无法正常充值,网上银行充值有问题,如银行服务器忙等
3、 并发用户多
4、充值、支付成功,但数据未更新
第三步测试方法
1、流程图 画支付流程图,依据业务流程进行功能全覆盖测试
2、接口测试 对支付接口进行重点测试(因支付方式多样,所以选择性广)
3、功能测试 采用黑盒测试策略应采用黑盒测试策略,使用等价类划分、边界值分析、因果图法、判定表法等测试用例设计方法的原理与实现,分别对支付系统的功能、账户和交易风险监控、系统性能及安全性等测试指标项进行测试。黑盒测试法应制订覆盖全部功能模块的测试用例,通过执行测试用例以实现系统功能、业务流程和其它质量特性的测试。
4、安全性测试
①URL有参数的手动修改参数,看是否得到其他用户的信息和相关页面;
② 在登录输入框的地方输入“or 1=1--”看是否有SQL注入
③在注重SQL注入的同时,一般在有输入框的地方输入
④输入的数据没有进行有效的控制和验证
⑤ 直接输入需要权限的页面地址可用访问
5、性能测试 带负载情况下的响应时间和吞吐率,在某个时间段内同时访问系统的用户数量,或是在线数据处理的数量。
必须重视软件的安全性测试
用户购买100元游戏币时,前往第三方支付跳转进行金额的篡改由100元改成0.01元,结果就拿了0.01元充值了100元的游戏币。对订单金额没有做校验导致这样的后果,损失比较大。
大家在测试的过程中一定要注意对服务端进行校验,支付时数据的篡改一定要有校验。当同步、异步通知都存在的情况的,异步通知(第三方支付成功后台通知),没有到账,导致部分用户充值不到账,引起客户投诉。当同步、异步并存的时候,一定要分别对同步和异步进行检验,确保都能正常到账。我们所做的绝大多少的互联网产品都会涉及到第三方支付,所以支付功能必然是重要的,作为测试互联网产品的一员,我们必须要做好支付的安全性。