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