• 2
  • 6
分享
  • 银行测试支付测试——软件测试圈
  • 恬恬圈 2022-11-14 13:23:32 字数 1788 阅读 2212 收藏 6

一、支付分类

首先,根据不同维度,我们可以把支付分为不同的种类。如下图所示:

1.png

其次,一般来讲,线上支付分为两种消费模式。一种是直接支付金额,如淘宝,京东等购物网站,或是360云盘,视频会员等这种会员服务;另一种是充值购买金豆之类的虚拟币,在网站中使用虚拟币进行消费,比如游戏平台、花椒等产品。

二、测试方法

功能测试:

通过将边界值分析、等价类划分、错误推测、因果图等各种测试方法进行结合,整理出尽可能全面的测试案例,对支付功能及其相关功能进行测试,以确保整个支付流程以及涉及到支付流程的其他流程在任何情况下都能正常进行。

接口测试:

明确整个支付流程所需要调用的接口,分清楚商家和第三方支付平台的接口以及参数和请求方式。包括对接口特定参数的加密,使用异常订单号模拟支付,对服务端的校验等等。

安全测试:

支付涉及到金额方面,所以要考虑安全测试方面。支付请求的伪造、金额的恶意篡改、恶意模拟第三方接口来调用商家接口等等。这都是我们需要考虑到的问题。

三、支付流程

常见的支付流程如下图所示:

2.png

在这里插入图片描述

3.1. 正常的发起一笔流量充值请求,检查点:

1)用户发过去的信息有携带key值

2)商户系统本地数据会留存一份用户的订单信息,并且会根据每笔订单信息生成一笔支付信息(同时留存到本地)

3)第三方支付成功,第三方有存支付订单信息

4)充值成功,用户的流量余额有对应增加

3.2. 异常用例

3.2.1 修改用户发过去的数据

1)产品ID 与价值不对等---->检查点:篡改数据和key,检查商户系统报错:key值不对或者是用户数据有误。

2)取消充值流量

3)重复发起流量充值请求

3.2.2 商户系统-第三方之间

1)密钥搞错-第三方报错,不接收密钥

2)提交商户系统里面不存在的订单/支付订单->第三方这里也是不能通过请求

3)篡改用户支付金额–>第三方也要检查

3.2.3 第三方–用户之间

1)支付密码错误/余额不足

2)取消支付

3)重复支付[对账—>处理退款]

四、测试点

支付流程测试点

1. 付款金额和应付金额是否一致

(比如:扫描的支付二维码,和显示的应支付金额是否一致)。歪个楼,题主曾经就踩过坑呀,页面显示的应付金额通过接口vip.product返回了,前端显示出来应付金额。但是,支付的二维码是通过接口vip.getPayUrl这个接口返回的,结果二维码扫出来的值和显示的应付金额不一样呀!!!最后问题是在于,vip.getPayUrl中取的是服务器缓存,导致二维码显示的金额跟前端展示的应付金额不一致。所以测试支付还是要走整个支付流程才行,从确认订单到最后的支付成功,任何一步都有可能有问题。

2.同一种支付方式,不同的支付入口

(比如:如下图所示,支付宝有两个支付入口。即可通过扫描二维码支付,也可以通过支付宝网页支付。在测试过程中,两个入口都要覆盖到。再歪个楼,题主在测试过程中踩过的坑二:通过支付宝网站支付,支付成功后,页面没有跳转回原服务套餐网页。最后的原因是服务配置的return_url不正确,导致支付后,没有跳回原页面。如果测试用例覆盖不到这种场景,那么将会造成非常严重的线上事故。

3.png

3. 支付成功后,产品购买是否成功

(比如会员服务产品,购买后会员到期时间是否正常延迟;比如购买商品,支付成功后,订单状态是否更改,商品种类和数量是否正确等等)

4. 支付成功后,用户的金额是否扣除成功

支付金额测试点

a) 正常金额支付

b) 金额的最小值:0.01

c) 无意义的值:0元

d) 最大金额:设置支付的最大金额

e) 银行卡或微信等,设置每日最大消费金额或者单笔最大消费金额

f) 银行卡或微信余额不足时支付

支付流程测试点

a) 正常完成支付流程

b) 调起订单后,取消订单

c) 支付中断后,继续支付

d) 支付中断后结束支付

e) 单笔订单单笔支付

f) 多订单合并支付

g) 持续点击支付,是否会出现多次购买

