【银行测试】金融银行-理财项目面试/分析总结(二)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

银行理财相关的项目流程

项目名称:xxx农商银行手机银行App

项目介绍:此项目是专为手机银行客户打造的移动金融服务平台,为客户提供实时、高效的账户和资金管理。主要包括理财服务、基金服务、贷款服务、账户管理、转账汇款、储蓄服务、生活缴费、利率查询和网点查询等金融服务。

在安全方面,采用数据全程加密、密码超限保护和登录超时控制等机制,并通过用户信息绑定、短信验证等多种安全措施,为客户的资金交易保驾护航。

项目职责:
1)根据模块功能要求进行需求分析,参与产品组织的需求评审会议;
2)根据需求文档,选择测试方法通过XMind提取测试点并编写测试用例;
3)使用Postman进行接口测试,接口测试完成之后进行系统测试,待系统测试稳定之后,选择部分接口在tests标签中通过添加断言实现接口自动化;
4)通过adb命令对APP的进行安装、卸载测试以及用命令logocate查看日志;使用Monkey工具关注APP的稳定性;
5)使用GT工具监测app的Cpu占用、内存消耗、耗电量等客户端性能指标;
6)使用抓包工具Fiddler,进行弱网测试并抓包判断前后端的问题;
7)提交bug到禅道,对bug进行跟踪、管理直至bug解决并关闭;
8)整理测试记录,编写测试报告,通过PPT做测试总结;
9)产品上线后对用户建议、版本迭代更新等数据持续关注。

模块介绍

在这个App里面,快速贷款以及理财模块都是属于比较核心的功能,讲一下所负责的理财模块。

打开理财界面,理财产品的展示栏位和顺序符合需求,选择需要测试的理财产品,产品列表中展示信息与需求一致,也可以通过搜索功能找到该产品。点击该理财产品,进入详细界面。界面展示与需求一致。

点击申购:
1)系统判断是否有理财账户,如果有一类卡未开通理财功能,可通过跳转界面开通。

2)如果没有一类卡,我行允许根据跳转界面开通二类户。

有理财账户后,会判断客户的风险等级。如从来没有做过风险评估等级或评估已过有效期的,则需要重新评估。

如果没有做过风险评估的客户,我们是有跳出来一个提示让客户先去做一个风险评估,评估有10道题,分别涉及(总资产、投资比例、投资方向,投资经验、投资态度、投资目的等)。

评估出来会有一个对应的等级,等级分为:R1到R5, R1代表承受风险能力比较低,R5代表风险承受能力比较高。

如果做过评估,评估在有效时间内,我们有效时间是1年期,在有效时间内是可以跳转到产品详情页面的,然后产品详情页面需要判断客户风险评估等级与产品风险等级的匹配性。

例如,客户风险等级为R1,则只能购买风险等级为R1的产品;客户风险等级为R5,则可以购买风险等级为R1到R5的所有产品。在允许购买的界面,可以看到具体的申购和赎回规则。

申购界面是否与需求一致,展示内容包含产品的名称和编号,卡号后4位和余额反显正确,申购金额可以手动填写。

需要测试银行卡余额的边界值打个比方我的卡账户余额就1万块钱,那我会测一下9999.99元, 1万, 1万点01元都去测下,不管是自营产品还是代销产品,因为每个产品规则不一样,我们会根据需求来测。

有的有起购金额设定的是100元、 1000 元、 1万元, 那么我们都需要分别利用边界值去测一下,像第二次购买叫追加,追加也是一样的比如追加10元, 100元都去测,包括日上线额、总上限金额都是用边界值去测的。

如果金额填写没有问题,接下来需要勾选知情同意框,知情同意文档一般包含风险提示、产品概要、招募说明书、基金合同、权益须知。

这个地方我们是有一个强制阅读勾选的,需要客户点开详情下滑至底部,才可以勾选知情同意框,如果不勾选是没办法点击这个购买这个操作的。

