• 软件测试经典面试题:如何进行支付功能的测试?


    非现金支付时代,非现金支付已经成为了生活不可或缺的一部分,我们只需要一台手机便可走遍全国各地(前提是支付宝,微信有钱<00>),那么作为测试人员,支付测试也是非常重要的一环,那么下面我就结合一下我的工作中遇到的一些问题,总结一下常见的支付测试:

    一:支付的分类:

    首先,根据不同维度,通常我们可以把支付分为如下图所示的种类:
    在这里插入图片描述
    其次,一般来讲,线上支付分为两种消费模式。一种是直接支付金额,如淘宝,京东等购物网站,或是360云盘,视频会员等这种会员服务;另一种是充值购买金豆之类的虚拟币,在网站中使用虚拟币进行消费,比如游戏平台、花椒等产品!

    二:功能测试

    接下来就是测试方面的工作了,首先进行的是功能测试,那么我将边界值、等类划分、错误推测,因果图等各种测试方法相结合,整理出来了一套相对全面的测试案例,对支付功能进行测试,从而确保整个支付流程和涉及到的支付流程在任何情况下都能使用。

    三:接口测试

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

    四:安全测试

    支付都会涉及到金额,那么就需要考虑安全测试这个方面,支付请求的伪造,金额的恶意篡改,恶意模拟第三方接口来调用商家接口等,均是我们需要考虑清楚的问题

    五:支付流程

    如下图
    在这里插入图片描述

    六:测试点

    支付流程测试点

    1、付款金额和应付金额是否一致,(比如:扫描的支付二维码,和显示的应支付金额是否一致)。支付还是要走整个支付流程才行,从确认订单到最后的支付成功,任何一步都有可能有问题。

    2、同一种支付方式,不同的支付入口(比如:如下图所示,支付宝有两个支付入口。即可通过扫描二维码支付,也可以通过支付宝网页支付。在测试过程中,两个入口都要覆盖到。

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

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

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

    支付金额测试点
    1.正常金额支付
    2.金额的最小值:0.01
    3.无意义的值:0元
    4.最大金额:设置支付的最大金额

    5.银行卡或微信等,设置每日最大消费金额或者单笔最大消费金额 6.银行卡或微信余额不足时支付

    支付流程测试点
    1.正常完成支付流程
    2.调起订单后,取消订单
    3.支付中断后,继续支付
    4.支付中断后结束支付
    5.单笔订单单笔支付

    6.多订单合并支付 7.持续点击支付,是否会出现多次购买

    支付方式测试点
    1.支付宝支付
    2.支付宝网页支付
    3.微信支付
    4.银行卡支付
    优惠券或折扣(有一定的优惠)
    支付中使用优惠券/折扣,应付金额和实际支付金额是否正确
    优惠券/折扣是否是必选,是否可以不选择折扣 支付订单退款完成后,优惠券/折扣是否还能使用

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

    坑二:通过支付宝网站支付,支付成功后,页面没有跳转回原服务套餐网页。最后的原因是服务配置的return_url不正确,导致支付后,没有跳回原页面。如果测试用例覆盖不到这种场景,那么将会造成非常严重的线上事故

    学习安排上

    如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

    在这里插入图片描述

    视频文档获取方式:

    这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取

  • 相关阅读:
    大健康产业商业供应链管理系统数字化提升产业链运作效率推动供应链标准化建设
    gtest语法(二)ASSERT_*和EXPECT_*断言
    【数据聚类】第七章第一节:半监督聚类算法概述
    ARM驱动学习之基础小知识
    【独家】MobaXterm v22.1 全能终端连接工具中文版最新版
    JavaScript原型模式:实现对象共享属性和方法!
    Hadoop原理与技术——Hbase的基本操作
    Python中的多媒体处理库有哪些?
    俄罗斯方块
    java毕业设计校园二手交易网站源码+lw文档+mybatis+系统+mysql数据库+调试
  • 原文地址:https://blog.csdn.net/xfw17397388089/article/details/128186954