软件测试面试之支付系统测试

news2024/10/6 16:24:47

本篇文章主要从支付系统设计入手进行测试,针对界面功能测试容易忽略但是又十分重要的逻辑。关于支付密码、验证码、银行卡绑定等等能从界面入手测试的,下文也不讲述,如果有兴趣可以留言,后面整理。

  1、APP支付结果查询是否合理

  假设你测试的系统支持微信支付,在微信支付成功点击完成返回被测APP,这时候APP的订单状态需要更新,就会向服务器发起查询,如果因为网络问题没查到返回结果,APP需要展示给用户一个支付处理中的页面,请用户等待并再次发起查询,但是这个等待和查询不能是无期限的,需要有次数限制,如果最后还是没有查询到,需要提示用户稍后查询,如果查询到支付结果,则需要展示给用户对应的结果。

  2、通知接口测试

  如果是支付的时候微信系统因为某些问题不能及时把支付结果给到我们的系统,那么在微信在处理好支付订单的时候通常会给我们的系统发通知,告知这笔订单的状态,服务器拿到通知后更新数据库,客户端再发起查询的时候就可以拿到支付结果了,如果通知接口有问题,那就无法正常处理微信的支付通知。这个接口测试通常是RPC接口,可能需要开发帮忙模拟。

  3、定时任务

  除了靠微信调回调接口进行通知外,支付系统还需要设置定时任务去定时同步订单,商户系统需要有定时任务去查询支付系统,支付系统也需要有定时任务查询渠道系统,可以通过把数据库的订单状态由终态手动改为中间态,然后触发定时任务,看是否能同步到终态,如在数据库把支付完成的订单改成支付中,再去触发定时任务,查看是否能再同步为支付成功。

  4、金额计算&取整

  有些支付系统涉及到抽佣,一笔支付订单可能会付到不同的账户中,如果又涉及到部分退款的情形,金额的计算就会比较复杂,计算是先乘后除,还是先除后乘,保留是四舍五入保留,还是向上取证还是向下取整呢。假设有这样一个场景,用户向商家支付0.66元,系统用的单位是分,那就是66分,平台抽成33分,如果这时候用户申请退款80分,那这80分怎样从商家和平台出款呢?

  如果是先除后乘,再四舍五入那就是:80/(33+66)≈0.8, 商家退:66*0.8=52.8≈53, 平台退 33*0.8=26.4≈26,那么问题来了,53+26=79,少退了一分,这里因为先除后乘,在除的时候损失了精度,再乘以一个数值,损失的精度就更大了。

  如果是先乘后除,保留一样的小数点再四舍五入,就可以避免这个问题了。但是也要注意,先乘后除,会不会溢出呢?如果再采用向上取整或者向下取整,也会有问题,所以涉及到金额,除了考虑单位外,还要考虑合适的取整和计算方法,不然都会导致精度丢失。

  5、订单超时处理

  如果用户一直没有支付,商户系统和支付系统都需要及时将订单置为关闭的终态,否则定时任务仍然会去查询,浪费系统资源。

  除了超时关闭外,定义的订单的各种状态都需要覆盖对应的场景去测试。

  6、退款

  如果订单未支付、支付中、支付失败、订单关闭、退款成功,则都不能退款成功,退款时需要查询订单的状态,校验退款的金额,不能支付50,但是申请退款100。

  7、优惠券、红包超发

  在出现大量并发请求时,优惠券和红包发放是否存在线程安全问题,可以通过写一个多线程并发请求脚本或性能测试工具来发起大量并发请求。

  8、账户异常

  支付账户被冻结、被风控、余额不足的情况,系统需要给出对应的返回。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

广州地铁线路规划

使用python实现后端功能,由于地铁图需要进行展示,svg图需要花费比较多的时间,这里使用了 MetroFlow 库构建的地铁地图编辑器,可以在画布上构建矢量图,实现站点路线的创建。 用法: 打包好后完整目录&#x…

物联网数据驾驶舱

在信息化时代,数据已经成为驱动企业发展的核心动力。特别是在物联网领域,海量数据的实时采集、分析和监控,对于企业的运营决策和业务优化具有至关重要的作用。HiWoo Cloud作为领先的物联网云平台,其数据监控功能以“物联网数据驾驶…

2024年,AI赚钱的十大版块优势解析与适合人群

随着科技的飞速发展,AI技术正逐渐渗透到我们生活的方方面面。2024年,将是AI赚钱的黄金时期。那么,如何利用AI技术实现财富增长呢?本文将为您详细解析十大赚钱版块的优势及适合从事的人群,并通过一个实际案例,带您领略AI赚钱的无限魅力。 一、运用AI写作工具提供写作服务…

每日五道java面试题之mybatis篇(四)

目录: 第一题. 映射器#{}和${}的区别第二题. 模糊查询like语句该怎么写?第三题. 在mapper中如何传递多个参数?第四题. Mybatis如何执行批量操作第五题 MyBatis框架适用场景 第一题. 映射器#{}和${}的区别 #{}是占位符,预编译处理;${}是拼接…

自动化部署fuel环境

自动化部署fuel环境流程图 自定义NAT网络 一、在物理机上面配置 &#xff08;1&#xff09;创建名为“management”的NAT网络 # vim /usr/share/libvirt/networks/management.xml <network> <name>management</name> <bridge name"virbr1"/&…

容器部署对比:通用容器部署 vs 使用腾讯云容器镜像服务(TCR)部署 Stable Diffusion

