带有支付功能的产品在测试时,一般要格外的小心谨慎,将边界值分析、等价类划分、错误推测、因果图等各种软件测试方法进行结合,整理出尽可能全面的测试案例,对该支付功能及其相关功能进行测试,以确保整个支付流程以及涉及到支付流程的其他流程在任何情况下都能正常进行。
1、支付正常流程
按照需求说明,进行常规支付操作。期望,支付成功,且无任何报错情况。
(1)订单支付金额为整数
(2)订单支付金额为小数
(3)拆分类交易:交易进行拆分,上送拆分明细
(4)分别使用wifi和4G进行支付
2、支付异常流程
相关配置验证
(1)未开通对应渠道的支付开关
(2)未配置对应渠道的支付参数类
(3)未安装对应渠道APP(支付宝、微信等)
(4)未登陆对应渠道APP
支付基础验证
(1)订单支付金额小于目前账户余额
(2)拆分类交易:拆分金额与总金额不相等
(3)模拟用户进行付款后,使用fiddler等工具,将订单金额进行修改
(4)支付请求完成后,不输入密码(一般支付渠道需要输入密码才能支付成功,但对于扫码类的被扫支付接口,微信和支付宝都有免密支付,金额<=1000时不需要输入密码,因此输入密码需要输入大金额)
(5)支付输入密码时,直接关掉该页面(包含pc端支付、APP端支付)
(6)支付请求完成后,输入密码错误(一般这种情况由渠道方进行控制,会提示密码错误,重新输入密码)
(7)扫码类交易:生成二维码不扫,查看支付结果
(8)扫码类交易:使用错误付款码进行支付(比如:微信渠道使用支付宝付款码)
(9)超时测试:某些渠道会有支付超时时间,待过了超时时间进行支付
重复操作支付
(1)输入密码错误重新支付
(2)支付无响应时重复支付
(3)支付完成后重新返回支付页面,重新支付
(4)单笔订单多人支付
(5)单笔订单一人多设备支付(比如手机和pc都可登录微信/支付宝)
(6)单笔订单快速点击支付按钮支付
服务器类
(1)支付完成后,未接收到异步通知时,我方服务器故障
(2)支付完成后,未接收到异步通知,渠道方服务器故障
(3)支付完成后,未接收到前台通知,我方服务器故障
(4)支付完成后,未接收到前台通知,渠道方服务器故障
(3)支付过程中,已下单,未成功进行支付时,渠道方服务器故障
(4)发起支付时,我方服务器故障
(5)发起支付时,渠道方服务器故障
网络问题
(1)弱网环境下,支付请求超时,查看支付订单是否有生成,查看支付情况
(2)弱网环境下,输入密码支付成功后,返回相关页面或者APP时请求超时,查看订单支付情况
(3)支付过程中,切换设备网络情况,比如WiFi切换4G/4G切换WiFi,查看支付情况
(4)用户点击支付后,出现网络异常等影响支付流程问题,查看数据库是否有待支付订单生成
(5)用户点击支付后,出现网络异常等影响支付流程问题恢复后,验证页面是否进行刷新,用户是否继续进行支付
(6)用户输入密码支付后,还未接收到成功通知时,出现网络异常等影响支付流程问题,查看数据库该笔订单是否成功
(7)用户输入密码支付后,还未接收到成功通知时,出现网络异常等影响支付流程问题恢复后,查看用户是否收到前台支付结果通知页面
支付结果涉及到用户使用方面,所以在异常时相关提示需清楚明了,并且支付页面不可有明显错误出现,不能有显示乱码情况。在用户交互方面,可根据一般页面测试规范进行测试。
支付接口完成后,需要具备完善的查询机制,在网络或者服务器问题导致订单支付成功后不能接收到成功的异步通知时,需要通过查询对账来修改系统的支付结果。