【银行测试】银行项目,信用卡业务测试+常问面试(三)
目录:导读
- 前言
- 一、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() 和…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...