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

2023-11-11 21:01

本文主要是介绍软件测试金融项目,在测试的时候一定要避开的一些雷区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

  处理出错时需要有结果

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

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

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

  对额度的处理

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

  展示的地址

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

  图片读取位置

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

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

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

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

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

  字典项对应

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

  分页请求数据

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

  金额单位是元还是分

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

  金额一分钱差异

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

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

  输入密码需要加密键盘


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

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

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

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

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

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

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

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

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

  合同落款时间

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

  合同的签章主体

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

  合同上金额小数位数

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


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

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

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

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

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

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

  重复支付

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

  支付后跳转

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  短信挡板

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

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

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

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

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

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

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

这篇关于软件测试金融项目,在测试的时候一定要避开的一些雷区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免