“支付功能”怎么测试?
跳槽高峰期,作为测试,不管是面试还是笔试,必然要被考验到的就是”测试思维“。在面试中就是体现在如下面试题中:
“说说你项目中的 xx 模块你是如何测试的?”
“给你一个购物车,你要怎么测试?”
“你说一下这个产品的登录功能有哪些测试点?”
“支付功能怎么测试?”
…
所有的这些问题其实都是在考察你的测试思维。我们再回答这类问题的时候有方法可依循的。
今天这篇文章,就很多同学都觉得难的一个问题“支付功能”作为案例,一起来分析一下如何回答这类的面试题。
01测试思维
要分析测试点之前,我们先来梳理一下测试思维。总结来说,任何事物的测试思路都可以总结如下:
第一步:梳理产品的核心业务流程
明白这是个什么项目,实现了什么业务,以及是怎么实现的?
这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。
第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。
这个单个功能的测试点提取要覆盖以下几个方面:
- 正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。
- 异常功能验证:为了更加贴近用户的使用产品,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。
因为有很多地方的操作都有可能会导致系统异常和报错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。
第三步:针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点
- 长度,数据类型,必填项,重复
- 需求的约束条件 + 隐形需求
- 功能之间的交互
这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等
第四步:考虑非功能测试点
包括界面、易用性、兼容性、安全性、性能压力
02支付功能的测试点
基于上面的测试思路,我们可以分析得出“支付功能”测试点如下:
梳理支付的业务流程如下:
点击支付—> 选择支付方式 —> 确认金额—> 输入密码 —> 成功支付
完成这个流程测试,也就是完成了项目的冒烟测试!然后需要测试针对流程中的每个阶段和步骤,具体分析可能导致异常的测试点,所以我们按阶段和输入项来进行划分如下:
非现金支付时代,非现金支付已经成为了生活不可或缺的一部分,我们只需要一台手机便可走遍全国各地(前提是支付宝,微信有钱),那么作为测试人员,支付测试也是非常重要的一环,那么下面我就结合一下我的工作中遇到的一些问题,总结一下常见的支付测试:
1、支付的分类:
首先,根据不同维度,通常我们可以把支付分为如下图所示的种类:
其次,一般来讲,线上支付分为两种消费模式:
- 一种是直接支付金额,如淘宝,京东等购物网站,或是360云盘,视频会员等这种会员服务;
- 另一种是充值购买金豆之类的虚拟币,在网站中使用虚拟币进行消费,比如游戏平台、花椒等产品!
2、功能测试
接下来就是测试方面的工作了,首先进行的是功能测试,那么我将边界值、等类划分、错误推测,因果图等各种测试方法相结合,整理出来了一套相对全面的测试案例,对支付功能进行测试,从而确保整个支付流程和涉及到的支付流程在任何情况下都能使用。
3、接口测试
明确整个支付流程所需要调用的接口,分清楚商家和第三方平台的接口以及参数的请求方式,包括对接口特定参数的加密,使用异常单号模拟支付,对服务端的检验等等
4、安全测试
支付都会涉及到金额,那么就需要考虑安全测试这个方面,支付请求的伪造,金额的恶意篡改,恶意模拟第三方接口来调用商家接口等,均是我们需要考虑清楚的问题
5、支付流程
如下图:
6、测试点
付款金额和应付金额是否一致(比如:扫描的支付二维码,和显示的应支付金额是否一致。)支付还是要走整个支付流程才行,从确认订单到最后的支付成功,任何一步都有可能有问题。
同一种支付方式,不同的支付入口(比如:支付宝有两个支付入口。即可通过扫描二维码支付,也可以通过支付宝网页支付。在测试过程中,两个入口都要覆盖到)
支付成功后,产品购买是否成功(比如会员服务产品,购买后会员到期时间是否正常延迟;比如购买商品,支付成功后,订单状态是否更改,商品种类和数量是否正确等等)
支付成功后,用户的金额是否扣除成功
支付金额测试点
正常金额支付
金额的最小值:0.01
无意义的值:0元
最大金额:设置支付的最大金额
银行卡或微信等,设置每日最大消费金额或者单笔最大消费金额
银行卡或微信余额不足时支付
支付流程测试点
正常完成支付流程
调起订单后,取消订单
支付中断后,继续支付
支付中断后结束支付
单笔订单单笔支付
多订单合并支付
持续点击支付,是否会出现多次购买
支付方式测试点
支付宝支付
支付宝网页支付
微信支付
银行卡支付
优惠券或折扣(有一定的优惠)
支付中使用优惠券/折扣,应付金额和实际支付金额是否正确
优惠券/折扣是否是必选,是否可以不选择折扣
支付订单退款完成后,优惠券/折扣是否还能使用
“支付功能”怎么测试?
坑一:页面显示的应付金额通过接口vip.product返回了,前端显示出来应付金额。但是,支付的二维码是通过接口vip.getPayUrl这个接口返回的,结果二维码扫出来的值和显示的应付金额不一样呀!!!最后问题是在于,vip.getPayUrl中取的是服务器缓存,导致二维码显示的金额跟前端展示的应付金额不一致。所以测试支付还是要走整个支付流程才行,从确认订单到最后的支付成功,任何一步都有可能有问题。
坑二:通过支付宝网站支付,支付成功后,页面没有跳转回原服务套餐网页。最后的原因是服务配置的return_url不正确,导致支付后,没有跳回原页面。如果测试用例覆盖不到这种场景,那么将会造成非常严重的线上事故。
跳槽高峰期,作为测试,不管是面试还是笔试,必然要被考验到的就是”测试思维“。在面试中就是体现在如下面试题中:
“说说你项目中的 xx 模块你是如何测试的?”
“给你一个购物车,你要怎么测试?”
“你说一下这个产品的登录功能有哪些测试点?”
“支付功能怎么测试?”
…
所有的这些问题其实都是在考察你的测试思维。我们再回答这类问题的时候有方法可依循的。
今天这篇文章,就很多同学都觉得难的一个问题“支付功能”作为案例,一起来分析一下如何回答这类的面试题。
01测试思维
要分析测试点之前,我们先来梳理一下测试思维。总结来说,任何事物的测试思路都可以总结如下:
第一步:梳理产品的核心业务流程
明白这是个什么项目,实现了什么业务,以及是怎么实现的?
这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。
第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。
这个单个功能的测试点提取要覆盖以下几个方面:
- 正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。
- 异常功能验证:为了更加贴近用户的使用产品,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。
因为有很多地方的操作都有可能会导致系统异常和报错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。
第三步:针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点
- 长度,数据类型,必填项,重复
- 需求的约束条件 + 隐形需求
- 功能之间的交互
这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等
第四步:考虑非功能测试点
包括界面、易用性、兼容性、安全性、性能压力
02支付功能的测试点
基于上面的测试思路,我们可以分析得出“支付功能”测试点如下:
梳理支付的业务流程如下:
点击支付—> 选择支付方式 —> 确认金额—> 输入密码 —> 成功支付
完成这个流程测试,也就是完成了项目的冒烟测试!然后需要测试针对流程中的每个阶段和步骤,具体分析可能导致异常的测试点,所以我们按阶段和输入项来进行划分如下:
非现金支付时代,非现金支付已经成为了生活不可或缺的一部分,我们只需要一台手机便可走遍全国各地(前提是支付宝,微信有钱),那么作为测试人员,支付测试也是非常重要的一环,那么下面我就结合一下我的工作中遇到的一些问题,总结一下常见的支付测试:
1、支付的分类:
首先,根据不同维度,通常我们可以把支付分为如下图所示的种类:
其次,一般来讲,线上支付分为两种消费模式:
- 一种是直接支付金额,如淘宝,京东等购物网站,或是360云盘,视频会员等这种会员服务;
- 另一种是充值购买金豆之类的虚拟币,在网站中使用虚拟币进行消费,比如游戏平台、花椒等产品!
2、功能测试
接下来就是测试方面的工作了,首先进行的是功能测试,那么我将边界值、等类划分、错误推测,因果图等各种测试方法相结合,整理出来了一套相对全面的测试案例,对支付功能进行测试,从而确保整个支付流程和涉及到的支付流程在任何情况下都能使用。
3、接口测试
明确整个支付流程所需要调用的接口,分清楚商家和第三方平台的接口以及参数的请求方式,包括对接口特定参数的加密,使用异常单号模拟支付,对服务端的检验等等
4、安全测试
支付都会涉及到金额,那么就需要考虑安全测试这个方面,支付请求的伪造,金额的恶意篡改,恶意模拟第三方接口来调用商家接口等,均是我们需要考虑清楚的问题
5、支付流程
如下图:
6、测试点
- 付款金额和应付金额是否一致(比如:扫描的支付二维码,和显示的应支付金额是否一致。)支付还是要走整个支付流程才行,从确认订单到最后的支付成功,任何一步都有可能有问题。
- 同一种支付方式,不同的支付入口(比如:支付宝有两个支付入口。即可通过扫描二维码支付,也可以通过支付宝网页支付。在测试过程中,两个入口都要覆盖到)
- 支付成功后,产品购买是否成功(比如会员服务产品,购买后会员到期时间是否正常延迟;比如购买商品,支付成功后,订单状态是否更改,商品种类和数量是否正确等等)
- 支付成功后,用户的金额是否扣除成功
支付金额测试点正常金额支付金额的最小值:0.01无意义的值:0元最大金额:设置支付的最大金额银行卡或微信等,设置每日最大消费金额或者单笔最大消费金额银行卡或微信余额不足时支付支付流程测试点正常完成支付流程调起订单后,取消订单支付中断后,继续支付支付中断后结束支付单笔订单单笔支付多订单合并支付持续点击支付,是否会出现多次购买支付方式测试点支付宝支付支付宝网页支付微信支付银行卡支付优惠券或折扣(有一定的优惠)支付中使用优惠券/折扣,应付金额和实际支付金额是否正确优惠券/折扣是否是必选,是否可以不选择折扣支付订单退款完成后,优惠券/折扣是否还能使用
坑一:页面显示的应付金额通过接口vip.product返回了,前端显示出来应付金额。但是,支付的二维码是通过接口vip.getPayUrl这个接口返回的,结果二维码扫出来的值和显示的应付金额不一样呀!!!最后问题是在于,vip.getPayUrl中取的是服务器缓存,导致二维码显示的金额跟前端展示的应付金额不一致。所以测试支付还是要走整个支付流程才行,从确认订单到最后的支付成功,任何一步都有可能有问题。
坑二:通过支付宝网站支付,支付成功后,页面没有跳转回原服务套餐网页。最后的原因是服务配置的return_url不正确,导致支付后,没有跳回原页面。如果测试用例覆盖不到这种场景,那么将会造成非常严重的线上事故。
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…
“支付功能”怎么测试?相关推荐
- 如何进行支付功能的测试
非现金支付时代,非现金支付已经成为了生活不可或缺的一部分,我们只需要一台手机便可走遍全国各地(前提是支付宝,微信有钱<00>),那么作为测试人员,支付测试也是非常重要的一环,那么下面我就结 ...
- 面试题:支付功能怎么测试?如何回答?
文章末尾给大家准备了大量福利 前言 九月了,有很多的小伙伴已经全面武装好准备找工作了,九月和十月是黄金期--俗称"金九银十".那么,作为测试,不管是面试还是笔试,必然要被考验到的就 ...
- 互联网产品接入支付功能如何测试?
现在有不少测试朋友做的项目中,可能也会涉及到支付相关的功能.比如:做商城的,做游戏的以及其他在线交易的网站.APP等.如果支付出了问题,或者用户拿少的钱通过篡改请求数据购买大金额的商品,如果是实物的话 ...
- 如何用【测试思维】做“支付功能”测试?
目录 前言 测试思维 一.梳理支付的业务流程如下: 二.退款流程 三.测试方法 四.非功能测试点 前言 跳槽高峰期,作为测试,不管是面试还是笔试,必然要被考验到的就是"测试思维". ...
- 软件测试之“支付功能”测试
01 测试思维 要分析测试点之前,我们先来梳理一下测试思维.总结来说,任何事物的测试思路都可以总结如下: 第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的? 这个步 ...
- 支付功能如何进行测试
非现金支付时代,非现金支付已经成为了生活不可或缺的一部分,我们只需要一台手机便可走遍全国各地(前提是支付宝,微信有钱<00>),那么作为测试人员,支付测试也是非常重要的一环,那么下面我就结 ...
- Spring Boot集成支付宝电脑网站支付功能
Spring Boot集成支付宝电脑网站支付功能 接入准备 登录 创建应用 添加能力 生成私钥与公钥 开发设置 沙箱环境 示例Demo的使用与学习 下载Demo 启动项目 参数配置 执行测试 Spri ...
- 测试用例之支付功能测试点整理【建议收擦】
一.梳理支付的业务流程如下 : 点击支付---> 选择支付方式 ---> 确认金额---> 输入密码 ---> 成功支付 完成这个流程测试,也就是完成了项目的冒烟测试!然后需要 ...
- 支付功能测试用例设计要点
支付功能测试的执行 1.公司交给专门负责支付接口等相关的人员进行支付测试 2.如果是支付宝支付可以用到支付沙漏,模拟支付测试.但是好像只能核对成功支付的情况. 3.给公司申请测试备用金,继续实际支付操 ...
最新文章
- matplotlib绘制热力图
- 随办 企业打造完美执行团队的终极利器
- pagehelper分页
- 交叉熵损失函数公式_交叉熵损失函数对其参数求导
- Cisco 3750文件系统学习总结
- 什么是RestTemplate
- P3180-[HAOI2016]地图【圆方树,莫队,分块】
- 【蓝桥杯官网试题 - 基础练习】 矩形面积交 (几何)
- spark源码分析之Executor启动与任务提交篇
- 算法题存档20190127
- 资产组合管理中有哪些基础概念?
- JDBC的API与德鲁伊Druid连接池配置
- java五子棋人机对战_实现简单的人机对战五子棋(实践)
- 201671030116 宋菲菲 实验十四 团队项目评审课程学习总结
- 允许外部访问Windows本机的指定端口
- java redis教程视频_2020年Java视频教程-Redis全集
- 5G无线技术基础自学系列 | 5G NR和LTE信道结构比较
- poweramp最完美设置_powerAMP音效设置
- jsp页面使用大于号等
- 优维低代码:Pipes 管道
热门文章
- 移动apn接入点哪个快_最新联通上网卡APN的设置方法
- 2020统计局的行政划分表_天津市第七次全国人口普查区域划分与地图绘制试点工作在西青区开展...
- php parse url 中文,php parse_url()函数解析URL用法总结
- java服务发现_【Java】Eureka – 服务发现(Server)
- python缓存技术_高级Python技术:如何在Python应用程序中实现缓存
- 可以进行单元测试么_大量实例助攻,让你的单元测试更高效
- apache virtualhost 访问不了_六星教育:你为什么当不了架构师?除技术,你还需具备这些能力...
- 域管理员在域计算机安装程序,本人电脑菜鸟,现在正用管理员用户登录,如何设置某个域用户拥有安装软件的权限?尽量详解。谢谢!...
- 机器人卡纸形状图片大全图片_天水生态木天花吊顶图片大全
- 用python把相同名称的放在一起,python实现将具有相同名称的文件放入相应的文件夹中,把,对应,内...