【软件测试】一个扫码支付的二维码怎么测(测试点分析)

2024-03-05 21:52

本文主要是介绍【软件测试】一个扫码支付的二维码怎么测(测试点分析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

面试的时候,经常会临场出题:给你一个xxx, 如何测试, 或者说如何写测试用例?xxx可以是圆珠笔,水杯,电梯等生活中常见的场景。

那么给你一个支付的二维码,如何写测试用例呢?

首先要知道什么是二维码?

二维码实际上就是一个 url 地址,当手机扫码后,会根据二维码上的黑和白(黑色的色素块代表1,白色的色素块代表0)区域解析成 url 地址。

然后再分析下使用场景,这里实际上涉及到一个收款方,一个支付方。收款方生成二维码,支付方拿着手机去扫码。

知道使用场景了,接着拆分功能点,从字面上"二维码扫码支付", 这7个字可以拆分成3个关键字:二维码,扫码,支付

1、二维码场景用例

针对二维码写用例,可以分:
1)生成的二维码是不是能正确识别,支付方拿着手机能扫的出来
2)二维码的准确性,扫码后的功能对不对(本来是收款码,要是生成付款码,那就不对了)
3)二维码的尺寸,清晰度
4)二维码是否会变(一般收款码不会变,付款码会定时刷新)

2、扫码场景

扫码是支付方的使用场景了

1)网络环境,无网络的时候,二维码还能不能扫
2)扫码的时候,是能自己输入金额,还是固定的支付金额(个人收款是用户随便输入金额,生成的订单扫码是固定金额)
3)如果是商户生成的固定的订单,用户是否可以串改金额?
4)如果是商户生成的固定的订单,用户支付后,能不能重复支付?
5)多用户同时扫码支付场景,固定订单,只能被支付一次

3、支付场景

关于支付场景就复杂了,虽然上面的是二维码扫码支付,其实核心功能在于支付,上面的各种扫码姿势都是停留在表面的点点点。

支付金额场景:
1)支付的金额是否可以为空,为0,负数
2)支付的金额最多几位小数,一般是2位小数,精确到分
3)单笔最大金额
4)单日最大金额

支付方式:
1)支付方式:余额,余额宝,花呗,信用卡,银行卡
2)支付顺序,默认的支付顺序是怎样的(或者自己设置的支付顺序)
3)当第一个支付余额不足的时候,是否能默认用第二顺序的支付,依次类推
4)不同的支付方式,会有单笔限制,比如不同银行卡会有不同额度

支付密码:
当用户选择了支付方式,支付金额后,下一步就是输入交易密码
1)密码支付,还是指纹支付,还是刷脸支付
2)密码正确,交易成功
3)密码错误,交易失败
4)交易失败后,是否能重新支付
5)用户取消支付
6)用户不支付,放着让它过期超时

支付状态:
支付之后,那么就会有支付状态
1)支付失败,订单状态
2)支付成功,订单状态
3)用户取消支付,订单状态
4)支付超时,订单状态

对账:
1)支付方支付成功后,钱是不是变少了
2)收款方收款后,是立即到账,还是延迟到账?
3)收款方如果没网,对方支付成功后,下次联网是否能看到收款记录
4)当然支付宝还有语言播报:支付宝到账xx元

退款:
支付方付款后,突然反悔了,那么此时就涉及到退款功能了
1)退款是原路返回,还是怎样的?
2)立即到账,还是人工处理?
3)退款时候有没有扣手续费?
4)退款后,订单状态变更

手续费:
说到手续费,如果对方是花呗,信用卡,那么就涉及手续费的问题
1)对方花呗,信用卡付款,手续费扣比例对不对?
2)退款的时候,手续费会不会算你的?

红包和券:
1)如果支付方有平台红包可以用,是否能抵扣平台红包,收款方不受红包影响
2)还有券的使用,满减券,是否能叠加,还是固定商品使用券
3)涉及退款的时候,这些红包和券是作废,还是原路返回

3、安全与性能

安全和性能是最容易被忽略的,平常都是点点点的,拿着一个测试需求就想着怎么去点了,如果能回答安全和性能的方面是可以加分的。

1)支付安全性:
如果是一个固定金额的订单,比如100元订单,用户在扫码支付的时候,会从二维码中解析出支付金额
此时如果我抓包后,篡改了金额,比如改成0.01元了,是否能支付成功呢?
一般这种订单接口都会有sign签名,防止用户篡改请求参数

2)性能:
说到性能,必然会扯到高并发,多用户同时调用支付接口并发,会不会有什么问题呢?
这里的并发,不是多个人扫一个二维码,是整个系统比如支付宝用户有xx亿,在一分钟内有1000w用户在使用扫码支付,测试整个系统的性能。

类似于给你一个xxx, 如何测试?这种问题不能停留在表面上,要有全局观,把它当成一个小的项目去测试。

回答问题的思路从UI-功能-接口-业务-场景-安全-性能等方面回答。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

在拼搏的道路上,不要轻言放弃,坚持奋斗,勇往直前,相信每一次努力都将成就更加辉煌的明天,因为成功属于那些永不言败的人。

不要停下脚步,不要放弃希望,努力奋斗,坚持追求,因为只有不懈的努力,才能创造出辉煌的人生。

勇往直前,脚步不停,奋斗的力量将让你超越梦想的边界,开启属于自己的壮丽篇章。相信自己,勇敢追逐,每一次努力都将成就你璀璨的未来。

这篇关于【软件测试】一个扫码支付的二维码怎么测(测试点分析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/777924

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

python中Hash使用场景分析

《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