当前位置: 首页 > news >正文

软件测试金融项目,在测试的时候一定要避开的一些雷区

软件测试金融项目需要格外谨慎和专注,因为这些项目通常涉及大量的交易、用户隐私和其他敏感信息。以下是一些软件测试金融项目时需要关注的方面:

1. 数据保护
在测试金融项目时,必须确保用户数据和投资信息得到保护。测试人员必须确保测试环境和测试数据安全,并遵守数据保护法规。

2. 性能测试
金融业务通常需要处理大量的数据和交易,因此性能测试至关重要。测试人员必须模拟负载和压力测试,以确定系统在高负载情况下是否正常运行。

3. 安全测试
在金融项目中,安全性非常重要。测试人员必须测试网络安全、身份验证、访问控制和数据加密等方面,以确保系统具有足够的安全性。

4. 遵守法规
金融领域有很多法规和合规性标准,例如SOX、PCI-DSS和GDPR等。测试人员必须知道这些法规并进行测试,以确保系统符合相关要求。

5. 用户体验
对于金融项目而言,用户体验也非常重要。测试人员必须确保用户界面易于使用、响应迅速且用户文档清晰易懂。

综上所述,测试金融项目需要特别关注数据保护、性能测试、安全测试、遵守法规和用户体验等方面。为了确保测试质量和项目成功,测试人员必须具备相关领域的知识和技能,并与开发人员和其他团队成员紧密合作。

有的产品比如员工贷既是指员工贷小类,也是指员工贷系列的产品,这时候需要关注需求描述的员工贷覆盖范围是产品大类还是小类。

      未带参数时是否有默认处理

  前端传输的某个值为空时,后端是否需要设默认值;

  接口返回的某个配置项为空时,前端是否需要展示默认选项。

  大小写处理成一致之后再匹配

  身份证校验的地方,需都转成同一种大小写格式再校验。

  基本校验不通过,数据是否还要提交

  在用户提交申请信息时,有的处理方法是提交时进行基本校验,校验不通过不允许提交/报错,不保存数据,后台无法查看真实的用户申请记录和情况,后续无法进行记录查看和数据分析,用户也无法查