购买成功的话我们也会有相应的提示,然后我们会去查看一下,打个比方我这个产品交易日15:00之前,当日确认份额,交易日15:00之后,顺延一个交易日。

此处,我们测试组会特别关注周一和周五两种情况,我们也分工作日、非工作日,非工作日按照第二个工作日来确认份额的。

然后已申购的产品,点击该理财产品,有赎回按钮。点击赎回,赎回金额需校验持有该产品的份额,根据需求,交易日15:00之前,赎回当日到账,交易日15:00之后,顺延一个交易日。

此处,我们测试组会也会特别关注周一和周五两种情况。对赎回的金额,进行利息验证。

利息的验证方法,针对不同的理财产品:

日收益=本金*年利率/360;
收益=金额/10000*万份收益;赎回总金额=持有的份额*赎回时的单位净值。

整个大致流程大概是这样的,谢谢!

功能介绍

在理财模块中,最重要的是对申购和赎回进行验证。
在此列举出相应的测试点、申购及时确认测试点:

1)界面提示申购成功,银行卡收支明细(购买理财产品),卡余额(活期可用+投资理财)

2)理财基金订单明细,个人持仓增加,资管系统查询到剩余额度减少
3)数据库,核心的余额表、明细表,资管系统的持仓明细表数据比对
4)与其他渠道(微信银行、网银)核对,数据一致申购未能及时确认:

界面提示申购成功,银行卡收支明细(冻结,到交易时间解除冻结,购买理财产品),卡余额(活期可用+冻结);

理财基金订单明细,个人持仓增加,资管系统查询到剩余额度减少;

数据库,核心的余额表(可用余额状态码值00,冻结状态码值01)、明细表中有冻结的明细,资管系统的持仓明细表未体现;

跑批之后,银行卡收支明细(解除冻结,购买理财产品),卡余额(活期可用+投资理财);

数据库,核心的余额表、明细表,资管系统的持仓明细表数据比对;

5)与其他渠道(微信银行、网银)核对,数据一致赎回测试点:
界面提示赎回申请提交成功,(T+N,过N个日终)等赎回到账,查银行卡收支明细;

活期可用增加(增加金额=赎回到账的本金+利息),卡余额增加;
理财基金订单明细,个人持仓减少,资管系统查询到剩余额度;
数据库,核心的余额表、明细表,资管系统的持仓明细表;
与其他渠道(微信银行、网银)核对,数据一致;
核对利息的计算第三部分:接口测试案例;

申购模块:

1)我会先找开发要API文档,在jmeter里面先创建线程组,在添加取样器里面创建http请求,根据接口文档把url地址填进去

2)申购的接口入参 token, 产品id,卡号id,金额,推荐人选填,知情同意框协议勾选true/false,请求方式是post

3)然后查看结果树,那我就看到出参 就是状态码code:00 、code:01 状态描述message:申购成功/您的可用余额不足,不能进行申购 date

4)先把正例跑一遍,反例无非就是token值为空第四部分:典型Bug案例
购买的理财产品,按照正常日期进行了赎回操作,也选择了赎回资金需要到账的银行卡。

但是已经超过了到账日期,银行卡还没有收到赎回的资金。

后面排查原因是因为客户选择赎回资金的到账储蓄卡是属于睡眠户,所以无法到账,这个是客户的非常规操作,测试的时候忽略了这一点。

只要储蓄账户状态不正常(如状态为睡眠、久悬、转营业外等),都不能进行资金交易往来。如果客户一定要使用这个储蓄卡,需持本人有效身份证件及相关银行卡前往就近任一建行网点核实处理,更改账户状态才能正常使用。

后期需求变更,客户不能手动去选择赎回路径(指定赎回的储蓄卡),所有的理财产品赎回的时候资金都应该按照原路径返回。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要惧怕失败,因为失败是成功的跳板。奋斗不止于结果,而在于过程中的成长和坚持。相信自己的潜力,追求梦想,你将创造属于自己的辉煌传奇。

