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

【银行测试】银行项目,信用卡业务测试+常问面试(三)

目录:导读

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


前言

银行测试-信用卡业务

1、信用卡额度如何测试?

正常测试场景:
在ATM取款,取款的金额≤信用卡额度/2(例如:信用卡额度为:2W,在ATM可成功取款10000);
在POS机上刷卡消费金额,单笔金额≤信用卡额度,交易成功;
消费的金额,超过信用卡正常额度(1-10%)交易成功(例如:信用卡额度为:2W,消费2W之后,继续消费的金额在2000千以内)。

异常测试场景(交易不成功):
在ATM取款,取款的金额(单笔/累加)>信用卡额度/2,交易不成功;
信用卡,消费的金额超过正常额度10%,交易不成功.

2、测试信用卡,交互(经过)的系统(交易链路)?

手机银行app/个人网银系统、信用卡审批系统、银联系统、前置系统、核心、ATM等等。

3、信用卡还款交互(经过)的系统(交易的链路)

1)柜面系统还款:
本行:柜面系统——前置系统——核心系统

2)手机银行app/个人网银还款:
本行:手机银行app/个人网银还款——前置系统——核心系统

3)跨行还款(在银联仿真系统使用他行借记卡转账,转入金额至信用卡):银联系统

测试信用卡,面试官问我们:上游系统是什么?
例如写的项目是:个人网银系统/手机银行app 负责测试的模块为:信用卡
答案:核心系统

测试信用卡,面试官问我们:下游系统(应用)是什么?
微信、支付宝等

面试官问我们如何造信用卡数据?

通过不同的客户号(开卡,签约手机银行app/个人网银),在手机银行app/个人网银系统,申请不同额度的信用卡(填写不同的:收入、工作、公积金、社保等信息),审批通过后,发卡激活

面试官问我们如何测试信用卡

(讲一下主要测信用卡的哪些功能)
如果写的将项目是手机银行app,负责信用卡模块测试(信用卡额度、账单金额以及还款)

回答:通过不同的客户号(开卡,签约手机银行app),在手机银行app,申请不同额度的信用卡(填写不同的:收入、工作、公积金、社保等信息)。

审批通过后,发卡激活,消费取款,检查信用卡额度以及账单金额的正确性,还款成功之和检查信用卡账单,额度以及还款账户余额正确,除了测试正常还款,还会测试提前还款、分期还款、最低还款以及逾期还款。同时设计异常的测试场景。

如何登录个人网银?

输入登录的账户(卡号/证件号/手机号),密码,动态码(蓝牙盾)/或者插上Ukey(u盾),ukey需要安装证书,在网银首页下载证书

如果写的项目是个人网银系统,负责信用卡模块测试(信用卡额度、账单金额以及还款)

回答:通过不同的客户号(开卡,签约个人网银),在个人网银系统,申请不同额度的信用卡(填写不同的:收入、工作、公积金、社保等信息)。

审批通过后,发卡激活,消费取款,检查信用卡额度以及账单金额的正确性,还款成功之和检查信用卡账单,额度以及还款账户余额正确,除了测试正常还款,还会测试提前还款、分期还款、最低还款以及逾期还款。同时设计异常的测试场景。

账户模块

账户模块的主要测试点:
1)添加本行的借记卡/贷记卡
2)添加他行的借记卡/贷记卡
3)添加卡时,检查密码、卡号

异常(添加不成功)测试点:
1)输入卡号位数不正确(非16位或非19位)
2)输入的卡号不存在,输入卡号已添加
3)添加非本客户号的卡
4)添加已销户的卡等

典型(印象深刻的)的bug:
1)添加的他行卡,未标识为他行,显示为本行
原因:开发没有根据卡的所属行进行取值展示

2)卡号全部显示,未按需求的要求只展示前四位和后四位,中间用*
原因:开发未对接口返回的数据,做展示处理

3)卡详情页面,展示了多余的信息-卡密码
原因:开发在联调时,忘记去掉多余的字段

注意:bug原因面试官没问时,不要主动说出

转账/转账汇款

典型(印象深刻的)的bug:
1)添加的本行借记卡,转账时,不能选择到该卡作为转出卡
2)未控制信用卡不能作为转出户转出
3)二类卡转账时,未控制限额
4)密码连续输错三次,卡未被锁定,还可转出
5)转账金额输入0,可转账成功,系统未校验

注意:bug原因面试官没问时,不要主动说出

信用卡模块