看历史记录,体验感稍差。

  虽然从流程看没有问题,但是建议的做法是保存用户提交的记录,即使不通过也只是更改状态为校验未通过。

  处理出错时需要有结果

  后端处理出错时,尽量给友好的提示给用户(前端或后端处理都可),但不要直接把后端报的空指针或者空响应返回给用户。

  结果同步发送给其他系统还是异步发送

  比如额度申请需要风控系统进行处理,在用户提交申请后,如果同步发送请求给风控,当风控系统异常时,流程中断,数据未保留,在这种情况会容易由于系统问题丢失用户,影响业务,给用户带来不好的体验。

  对额度的处理

  提款时用的是审批额度而不是申请额度:用户申请20000,通过了15000,用户可提款的额度为15000而非20000;额度过期后需作废该笔额度(变更状态或者变更数值)。

  展示的地址

  如果省市区是分开填写和存储的,在展示详细地址时是否有把省市区详细地址组合(特别是合同上)。

  图片读取位置

  对不同文件类型存放的位置是否有区别,导致人审时无法查看证件照等其它客户资料。

  筛选数据时需要确认是只要某产品的数据还是所有产品数据

  针对公共模块的数据展示,需要确认仅需处理某产品的数据还是需要所有产品的数据,仅该用户名下的数据还是总的数据。

  需要加密的数据/需要解密的数据

  避免漏解密、重复加密的情况:数据库中用户名是加密的,展示时直接取数据库中的值而未进行处理。

  字典项对应

  检查配置项是否缺失,配置项是否使用正确。

  分页请求数据

  分页处理的数据需要验证每页请求的数量,避免出现数据重复和缺失的情况(如第一页请求6个数据,第二页开始请求5个数据,导致出现重复);下拉获取更多数据时较容易出现数据缺失的情况。

  金额单位是元还是分

  多个系统交互时,需注意两边的金额单位是否一致。

  金额一分钱差异

  金额类型进行计算操作可能有坑(先四舍五入后再计算还是先计算再四舍五入处理)。

  两个地方取值来源和方式不同,比如明细里的总额是前端自己处理的,我的页面的总额是直接取后端返回的。

  输入密码需要加密键盘


  基于安全考虑,金融系统输入密码时需要使用加密键盘。

  放款时分账给各主体的金额

  有的产品在放款/还款时需要分账,需要查看分账给各主体的具体金额是否正确。

  放出/收到的钱和记账的钱需要匹配

  需要关注放款表、实际放款的金额和借据金额、记账金额一致。

  放款订单号和还款订单号不能重复

  同一笔借据,即使放款和还款都是用同一支付方,也不能使用同一个订单号。

  查询的订单号是否发起的订单号

  发起支付的订单号是transno,查询时用了主键transid导致无订单数据。

  合同落款时间

  取当前签约时间还是合同时间,如果是当前签约时间,有可能由于签约失败隔天签约时合同落款时间非放款时间。

  合同的签章主体

  合同的签章主体需要和业务确认,避免出现签错章的情况。

  合同上金额小数位数

  合同上的金额数值需要精确到最低的数值,利率不能进行四舍五入。


  连续解绑多张银行卡,解绑验证码需重置

  解绑一张银行卡后,继续解绑第二张银行卡,此时获取短信验证码是否会直接取前一次的结果。

  重置支付密码、设置支付密码是否可设置小于6位

  如果仅校验两次输入的支付密码是否相等,有可能出现两次输入的密码确实相等但是并不等于6位的情况。

  支付接口更改支付金额、手续费,后端有无校验

  发起到支付系统的金额如果直接取支付接口的金额,则需要校验是否和账单金额一致,手续费是否和计算值一致,除了用户可更改支付金额的情况。

  重复支付

  同时操作同一笔订单(同一个账号不同客户端操作,不同用户操作同一笔账单)需拦截。

  支付后跳转

  支付成功后,选择系统键返回上一页或者页面返回上一页时,不能是支付页和支付确认。

  还款计划表新增字段需要日终同步任务增加保存

  如果借据表、还款计划表等表结构有新增字段,则日终处理任务中需增加处理和保存该字段,否则隔天/逾期后数据错误。

  同一借据多期数据并行处理需考虑处理顺序

  对借据进行还款、减免等操作时,需注意按期数顺序、科目顺序对项目进行处理。

  借据的还款卡需要是用户选择的还款卡

  当用户有多张银行卡时,借据的还款卡需要是用户设置的,且和代扣协议、借款合同对应,不可直接默认帮用户设置还款卡。

  冲销利息时,计提也需修改

  需要对借据进行冲销时,除了修改应收,还需要修改计提金额。

  最后一期进行退货、提前结清、代偿等

  在验证各种场景时,需要关注最后一期的处理,如最后一期内进行退货、提前结清、代偿;

  最后一期还款日进行退货、提前结清、代偿;

  最后一期宽限期进行退货、提前结清、代偿;

  以及这些场景下计算的手续费、应还利息等是否正确。

  短信挡板

  测试环境可能有短信挡板,上生产之前需要打开挡板验证是否能发送短信。

  支付结果主动通知和异步查询

  支付结果主动通知是指支付后将支付结果实时同步到其它系统;

  需要有定时任务重推支付结果,因此支付结果的通知状态需要记录;

       异步查询是指,如果没有主动通知/主动通知都异常,其它系统过来异步查询是否成功。

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

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

相关文章:

软件测试金融项目,在测试的时候一定要避开的一些雷区

软件测试金融项目需要格外谨慎和专注,因为这些项目通常涉及大量的交易、用户隐私和其他敏感信息。以下是一些软件测试金融项目时需要关注的方面: 1. 数据保护 在测试金融项目时,必须确保用户数据和投资信息得到保护。测试人员必须确保测试环…...

顺序图——画法详解

百度百科的定义: 顺序图是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时&…...

easyexcel==省市区三级联动

省市区三级联动,不选前面的就没法选后面的 package com.example.demoeasyexcel.jilian2; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; import org.apache.poi.ss.use…...

Linux进程控制(二)--进程等待(一)

前言:之前我们讲过,子进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏。 另外,进程一旦变成僵尸状态,那就刀枪不入,就连 kill -9 也无能为力&#xff0…...

【C++】C++11常用特性梳理

C11特性梳理 1. 列表初始化2. auto & decltype3. 右值引用3.1. 左右值引用比较3.2. 右值引用的意义3.3. 万能引用与完美转发3.4. 移动构造与移动赋值 4. default & delete5. 可变参数模板6. push_back 与 emplace_back7. lambda表达式7.1. 捕捉列表 8. function包装器8…...

修改iframe生成的pdf的比例

如图想要设置这里的默认比例 在iframe连接后面加上#zoom50即可&#xff0c;50是可以随便设置的&#xff0c;设置多少就是多少比例 <iframe src"name.pdf#zoom50" height"100%" width"100%"></iframe>...

C++之list的用法介绍

C之list的用法介绍 1&#xff09;定义和初始化&#xff1a; #include <list> std::list<int> my_list; // 定义一个整数类型的list std::list<std::string> my_other_list {"apple", "banana", "cherry"}; // 初始化一个…...

Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结

