• 0
  • 0
分享
  • 给你一个扫码支付的二维码,如何写测试用例?——软件测试圈
  • 恬恬圈 2021-05-12 13:27:00 字数 1778 阅读 4444 收藏 0

前言

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

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

二维码扫码支付

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

1.png

首先要知道什么是二维码? 二维码实际上就是一个 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签名,防止用户篡改请求参数

2.png

性能:

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

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

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

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


作者:上海-悠悠

原文链接:https://www.cnblogs.com/yoyoketang/p/14368207.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、按严重程度分类:是指bug对软件质量的破坏程度,即此bug的存在将对软件的功能和性能产生什么样的影响。崩溃(Blocker):系统无法正常运行。阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环、导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。严重(Critical):很明显的错误性的bug。系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符模块无法启动或调用,程序重...
            0 0 1211
            分享
          • 正是因为抖音直播与淘宝直播平台属性等方面的不同,淘宝直播引入“外援”拉动成绩这件事仍是一个未知数。毕竟受众究竟原因为内容买单还是单纯为商品交易本身买单仍需观察。淘宝正在积极主动扩大“社交圈”。10月24日晚间6点,曾公开宣布“退网”的罗永浩又重现在大众面前,以9.9元一箱的可口可乐、1元的三只松鼠小饼干、1元3瓶的精酿啤酒开启了淘宝“双十一”的直播首秀。此前罗永浩的“交个朋友直播间”主要在抖音开展直播。除了引入“外援”罗永浩,也有消息称,自2022年10月28日0时起,淘宝联盟商品链接将逐渐恢复在快手直播间购物车、短视频购物车、商详页等发布商品及服务链接。10月31日将正式全面恢复完成。今年3...
            0 0 809
            分享
          • 摘要Sybase IQ列存储数据库由于查询速度快、数据压缩比高、数据加载快而广泛应用于OLAP系统中,我行一些重要系统及其历史库目前还部署在Sybase IQ数据库上。近几年随着Oracle数据库成为我行主流数据库,其他数据库(如Sybase IQ、Sybase ASE)正逐渐迁移至Oracle数据库中。本文以日常工作中一个具体案例为背景,详细介绍Sybase IQ数据库的整库异机恢复方法,通过大量测试得出Sybase IQ数据库不同版本、不同操作系统间数据迁移的可行性,希望对开发及数据服务人员有所借鉴。关键字:Sybase IQ、DBSPACE、DBFILE、生产数据备份、数据恢复环境/脱敏...
            0 0 2088
            分享
          •   新浪科技讯 北京时间1月16日晚间消息,据报道,微软正考虑对旧金山人工智能(AI)研究公司OpenAI投资100亿美元。分析人士称,这笔潜在交易有可能成为人工智能新时代的决定性交易。  如果微软对人工智能技术深远影响的押注是正确的,那么这笔交易还可能引发人工智能世界的一场重组,因为其他科技公司也竞相在“生成式人工智能”(Generative AI)的新领域争夺自己的位置。  上个月,OpenAI因为推出了一款智能聊天机器人系统ChatGPT而成为了全球关注的焦点。ChatGPT是一套人工智能系统,可以回答问题,并用听起来十分自然的语言生成文本。  ChatGPT很快就得到了微软的关注。微软...
            0 0 1080
            分享
          • 断言是什么      什么是断言?在接口测试中,我们预设接口响应结果中会出现一个片段,我们称之为预期值,断言会在接口调用后尝试捕捉这个预期值,如果能捕捉到,则判定接口成功,否则判定接口为失败。用过loadrunner的朋友一定记得检查点这个概念,断言和检查点实质上是一样的。为什么需要断言?因为JMeter默认接口响应码200即为成功:      其实,接口的业务并非成功。      为了甄别接口是否实现业务上的成功,我们便需要引入断言。断言的实现     ...
            14 14 3322
            分享
      • 51testing软件测试圈微信