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

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

相关文章

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

将一维机械振动信号构造为训练集和测试集(Python)

从如下链接中下载轴承数据集。 https://www.sciencedirect.com/science/article/pii/S2352340918314124 import numpy as npimport scipy.io as sioimport matplotlib.pyplot as pltimport statistics as statsimport pandas

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定义代码 6.element常用标签6.1.下拉列表

局域网内vue2 配置本地IP地址访问项目

在日常开发中同事可能需要访问你的前端项目,可以通过配置实现通过ip访问 一.首先找到config文件夹目录下的 index.js文件             将此处的host的值修改为0.0.0.0(即 host: 0.0.0.0) // Various Dev Server settings//host: 'localhost' //将localhost进行替换成 0.0.0.0host:

把Tiled中做出的地图弄到项目中~~就是懒,为了以后直接复制写过来

1.现在.h中声明private: cocos2d::CCSprite* ninja; cocos2d::CCTMXTiledMap*  tileMap; 然后.cpp中加入tileMap = CCTMXTiledMap::create("MyTileMap.tmx"); CCTMXLayer* backLayer = tileMap->layerNamed("Tile L

CocoStudio中的UI弄到项目中

1、   与alpah版相比,beta版中更改了创建的脚本,可以自定义项目的目录,接下来我们看看。先上图: 2、项目创建     找到 cocos2dx根目录/tools/project-creator/create_project.py文件,双击运行即可。如果未安装python环境,则需要下载安装。脚本运行起来,会显示一个图形界面,用以设置相应的项目