典型(印象深刻的)的bug:
1)分期还款后,查询不到分期还款记录(原因:开发实现还款记录查询时未区分,分期还款和全额还款)
2)分期还款的手续费计算不正确
3)还款成功后,账单未实时更新(未从核心拉取最新的数据)

注意:bug原因面试官没问时,不要主动说出

理财模块

主要测试点:
1)检查展示的理财产品数据与柜面系统发布的理财产品一致(名称、起购金额、最高金额、预期收益、期限等)

2)购买理财产品时,检查起购金额,递增金额、最高金额控制是否正确
3)购买成功之后,检查存款账户(购买理财的借记卡账户)余额减少,理财账户月增加

4)理财产品到期后,收益计算是否正确。例如,理财购买的金额为:10W,实际年化收益率为:3.5%,投资期限:91天,到期后收益:10W*(3.5%/360)*91天

典型(印象深刻的)的bug:
1)理财产品到期后,计算的收益不正确
2)购买份额通过-号,减到<最低购买金额,可购买成功

优化建议:
1)购买理财产品时,购买金额只能通过+,- 1000递增或递减,建议可手动输入金额
2)理财产品业面样式不美观

注意:bug原因面试官没问时,不要主动说出

缴费

主要测试点:
1)添加缴费户号(自来水公司/电力局/燃气公司户号)
2)(需要开发帮忙造缴费的账单数据)测试缴费,输入密码,验证码,缴费成功之后,检查付款账户余额减少,账单减少

在测试环境,和第三方(水公司/电力局/燃气公司)系统环境未联通时,如何测试:
1)开发写挡板,模拟第三方接口直接返回缴费成功的结果字段,缴费成功,检查付款账户余额以及账单减少;

2)开发写挡板,模拟第三方接口直接返回缴费失败的结果字段,缴费失败,检查付款账户余额以及账单不变

充值

主要测试点:
1)输入充值的手机号,选择不同的充值金额
2)充值成功后,检查付款账户余额减少
3)需要开发协助帮忙在数据库(第三方例如:移动/联通/电信)查询,该充值手机号的余额是否增加

在测试环境,和第三方(移动/联通/电信)系统环境未联通时,如何测试:
1)开发写挡板,模拟第三方接口直接返回缴费成功的结果字段,充值成功,检查付款账户余额减少;
2)开发写挡板,模拟第三方接口直接返回充值失败的结果字段,充值失败,检查付款账户余额不变

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要害怕失败,因为每一次跌倒都是学习和成长的机会。相信自己的能力,努力奋斗,你将发现内心的力量能让你创造出惊人的成就,迈向辉煌的人生。

无论遇到多少艰辛,都要坚定信念,勇往直前。相信自己的潜力与能力,不断超越自我,追求卓越。只有敢于奋斗,才能创造属于自己的辉煌人生。

在追逐梦想的道路上,不要畏惧困难和挫折,坚持不懈地迈出每一步。相信自己的力量,拥抱挑战,你将书写属于自己的壮丽篇章,成就非凡的人生旅程。

相关文章:

【银行测试】银行项目,信用卡业务测试+常问面试(三)

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

AI大模型学习笔记之二:什么是 AI 大模型的训练和推理?

在人工智能(AI)的领域中,我们经常听到训练(Training) 和 推理(Inference) 这两个词汇,它们是构建强大 AI 模型的关键步骤。我们通过类比人类的学习过程来理解这两个概念,可以更加自然而生动地理…...