每一次的努力都是蜕变的契机,不论困难有多大,只要坚守初心,持之以恒,你将越过山巅,触摸到属于自己的星辰大海。相信自己,勇往直前,终将抵达成功的彼岸。

生命太短暂,不要浪费时间在无意义的事情上。坚信自己的能力,拥抱挑战,才能在奋斗中成为更好的自己,创造属于自己的精彩人生。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 分布式锁总结

在一个分布式系统中,由于涉及到多个实例同时对同一个资源加锁的问题,像传统的synchronized、ReentrantLock等单进程情况加锁的api就不再适用,需要使用分布式锁来保证多服务实例之间加锁的安全性。常见的分布式锁的实现方式有zookeeper和redis…

044、门控

之——GRU 目录 之——GRU 杂谈 正文 1.重置门和更新门 2.候选隐藏状态 3.新的隐状态 长短期记忆网络LSTM 1.候选记忆单元 2.记忆单元 3.隐状态 杂谈 关注一个序列,不是每个观察都同等重要,传统RNN会一直在Whh中隐含所有以前的信息&#xff0…

【LeetCode:LCR 143. 子结构判断 | 二叉树 + 递归】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【12.28】转行小白历险记-刷算法04

01两两交换链表中的节点 整体思路 1.要修改后一个节点的指向一定要知道前一个节点的指向才可以改变后面一个节点的 2.分情况奇数和偶数节点,终止条件很重要 3.虚拟头节点,是对我们操作的指针是不是头节点进行判断 02删除链表的倒数第N个节点 思路 …

第十一章 Stream消息驱动

Stream消息驱动 gitee:springcloud_study: springcloud:服务集群、注册中心、配置中心(热更新)、服务网关(校验、路由、负载均衡)、分布式缓存、分布式搜索、消息队列(异步通信)、数据库集群、…

fastadmin想自定义表格的样式,可以使用模板渲染并在模板中调用自定义的方法

fastadmin 如何在模板中使用自定义的方法 比如页面上要对返回的时间&#xff0c;电话&#xff0c;身份证做处理 html页面 <script type"text/html" id"itemtpl"><span id"<%item.id%>" class"margins mobile"><…

企业品牌推广在国外媒体投放的意义和作用何在?

海外广告投放是企业在国际市场推广的重要战略&#xff0c;具有多种形式&#xff0c;包括社交媒体广告、短视频广告、电视广告等。这些广告形式在传播信息、推动销售、塑造品牌形象等方面发挥着独特的作用。 其中软文发稿是一种注重叙事和信息传递的广告形式&#xff0c;对于企…

【pynput】鼠标行为追踪并模拟

文章目录 前言基本思路安装依赖包实时鼠标捕获捕获鼠标位置捕获鼠标事件记录点击内容效果图 实时按键捕获控制按键操作捕获按键事件组合键记录区间设置 用户操作记录与回溯基本思路完整代码效果图 利用本文内容从事的任何犯法行为和开发与本人无关&#xff0c;请理性利用技术服…

【强化学习】基于蒙特卡洛MC与时序差分TD的简易21点游戏应用

1. 本文将强化学习方法&#xff08;MC、Sarsa、Q learning&#xff09;应用于“S21点的简单纸牌游戏”。 类似于Sutton和Barto的21点游戏示例&#xff0c;但请注意&#xff0c;纸牌游戏的规则是不同且非标准的。 2. 为方便描述&#xff0c;过程使用代码截图&#xff0c;文末附链…

【Spark精讲】一文讲透Spark RDD

MapReduce的缺陷 MR虽然在编程接口的种类和丰富程度上已经比较完善了&#xff0c;但这些系统普遍都缺乏操作分布式内存的接口抽象&#xff0c;导致很多应用在性能上非常低效 。 这些应用的共同特点是需要在多个并行操 作之间重用工作数据集 &#xff0c;典型的场景就是机器学习…