支付方式测试点

a) 支付宝支付

b) 支付宝网页支付

c) 微信支付

d) 银行卡支付

优惠券或折扣(有一定的优惠)

a) 支付中使用优惠券/折扣,应付金额和实际支付金额是否正确

b) 优惠券/折扣是否是必选,是否可以不选择折扣

c) 支付订单退款完成后,优惠券/折扣是否还能使用


作者:佚名

原文链接:https://blog.csdn.net/Y1730008223CONG/article/details/125061074

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.引入数据库驱动包创建一个数据库测试计划,在测试计划中引入数据库驱动包,这里以oracle为例,驱动包网上有很多下载的地方,下载后放在什么地方都行,然后引入。2.添加数据库配置元件2.1创建线程组,在线程组下添加配置元件JDBCConnectionConfiguration。配置解析:VariableName:配置元件的的所有配置所保存的变量,自定义变量名称,多个jdbc配置元件可以使用相同的变量,但是只有一个会被jdbc请求使用,这里定义的变量名称会被之后的jdbc请求引用,以此来判断请求使用的是哪个配置元件所定义的数据库配置,必填项,如果不填运行后会报错VariableNamemustn...
            0 0 1605
            分享
          • 在第一模块,我们用一种新的方式理解了测试用例的概念和意义,也通过对其定义的拆解,了解了好的测试用例的基本特点,这一模块,我们就来看看一个好的测试用例怎么写。作为这一模块的第一节,我们来看看好用例的标准。需要说明的是,好用例的特点是很抽象的一种感觉,偏主观感觉;而好用例的标准,则更多的从客观标准和要求出发,能够去衡量用例的。说清楚了这一点,那我们就开始盘点下我们对好用例标准的定义。唯一的检查点在我们的标准中,作为一个好的用例的第一个标准,即每个用例有且仅有一个检查点。也许有的同学会问,我一个用例的预期结果里面有多个内容,这样不可以吗?不可以的。在我们的标准下,每个用例都只有唯一的检查点,执行到此...
            0 0 88
            分享
          •  一、前言工欲善其事,必先利其器最近对 API 接口协作的软件研究了好久,市面上的软件都下载用了一轮,下面给大家介绍其中的最强「神器」 Apifox。Apifox 官网:apifox.cn在介绍它之前,先说几个场景。如果你是后端、前端或测试,那一定遇到过这些场景。1.1. 场景一、后端视角:我是个 后端 ,遇到过的问题:1、接口定好,团队里的前端、测试小伙伴找我 要文档 。代码注释好给个 Swagger 还容易被吐槽界面丑、功能弱,不能做到 开发阶段即可并行联调 ,一开始是对接不了、调试不起来的,甚至有时候还会出现前端开发完界面,只能等后端联调。2、接口联调对接过程中,总会有些接口没...
            0 0 619
            分享
          • 测试驱动开发可以在很多环节里体现,同样,我们也可以主观地把TDD的思维运用到各个环节当中去。相信对敏捷熟悉的朋友对测试驱动开发(TDD)的概念都不会陌生。测试驱动开发强调通过预定义的测试标准驱动开发写出符合标准的代码。不过现在越来越多人会把TDD等同于单元测试驱动开发,即UTDD。我并不否认UTDD的价值,不过我更想强调应该把TDD当作一种思维。TDD的思维其实非常合理,做任何事情都应该有一个预期的目标和标准,如果目标和标准不清晰,就很难确保产出的价值。“The original description of TDD was in an ancient book about programmi...
            0 0 913
            分享
          •   据路透社、美联社报道,洛杉矶联合学区教育委员会当地时间周二完成一项投票,决定禁止其 42.9 万名学生使用智能手机,以避免孩子们受到干扰以及社交媒体带来的影响。  这项禁令的目标是在学生的“整个在校时间(包含午休)”内强制执行。  洛杉矶联合学区教育委员会是全美第二大学区委员会。该委员会以 5:2 的投票结果批准了一项决议,将在 120 天内制定一项禁止学生使用手机和社交媒体平台的政策,并于 2025 年 1 月生效。  提出该决议的董事会成员尼克?梅尔沃恩(Nick Melvoin)表示:“我认为我们将成为先锋,学生、整个城市和国家都将因此受益。”他表示,“我们的学生就像成年人一样沉迷手...
            0 0 259
            分享
      • 51testing软件测试圈微信