【MATLAB源码-第113期】基于matlab的孔雀优化算法(POA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 POA(孔雀优化算法)是一种基于孔雀羽毛开屏行为启发的优化算法。这种算法模仿孔雀通过展开其色彩斑斓的尾羽来吸引雌性的自然行为。在算法中,每个孔雀代表一个潜在的解决方案,而…...

iphone 5s的充电时序原理图纸,iPAD充电讲解

上一篇写了iphone 5的时序。那是电池供电的开机时序。iphone 5s也是差不多的过程,不说了。现在看iphone5s手机充电时候的时序。iphone5s充电比iphone5充电简单了很多。 首先是usb接口接到手机上,usb线连接到J7接口上。J7接口不只是接usb,还能…...

react基础入门

1,了解react react并不是一个MVC框架,他只是一个很强大的javaScript库,主要作用是用来构建UI界面。 react的核心是封装一个个大大小小的组件(小到一个按钮,大到一个页面)来构建复杂的UI界面,每…...

spring boot学习第八篇:通过spring boot、jedis实现秒单

参考:Redis实现分布式锁的7种方案 - 知乎 1、 准备数据库表,如下SQL表示库存表,有主键ID和库存数量字段 CREATE TABLE t_stock (id bigint(20) NOT NULL AUTO_INCREMENT,quantity bigint(20) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…...

NineAi 新版AI系统网站源码 ChatGPT

简介: Nine AI.ChatGPT是基于ChatGPT开发的一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。 NineAi 新版A…...

开源监控服务一瞥:Prometheus、Grafana、Zabbix、Nagios、Icinga和Open-Falcon

前言 随着信息技术的发展,监控服务在维护系统稳定性和性能方面变得越来越重要。本文将比较一些流行的开源监控服务,以帮助你选择适合你需求的解决方案。 监控服务对比 监控服务特点优势不足性能扩展性安全性Prometheus- 多维度数据模型- 监控容器化环…...

使用WAF防御网络上的隐蔽威胁之扫描器

在网络安全领域,扫描器是用于侦察和识别网络系统漏洞的工具。 它们可以帮助网络管理员识别安全漏洞,也可能被攻击者用来寻找攻击目标。 扫描器的基本概念 定义:扫描器是一种自动化工具,用于探测网络和服务器中的漏洞、开放端口、…...

企业信息安全管理制度

随着信息化程度的日益推进,企业信息的脆弱性也日益暴露。如何规范日趋复杂的信息安全保障体系建设,如何进行信息风险评估保护企业的信息资产不受侵害,已成为当前行业实现信息化运作亟待解决的问题。 一、企业的信息及其安全隐患 在我公司&am…...

Qt中的线程池

Qt中的线程池 目录 1 为什么需要线程池 2 Qt中有哪些方式实现线程池 3 如何通过QThreadPool类实现线程池 4 如何通过QtConcurrent库实现线程池 5 如何通过自定义的方式实现线程池 5 小结 1 为什么需要线程池 线程池是多线程编程中常用的一种技术,可以帮助管理系统中…...

使用Spring Boot集成中间件:Elasticsearch基础->提高篇

使用Spring Boot集成中间件:Elasticsearch基础->提高篇 导言 Elasticsearch是一个开源的分布式搜索和分析引擎,广泛用于构建实时的搜索和分析应用。在本篇博客中,我们将深入讲解如何使用Spring Boot集成Elasticsearch,实现数…...

【Docker】Dockerfile构建最小镜像

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 前言 一.Dockerfile是什么 二.Dock…...

【严重】GitLab 以其他用户身份执行 Slack 命令

漏洞描述 GitLab 是由GitLab公司开发的、基于Git的集成软件开发平台。使用 Slack 命令在 Slack 聊天环境中运行常见的 GitLab 操作。 GitLab 受影响版本中,由于配置Slack/Mattermost 集成时,未正确验证用户身份信息,导致攻击者可以使用其他…...

【卡梅德生物】纳米抗体文库构建

纳米抗体文库构建服务是一项提供定制化纳米抗体文库的服务,旨在满足研究者和生物制药公司对高质量抗体的需求。这项服务通常包括以下主要步骤: 1.抗原设计和制备: -客户提供目标抗原信息,或由服务提供商协助设计抗原。 -抗原制…...

MySQL修炼手册6:子查询入门:在查询中嵌套查询

目录 写在开头1 子查询基础概念1.1 了解子查询的基本概念1.2 子查询与主查询的关系 2 标量子查询详细展开2.1 学会使用标量子查询2.1.1 在SELECT语句中使用2.1.2 在WHERE子句中使用2.1.3 在ORDER BY子句中使用 2.2 标量子查询在条件判断中的应用2.2.1 使用比较运算符2.2.2 使用…...

01章【JAVA开发入门】

计算机基本概念 计算机组成原理 计算机组装 计算机:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、…...

ARM day1

一、概念 ARM可以工作的七种模式用户、系统、快中断、中断、管理、终止、未定义ARM核的寄存器个数 37个32位长的寄存器,当前处理器的模式决定着哪组寄存器可操作,且任何模式都可以存取: PC(program counter程序计数器) CPSR(current program…...

ImageNet Classification with Deep Convolutional 论文笔记

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...

Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?直接在yml中配置线程池

在 Spring 中,Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时,该方法将在单独的线程中执行,而不会阻塞当前线程。这使得方法可以在后台执行,而不会影响主线程的执行。 在您提供的代码示例中,a1() 和…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

五、jmeter脚本参数化

目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...