Vue(一):Vue 入门与 Vue 指令

Vue 01. Vue 快速上手 1.1 Vue 的基本概念 用于 构建用户界面 的 渐进性 框架 构建用户界面&#xff1a;基于数据去渲染用户看到的界面渐进式&#xff1a;不需要学习全部的语法就能完成一些功能&#xff0c;学习是循序渐进的框架&#xff1a;一套完整的项目解决方案&#x…

Django Cookie和Session使用(十一)

一、Cookie Cookie具体指一小段信息&#xff0c;它是服务器发送出来存储在浏览器上的一组键值对&#xff0c;下次访问服务器时浏览器会自动携带这些键值对&#xff0c;以便服务器提取有用信息。 Cookie的特性 1、服务器让浏览器进行设置的 2、保存在浏览器本地&#xff0c;…

linux 网络工具(二)

linux 网络工具 1. ip命令簇4.1 address4.2 link4.3 route4.4 rule 2. 其他常用命令2.1 ifup/ifdown2.2 配置主机名2.3 设置DNS服务器指向2.4 配置域名解析2.5 ss2.6 路由相关配置文件2.7 查看机器可用端口2.8 traceroute2.9 dhclient 1. ip命令簇 Linux的ip命令和ifconfig类似…

微信小程序picker组件扩展选择时间到秒插件

创建插件seldatetime // 插件JS部分 Component({// 一些选项options: {// 样式隔离&#xff1a;apply-shared 父影响子&#xff0c;shared父子相互影响&#xff0c; isolated相互隔离styleIsolation:"isolated",// 允许多个插槽multipleSlots: true},// 组件的对外属…

机器学习三要素与拟合问题

1.如何构建机器学习模型&#xff1f; 机器学习工作流程总结 1.获取数据 2.数据基本处理 3.特征工程 4.机器学习(模型训练) 5.模型评估 结果达到要求&#xff0c;上线服务&#xff0c;没有达到要求&#xff0c;重新上面步骤 我们使用机器学习监督学习分类预测模型的工作流…

SLF4J: Class path contains multiple SLF4J bindings.解决

背景 项目正常运行几年&#xff0c;近期优化调整修复漏洞&#xff0c;依赖升级后cleaninstall 重启发现项目启动失败&#xff0c;访问所有接口都报错404 错误信息 output输出异常信息截图 tomcat 打印异常信息截图 output打印异常信息详情 D:\javaRuanJian\Tomcat\apach…

人工智能的新篇章:深入了解大型语言模型(LLM)的应用与前景

LLM&#xff08;Large Language Model&#xff09;技术是一种基于深度学习的自然语言处理技术&#xff0c;旨在训练能够处理和生成自然语言文本的大型模型。 LLM 技术的核心思想是使用深度神经网络&#xff0c;通过大规模的文本数据预训练模型&#xff0c;并利用这些预训练模型…

linux 防火墙查看放行端口,追加放行端口命令

linux 查看防火墙已经放行端口列表 firewall-cmd --list-ports 运行结果如下&#xff1a; linux 追加防火墙经放行端口&#xff08;如追加443&#xff09; firewall-cmd --zonepublic --add-port443/tcp --permanent 亲测有效&#xff01;

【WPF.NET开发】路由事件

本文内容 先决条件什么是路由事件&#xff1f;路由策略为什么使用路由事件&#xff1f;附加并实现路由事件处理程序类处理程序WPF 中的附加事件XAML 中的限定事件名称WPF 输入事件EventSetter 和 EventTrigger Windows Presentation Foundation (WPF) 应用程序开发人员和组件…

FileZilla的使用主动模式与被动模式

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 目录 一、FileZilla简介 1、FileZilla是什么&#xff1f; 2、FileZilla的应用场景 二、FileZilla的安装 1、下…