作用 当集成Mybatis-Plus 后&#xff0c;我们的大部分数据库操作都可以通过 XxxxxMapper &#xff0c;同时 Mybatis-plus 在Mapper 提供基本操作方法的同时&#xff0c;也提供类基础的 serviceImpl 来帮助我们完成一些常见的基本操作。 使用 一般情况下&#xff0c;我们首先…...

yolov5 利用Labelimg对图片进行标注

首先打开yolov5-master&#xff0c;在data文件中新建一个文件夹来存放你需要跑的数据&#xff0c;例如我这次跑的是羽毛球&#xff0c;文件把文件取名为badminton。使用其他文件夹例如images也可以&#xff0c;就是跑多了以后不好整理&#xff0c;然后点击 选中刚刚你存放数据的…...

完整版付费进群带定位源码

看到别人发那些不是挂羊头卖狗肉&#xff0c;要么就是发的缺少文件引流的。恶心的一P 这源码是我付费花钱买的分享给大家&#xff0c;功能完整。 搭建教程 nginx1.2 php5.6--7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库&#xff08;shujuk…...

华为L410上制作内网镜像模板01

原文链接&#xff1a;华为L410上制作离线安装软件模板01 hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇在内网搭建Apache服务器&#xff0c;用于安装完内网操作系统后&#xff0c;在第一次开机时候&#xff0c;为系统安装软件&#xff0c;今天给大家用WeChat举例&a…...

linuxC语言缓冲区及小程序的实现

文章目录 1.文件缓冲区1.1介绍1.2缓冲文件系统1.3冲刷函数fflush1.4认识linux下的缓冲区 2.linux小程序的实现2.1 回车\r和换行\n2.2倒计时程序2.3进度条小程序sleep/usleep代码运行结果 1.文件缓冲区 1.1介绍 为缓和 CPU 与 I/O 设备之间速度不匹配&#xff0c;文件缓冲区用以…...

MySQL数据库基本操作-DDL 数据库基础知识

目录标题 1、数据库操作1-1 查询所有数据库1-2 创建数据库1-3 选择使用那个数据库1-4 删除数据库 2、数据库表操作2-1 创建数据库表2-2 查看当前数据库所有表名称2-3 查看指定某个表的创建语句2-4 查看表结构2-5 删除表 3、修改表结构格式3-1 修改表添加列3-2 修改列名和类名3-…...

基于JavaWeb+SpringBoot+Vue摩托车商城微信小程序系统的设计和实现

基于JavaWebSpringBootVue摩托车商城微信小程序系统的设计和实现 源码传送入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 近年来&#xff0c;随着移动互联网的快速发展&#xff0c;电子商务越来越受到…...

idea代码快捷键Mac版

1、查询任何东西 双击 Shift2、文件内查找 Command F 3、文件内替换 Command R4、全局查找&#xff08;根据路径&#xff09; Command Shift F5、在当前文件跳转到某一行的指定处 Command L6、退回 / 前进到上一个操作的地方 Command Option 方向键左Command Opt…...

分享76个Python管理系统源代码总有一个是你想要的

分享76个Python管理系统源代码总有一个是你想要的 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 下载链接&#xff1a;https://pan.baidu.com/s/1JtcEHG9m8ro4-dc29kVyDg?pwd8888 提取码&#xff1a;8888 项目名称 A simpl…...

Springboot养老院信息管理系统的开发-计算机毕设 附源码27500

Springboot养老院信息管理系统的开发 摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;…...

在虚拟机中安装vim和net-tools,mysql

首先在虚拟机中创建vim目录 sudo mkdir -p /home/user/tools/vim然后开始进行安装 yum install vim -yyum install net-toolsmysql参考链接 安装mysql在虚拟机中...

【Excel】函数sumif范围中符合指定条件的值求和

SUMIF函数是Excel常用函数。使用 SUMIF 函数可以对报表范围中符合指定条件的值求和。 Excel中sumif函数的用法是根据指定条件对若干单元格、区域或引用求和。 sumif函数语法是&#xff1a;SUMIF(range&#xff0c;criteria&#xff0c;sum_range) sumif函数的参数如下&#xff…...

k8s上对Pod的管理部分详解

目录 一.Pod结构介绍 1.user container 2.pause 二.Pod工作形式介绍 1.自主式pod 2.控制器管理下的pod 三.对Pod的操作介绍 1.run/apply -f/create -f运行pod 2.get查看pod信息 3.exec操作运行中的pod &#xff08;1&#xff09;进入运行中的pod &#xff08;2&…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...