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

2024-06-15 07:20

本文主要是介绍给你一个扫码支付的二维码,如何写测试用例?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

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

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

二维码扫码支付

如下图,给你这个个人收款的二维码,如何测试?

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

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

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

  二维码场景用例

  针对二维码写用例,可以分:

  1.生成的二维码是不是能正确识别,支付方拿着手机能扫的出来。

  2.二维码的准确性,扫码后的功能对不对(本来是收款码,要是生成付款码,那就不对了)。

  3.二维码的尺寸,清晰度。

  4.二维码是否会变(一般收款码不会变,付款码会定时刷新)。

  扫码场景

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

  1.网络环境,无网络的时候,二维码还能不能扫。

  2.扫码的时候,是能自己输入金额,还是固定的支付金额(个人收款是用户随便输入金额,生成的订单扫码是固定金额)。

  3.如果是商户生成的固定的订单,用户是否可以串改金额?

  4.如果是商户生成的固定的订单,用户支付后,能不能重复支付?

  5.多用户同时扫码支付场景,固定订单,只能被支付一次。

  支付场景

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

  支付金额场景:

  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.涉及退款的时候,这些红包和券是作废,还是原路返回。

  安全与性能

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

  支付安全性:

  如果是一个固定金额的订单,比如100元订单,用户在扫码支付的时候,会从二维码中解析出支付金额。

  此时如果我抓包后,篡改了金额,比如改成0.01元了,是否能支付成功呢?

  一般这种订单接口都会有sign签名,防止用户篡改请求参数。

性能:

  说到性能,必然会扯到高并发,多用户同时调用支付接口并发,会不会有什么问题呢?

  这里的并发,不是多个人扫一个二维码,是整个系统比如支付宝用户有xx亿,在一分钟内有1000w用户在使用扫码支付,测试整个系统的性能。

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

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

这篇关于给你一个扫码支付的二维码,如何写测试用例?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

android 带与不带logo的二维码生成

该代码基于ZXing项目,这个网上能下载得到。 定义的控件以及属性: public static final int SCAN_CODE = 1;private ImageView iv;private EditText et;private Button qr_btn,add_logo;private Bitmap logo,bitmap,bmp; //logo图标private st

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

Android 二维码、条形码(识别率校验)

ZxingCode 以core-3.4.jar为基础构建,具有如下功能: 1.创建条形码、二维码; 2.相机扫描条形码、二维码; 3.读取照片条形码、二维码; 4.识别率算法修改提升; 5.扫码View背景颜色可修改; FIX-2022.5.12.1 1.新增手电筒开关调用方法; 2.新增暂停解码方法; 3.新增恢复解码方法; 4.虚拟机扫码崩溃; 5.OnScanCodeListener统

uni-pay 2.x:一站式支付解决方案,让支付变得简单高效

一、引言 在移动互联网时代,支付功能已成为各类应用不可或缺的一部分。然而,支付功能的开发往往伴随着复杂的流程和高昂的成本,特别是在对接微信支付、支付宝支付等主流支付渠道时,前端后端的开发工作量和出错率都较高。为了简化这一过程,uni-pay应运而生,并以其高效、易用的特性受到了广大开发者的青睐。最近,uni-pay又升级到了2.x版本,进一步增强了其功能性和易用性。 二、uni-p

vuejs中html2canvas使用 背景图和二维码海报图片保存到一张图片上 生成一张海报并下载

不少的项目中都用到了二维码加背景图片生成海报的宣传图片,实现方法就是canvas绘制到一张上后进行下载。html2canvas的技巧在这里不在讲解。 二维码和背景图片进行定位。 在传统场合,这类功能往往依赖后台合成图片,或依赖端上实现,但web侧本身也有独立的解决方案。 Web中具有图片生成功能的是canvas标签,我们可以使用canvas中的toDataUrl() API,得到当前画布内

地推利器Xinstall:全方位二维码统计,打造高效地推策略,轻松掌握市场脉搏!

在移动互联网时代,地推作为一种传统的推广方式,依然占据着重要的地位。然而,随着市场竞争的加剧,地推也面临着诸多挑战,如如何有效监测下载来源、解决填码和人工登记的繁琐、避免重复打包和iOS限制、以及如何准确考核推广业绩等。针对这些痛点,Xinstall作为一款强大的移动应用统计与推广平台,推出了全面的地推二维码统计功能,助力地推人员轻松应对各种挑战。 一、一键生成统计二维码,告别繁琐填码 地推

高可用电商支付架构设计方案

高可用电商支付架构设计 在现代电商业务中,支付过程是其中至关重要的一环,一个高可用、安全稳定的支付架构不仅可以提高整个系统的可靠性和扩展性,降低维护成本,还可以优化用户体验,增加用户黏性。 本文将提出一种高可用的电商支付架构设计方案,并全程记录落地方法。 高可用电商支付架构设计一、前言1、电商支付一般流程2、本项目业务背景 二、订单服务1、数据库设计2、如何确保订单的幂等性3、未支

【Java】pcm 与 wav 格式互转工具类 (附测试用例)

文章目录 1. 前言1.1 背景1.2 目标1.3 亮点 2. 用例说明3. 补充验证4. 相关链接 1. 前言 git 仓库 https://github.com/ChenghanY/pcm-wav-converter 1.1 背景 系统新接入语音引擎。 语音引擎只认 pcm 格式数据。前端只认 wav 格式 。 需要后端对 pcm 和 wav 格式实现互转,特此编写工具

谷歌支付总结(下)

[html]  view plain copy 开篇:   [html]  view plain copy 如billing开发文档所说,要在你的应用中实现In-app Billing只需要完成以下几步就可以了。   [html]  view plain copy 第一,把你上篇下载的AIDL文件添加到你的工程里,第二,把<u