目录 引言1 通用容器部署的主要步骤1.1 准备环境1.2 构建 Docker 镜像1.3 上传镜像1.4 部署容器1.5 配置网络1.6 监控和维护 2 使用腾讯云容器镜像服务&#xff08;TCR&#xff09;部署的主要步骤2.1 下载 Stable Diffusion web UI 代码2.2 制作 Docker 镜像2.3 上传镜像到 TCR…

仰卧起坐计数,YOLOV8POSE

仰卧起坐计数&#xff0c;YOLOV8POSE 通过计算膝盖、腰部、肩部的夹角&#xff0c;计算仰卧起坐的次数

C语言自定义类型:枚举(C语言进阶)

目录 前言 1、枚举类型定义 2、枚举的优点 3、枚举的使用 结语 前言 本篇文章讲解C语言自定义类型&#xff1a;枚举类型。 枚举顾名思义就是一一列举&#xff0c;把可能的值一一列举。像一周的周一到周日可以枚举&#xff1b;每年12个月&#xff0c;可以枚举。 1、枚举类型…

163邮箱pop3设置方法?POP3服务开启步骤?

163邮箱pop3设置操作指南&#xff1f;163邮箱pop服务怎么开启&#xff1f; 要想更加便捷地管理邮件&#xff0c;开启POP3服务是一个不错的选择。当我们需要在其他邮件客户端上使用163邮箱时&#xff0c;就需要进行POP3设置。那么&#xff0c;163邮箱pop3设置方法究竟是怎样的呢…

算法第二十九天-森林中的兔子

森林中的兔子 题目要求 解题思路 重点&#xff1a;某个兔子回答x的时候&#xff0c;那么数组中最多循序x1个同花色的兔子同时回答x 我们可以通过举例子得出一下的规律&#xff1a; 我们统计数组中所有回答x的兔子的数量n&#xff1a; 若n%(x1)0&#xff0c;说明我们此时只需…

appscan打开外部浏览器报无法连接

1、问题现象&#xff1a; 2、解决方法 再这个界面需要增加appscan的证书&#xff0c;如果是下面状态证明证书已经添加了&#xff0c;如果未加证书系统会提示添加证书&#xff1a;

便携式气象站的工作原理

TH-BQX9便携式自动气象观测仪器是一种集成了多种传感器和自动化技术的气象监测设备&#xff0c;以其便携性、自动化和高精度等特点&#xff0c;广泛应用于气象、环保、农业、科研等领域。 首先&#xff0c;它的便携性是其最大的优势之一。设计紧凑、轻便易携&#xff0c;使得用…

Swagger Array 使用指南:详解与实践

Swagger 允许开发者定义 API 的路径、请求参数、响应和其他相关信息&#xff0c;以便生成可读性较高的文档和自动生成客户端代码。而 Array &#xff08;数组&#xff09;是一种常见的数据结构&#xff0c;用于存储和组织多个相同类型的数据元素。数组可以有不同的维度和大小&a…

美区PayPal绑visa卡注意事项

很多小伙伴都有绑定paypal的需求&#xff0c;但是如果你是绑定美区的paypal这里有几点建议&#xff1a; 1、建议使用US的网络环境注册 2、使用美区的账号 3、使用美区的visa卡 三者统一才可以绑定成功&#xff0c;点击获取可以绑定美区paypal的visa卡&#xff0c;办理简单

绿色再生·安卓4G智能远程操作巡视机器人小车

一、前言 1.1 项目介绍 【1】项目功能介绍 随着物联网技术与移动通信技术的快速发展&#xff0c;远程遥控设备在日常生活及工业应用中的普及度日益提高。无论是家用扫地机器人实现自主导航清扫&#xff0c;还是目前抖音平台上展示的实景互动小车等创新应用&#xff0c;都体现…

固态硬盘有坏道怎么恢复数据 固态硬盘坏道怎么修复

固态硬盘是一种高速、低噪音、低功耗的存储设备,但是它也有一个致命的问题——坏道。坏道是指存储芯片中的某些存储单元出现了故障,导致数据无法正常读取或写入。如果你的固态硬盘出现了坏道,那么你的数据就有可能会丢失,带来了很大的困扰。那么,固态硬盘有坏道怎么恢复数…

Web 开发模式演进过程

作为初学者&#xff0c;要了解 Web 开发模式的演进过程&#xff0c;并从这些演进过程中看到变化&#xff0c;这样有利于开发者的思路提升。 什么是 Web 开发 Web &#xff1a;网页&#xff0c;可以通过浏览器访问的资源 Web 开发&#xff1a;基于网页载体的软件开发&#xff…

无人咖啡机品质之选,D 咖助力差异化竞争

在当今竞争激烈的商业环境中&#xff0c;如何脱颖而出成为众多企业关注的焦点。而无人咖啡机的出现&#xff0c;为商家提供了一个全新的思路。D 咖无人咖啡机&#xff0c;以其卓越的品质和独特的功能&#xff0c;成为了商家们实现差异化竞争的得力助手。 1. 卓越品质&#xff1…

SRC实战 | 后台登录绕过分享

一.挖掘过程简述&#xff1a; 通过收集到的账号密码进入后进行测试无果&#xff0c;查看登录返回包后修改role_id参数进入管理员后台&#xff0c;后台存在文件上传功能且对文件后缀和内容有检查&#xff0c;后缀检测时前端进行的&#xff0c;可以通过抓包进行修改&#xff0c;对…

挑战杯 车位识别车道线检测 - python opencv

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) …