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

目录:导读

    • 前言
    • 一、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性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/431044.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VS统计代码行数

1.使用查找和替换方式 按CTRLSHIFTF (Find in files),勾上支持正则表达式, 然后输入搜索内容:^:b*[^:b#/].*$ 如图所示: 2.查看查询结果 需要注意:#开头和/开头或者空行都不计入代码量。

javascript操作DOM的方法

目录 1. 弹出框 2. 定时器 3. 导航与URL 4. 浏览器信息 5. 窗口控制 6. 屏幕信息 7. 历史对象 1. 弹出框 警告框(Alert) window.alert(这是一个警告消息); 确认框(Confirm) var isConfirmed window.confirm(您确定要执…

【开源】SpringBoot框架开发用户画像活动推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 兴趣标签模块2.3 活动档案模块2.4 活动报名模块2.5 活动留言模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 数据流程设计3.4 E-R图设计 四、系统展示五、核心代码5.1 查询兴趣标签5.2 查询活动推荐…

Java学习笔记002——类的修饰符

在Java语言中,类的访问修饰符决定了其它类能够访问该类的方式。类有如下4种访问修饰符,在创建类时用于类的声明: 1、public: 当一个类被声明为public时,它可以从任何其他类中被访问,无论这些类位于哪个包中。通常&am…

一台服务器,最大支持的TCP连接数是多少?

一个服务端进程最大能支持多少条 TCP 连接? 一台服务器最大能支持多少条 TCP 连接? 一、原理 TCP 四元组的信息:源IP、源端口、目标IP、目标端口。 一个服务端进程最大能支持的 TCP 连接个数的计算公式:最大tcp连接数客户端的IP…

随机森林算法

[1] 随机森林是集成学习中的bagging方法.通过有放回的抽样方法训练模型.再通过对输出求均值的方式得出最终结果。其中,回归树将输入样本分配至其子节点,不同子节点对应不同的取值.再通过损失函数将样本进行训练和分配,直至达到叶子结点。回归…

StarRocks实战——特来电StarRocks应用实践

目录 一、为何引入StarRocks 二、主要应用场景 三、封装或扩展 四、集群监控预警 五、总结规划展望 5.1 使用经验分享 5.2 下一步计划 5.2.1 StarRocks集群自动安装 5.2.2 StarRocks集群高可用架构 原文大佬的这篇StarRocks应用实践有借鉴意义,这里摘抄下来…

1、Ajax、get、post、ajax,随机颜色

一、Ajax初始 1、什么是Ajax? 异步的JavaScript和xml 2、xml是什么? 一种标记语言,传输和存储数据----------现在用JSON传输数据 3、Ajax的作用 局部加载 可以使网页异步更新 4、Ajax的原理或者步骤(6步) 创建Ajax对象 if (window.X…

centos 搭建ftp服务器

项目上需要用到ftp文件服务同步,所以在测试环境进行搭建,其中遇到了一些问题,遂记录。 1、安装vsftpd软件包 打开终端并输入以下命令来安装vsftpd yum install vsftpd -y 2、运行vsftpd systemctl start vsftpd 3、测试匿名连接 我这里…

基于springboot+vue的球队训练信息管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

【OBS】obs-websocket实战技巧,让你更快的了解OBS

▒ 目录 ▒ 🛫 导读开发环境 1️⃣ 修改OBS-web源码2️⃣ 常用api汇总获取输入源类型列表获取输入源列表获取属性列表打开输入源属性设置框获取设置输入源静音状态获取特殊输入源设置(全局音频设备)打开输入源属性设置框 🛬 文章小…

HubSpot出海CRM可以为企业带来哪些好处?

HubSpot出海CRM为企业带来了许多好处,包括但不限于以下几点: 优化客户体验: HubSpot出海CRM提供了个性化的客户关系管理功能,使企业能够根据客户的地理位置、偏好和行为等因素,提供个性化的营销和服务。这有助于提高客…

数位dp 笔记

小技巧1:求区间[X, Y]可以转换为求F(Y) - F(X-1) F(X)表示0~X中满足条件的数字个数 小技巧2:可以用树的形式来看 遍历最高位,每一位分为两种情况:未达到上界和达到上界 如果走到右边最底端需加1 度的数量 求给定区间 [X,Y]中满足下列条件的…

linux系统UDP丢包问题分析思路

Linux系统UDP丢包 最近工作中遇到某个服务器应用程序 UDP 丢包,在排查过程中查阅了很多资料,总结出来这篇文章,供更多人参考。 在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程。  1,首先网络报文通过物…

软件测试--性能测试工具JMeter

软件测试--性能测试工具JMeter 主流性能测试工具1.主流性能测试工具Loadrunner和Jmeter对比 —— 相同点2.主流性能测试工具Loadrunner和Jmeter对比 —— 不同点JMeter基本使用JMeter环境搭建1.安装JDK:2.安装Jmeter:3.注意点:JMeter功能概要1. JMeter文件目录介绍1.1 bin目…

JavaScript的`call`方法:实现函数间的调用!

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

express+mysql+vue,从零搭建一个商城管理系统10--添加商品

提示:学习express,搭建管理系统 文章目录 前言一、新建models/goods.js二、新建routes/goods.js三、添加goods表四、添加商品总结 前言 需求:主要学习express,所以先写service部分 一、新建models/goods.js models/goods.js con…

亚马逊卖家做市场分析业务可以用静态IP代理完成吗?

亚马逊作为全球最大的电商平台之一,其庞大的销售数据和用户行为数据成为了许多商家和市场研究人员进行市场分析和竞争研究的重要来源。而使用IP代理则能够为亚马逊市场分析带来许多帮助,下面就来一一介绍。静态IP代理可以为市场分析带来哪些帮助&#xf…

高维中介数据: 联合显着性(JS)检验法

摘要 中介分析在流行病学和临床试验中越来越受到关注。在现有的中介分析方法中,流行的联合显着性(JS)检验会产生过于保守的 I 类错误率,因此功效较低。但是,如果在使用 JS 测试高维中介假设时,可以准确控制…

表达式和语句

本文参考C Primer Plus进行C语言学习 文章目录 表达式语句 副作用和序列点复合语句(块)类型转换 1.表达式 表达式由运算符和运算对象组成。下面是一些表达式: 4 -6 421 a*(bc/d)/20 q5*2 xq%3 q>3 每个表达式都有一…