银行业务系统自动化测试实践
- 格式:pdf
- 大小:2.39 MB
- 文档页数:5
自动化测试工程师(银行项目)岗位-简历基本信息
教育背景
技能
•自动化测试工具(例如:Selenium, Appium)
•测试用例编写与执行
•问题识别和报告
•银行项目测试经验
•软件测试流程和方法
•基本编程知识(例如:Python, Java)
工作经历
自我评价
我是一名热衷于软件测试的自动化测试工程师,具备自动化测试工具和测试流程的扎实知识。
在ABC软件公司的工作经历中,我成功完成了银行项目的自动化测试任务,为项目的高质量交付作出了贡献。
同时,我也在XYZ银行的实习中学到了更多的测试技能,包括测试用例编写和问题跟踪。
我希望能够继续发展我的测试技能,为银行项目的成功实施做出贡献。
北京银行行业自动化测试岗位介绍
JD模板
岗位名称:自动化测试
岗位关键词:Java,自动化测试,测试开发
职责:
1. 测试脚本、工具编写
2. 负责接口自动化测试框架设计及开发(接口为主)
3. 按照测试流程计划,设计自动化用例,执行自动化测试脚本
4. 探索新的测试方法和工具,提高测试团队测试质量和效率
要求:
1. 计算机相关专业,本科及以上学历;
2. 熟练掌握java语言,python可作为辅助语言;
3. 主导搭建过自动化框架,并在团队内有推广使用经验;
4. 了解前端知识,了解Django、flask等框架
5. 了解微服务架构
6. 了解K8s、Docker相关知识
7. 熟悉数据库操作,使用过Oracle、Mysql、Mango数据库
8. 较强的逻辑思维能力、分析能力和定位问题能力,工作态度认真严谨,做事积极主动,有较强责任心。
视角Viewpoint上海浦东发展银行信息科技部副总经理 张国栋近年来,伴随云计算、大数据、人工智能等新技术的快速发展,金融与科技的融合程度不断加深,为银行业转型升级、提高全要素生产效率带来了新的机遇,各家银行纷纷开展数字化转型,银行信息化建设的架构、模式、流程等均发生了重大变革。
测试工作作为质量保障的重要环节,如何保证产品研发效率更高、用户体验更佳、系统运行更稳定,成为商业银行急需解决的重要课题,并对新时期测试工作提出了全新挑战。
一是测试迭代速度越来越快。
市场要求金融服务响应更迅捷,银行信息系统新功能和新产品上线交付的速度由原来的每季度、每月一次,发展到现今的每周一次,甚至一周多次,交付效率的加快要求软件测试用户验收测试在银行数字化转型中的创新实践上海浦东发展银行信息科技部副总经理 张国栋的速度也需要同步提升。
二是测试复杂程度不断加深。
随着银行业务规模和种类的不断拓展,加之大数据、云计算、人工智能等新技术的广泛应用,银行业信息系统范围、架构规模、交易链路复杂性等都在不断提高,而可能产生缺陷的因素也越来越多,测试需要覆盖的场景和功能点越来越复杂。
三是测试质量要求持续提高。
当前,监管部门对银行系统安全稳定运行的要求愈发严格,用户对银行产品体验的要求更高,银行间同质化产品竞争也不断加剧,类似变化促使测试工作逐步从最初的功能可用性验证扩展到兼容性、用户界面、用户体验、操作合理性等多个方面。
为应对上述变化,浦发银行从2018年起历经3年多的时间,由测试部门的专业测试人员牵头,组建了承接全行大部分业务系统的用户验收测试团队,并围绕“创新自主化、流程平台化、管理可视化”的工作思路开启了一系列创新实践,通过机制优化、数据驱动、技术赋能,致力于为银行数字化转型提质、增效、赋能。
一、锚定测试难点,推进业务、开发、测试深度融合对于商业银行而言,用户验收测试是当前最重要的测试类型之一,主要指站在用户或银行一线员工的角度,检验银行系统是否可在功能、兼容、用户体验等方面满足预定需求,其对于提升产品质量、满足客户需求、保障系统功能性和稳定性等均起着至关重要的作用。
某国有大型银行项目级自动化测试流程国有大型银行项目级自动化测试流程可以分为以下几个阶段:1.需求分析阶段:在这个阶段,测试团队与业务和开发团队一起讨论和分析项目的需求。
测试团队需要了解业务流程和功能需求,以便定义测试策略和测试用例。
2.测试策略和计划:在这个阶段,测试团队根据需求分析结果,制定测试策略和计划。
测试策略包括测试目标、测试范围、测试方法、测试环境等内容;测试计划包括测试任务分配、测试进度安排、测试资源需求等内容。
3.自动化测试工具选择和配置:在这个阶段,测试团队选择适合该项目的自动化测试工具,并进行配置。
常用的自动化测试工具包括Selenium、Appium、JMeter等。
配置工作包括环境搭建、测试脚本编写、关键字库定义等。
4.自动化测试脚本开发:在这个阶段,测试团队根据测试用例,编写自动化测试脚本。
测试脚本应该覆盖项目的主要功能和业务流程,并具有可重复执行和容易维护的特点。
5.自动化测试执行:在这个阶段,测试团队执行自动化测试脚本,并记录测试结果。
测试团队可以根据测试计划,选择适当的时间段执行测试,并在测试过程中监控测试环境和服务器资源的使用情况。
6.缺陷管理:在这个阶段,测试团队将测试中发现的缺陷记录在缺陷管理系统中,并与开发团队沟通修复计划。
测试团队需要跟踪和验证每一个缺陷的修复情况,并在确认修复后重新执行相关的测试用例。
7.测试报告:在每次测试执行完成后,测试团队生成测试报告并提交给业务和开发团队。
测试报告应该包括测试概要、测试结果、缺陷统计和分析等内容,以帮助业务和开发团队了解项目的测试进展和质量情况。
8.结束阶段:在测试工作结束后,测试团队进行总结和回顾。
团队成员可以针对测试过程和测试工具提出改进意见,并将这些意见记录下来,以便在下一个项目中进行应用。
综上所述,国有大型银行项目级自动化测试流程包括需求分析、测试策略和计划、自动化测试工具选择和配置、自动化测试脚本开发、自动化测试执行、缺陷管理、测试报告和结束阶段等。
IT 实践IT Practice随着大模型技术的不断发展,人工智能的应用范围也变得愈加广泛。
以金融测试领域为例,尽管自动化测试在提升效率、降低成本等方面成效显著,但其对人员能力要求相对较高,且测试周期不断压缩等因素也为自动化脚本的规范化编写和维护带来了巨大挑战,甚至制约了软件测试的快速发展。
面向上述挑战,邮储银行基于多年积累的测试数据和知识,针对性训练软件测试领域的L2级别私有化大语言测试模型,并在测试用例、思维导图、自动化脚本生成等场景开展落地实践。
一、私有化大语言测试模型技术特点在软件测试领域,现阶段流程主要包含需求分析、单元测试代码设计、测试大纲/思维导图设计、测试用例设计、自动化脚本设计、测试数据准备等环节。
在实际工作中,测试人员往往要花费大量时间研读需求,才能了解业务流程和测试要点,进而设计出好的用例,而邮储银行基于大模型技术的智能化测试初探摘 要:伴随大模型技术的日渐成熟,智能化测试迎来了新一轮发展机遇,在进一步提升自动化测试水平的基础上,有效解决了测试分析方法效率低、质量差等难点问题。
顺应这一趋势,邮储银行通过在测试用例、思维导图、自动化脚本生成等场景落地大模型应用,初步探索测试智能化的实现路径,并前瞻性展望了软件测试领域的后续发展方向。
关键词:软件测试;大模型;智能化测试质量也在很大程度上取决于测试人员的全局思维能力和逻辑判断能力。
如今,大模型技术的出现为软件测试发展提供了全新机遇,通过将大模型技术应用在测试领域相关场景,测试人员将可快速批量分析业务需求,并且经过专有领域数据训练和微调,还可实现L2级的模型部署,针对测试领域各种不同的应用场景,完成更准确、更复杂的推理任务。
具体而言,私有化大语言测试模型可显著提升三方面能力:一是实现高度自动化,即通过学习大量数据,自动提取特征并进行精准分析,实现测试过程的高度自动化,节省人力资源,降低时间成本;二是提高测试准确性和覆盖率,即通过对测试数据进行全面分析和预测,并从中捕捉更多的测试场景和用例,可有效发现更多的潜在问题;三是支持决策制定,即通过多维度分析测试结果和相关数据,提供客观、准确的数据信息来支持决策制定,辅助提高测试策略的有效性和项目管理的决策能力。
银行测试总结汇报测试总结汇报:银行业务系统测试一、引言银行业务系统是现代金融机构的核心系统之一,涉及到客户信息管理、账户管理、交易处理、风险控制等关键业务。
为确保系统的稳定性、可靠性和安全性,对银行业务系统进行全面的测试工作显得尤为重要。
本文对银行业务系统测试的主要内容和结果进行总结和汇报。
二、测试目标和策略1. 测试目标:通过测试,确认银行业务系统在不同情况下能够正常运行,并满足业务需求和系统性能要求。
2. 测试策略:采用组合测试策略,包括功能测试、性能测试、安全性测试和用户体验测试等。
三、测试执行情况1. 功能测试:对系统各项功能进行了详细的测试,包括账户开户、存款、贷款、转账、查询等操作。
经过多轮测试,没有发现功能缺陷。
2. 性能测试:通过模拟高并发场景和大数据量的操作,对系统的响应时间和吞吐量进行了测试。
在满足业务负载的情况下,系统响应时间符合性能要求。
3. 安全性测试:通过黑盒测试和白盒测试,对系统的数据安全性和权限管理进行了验证。
经过测试,系统在账户信息保密、数据传输安全等方面达到了预期的安全要求。
4. 用户体验测试:以真实用户为基础,通过用户调研和问卷调查等方式,对系统的易用性和用户体验进行了评估。
大部分用户对系统的界面设计和操作流程表示满意。
四、测试结果和问题总结1. 测试结果:经过全面的测试,银行业务系统的功能、性能、安全性和用户体验等方面都达到了预期的要求,具备上线的条件。
2. 问题总结:在测试过程中,发现了少量的问题,包括界面布局不完美、某些操作流程略显复杂等。
这些问题已经反馈给开发团队,并得到了及时修复。
五、测试改进建议1. 增加自动化测试覆盖范围,提高测试效率。
2. 进一步加强系统的安全性测试,包括漏洞扫描、渗透测试等。
3. 加强性能测试的负载能力,并针对瓶颈进行优化。
4. 定期开展用户体验测试,及时了解用户需求和反馈。
六、总结通过测试工作,我们对银行业务系统进行了全面、深入的检测,确认其功能、性能、安全性和用户体验等方面符合预期要求。
智慧银行实训过程记录一、引言智慧银行是指利用人工智能、大数据、云计算等先进技术,实现银行业务的自动化、智能化和数字化,提高银行运营效率、客户体验和风险控制能力的银行模式。
本文将围绕智慧银行实训过程进行记录和总结,包括实训目标、实训步骤、实训问题与解决方法以及实训成果等方面进行全面分析。
二、实训目标在智慧银行实训过程中,我们的目标是掌握智慧银行的基本概念、技术框架和应用实践,了解智慧银行对于银行业的意义和影响,并通过实训项目的实践操作,熟悉智慧银行系统的建设与运行。
三、实训步骤3.1 系统搭建1.安装智慧银行系统所需的软件和硬件环境。
2.搭建智慧银行系统的基础架构,包括服务器、网络设备等。
3.部署智慧银行系统的核心组件,如人工智能引擎、数据分析模块等。
3.2 银行业务模拟1.设计并建立一个银行业务模型,包括账户管理、存款、贷款、支付结算等常见业务。
2.使用智慧银行系统,模拟真实的银行业务流程,包括客户开户、存款、贷款申请、支付等环节。
3.通过实际操作,熟悉智慧银行系统的各项功能和操作流程。
3.3 数据分析与风险控制1.利用智慧银行系统收集和分析客户数据,包括个人信息、交易记录等。
2.运用数据挖掘和机器学习技术,对客户进行风险评估和分类。
3.基于数据分析结果,制定相应的风险控制策略和措施。
3.4 优化与改进1.针对智慧银行系统的运行过程和效果,进行持续的优化与改进。
2.根据实际情况和用户反馈,调整系统的配置和参数。
3.进行性能测试和安全评估,确保系统的稳定性和可靠性。
四、实训问题与解决方法4.1 系统搭建问题1.问题:安装智慧银行系统所需的软件过程复杂。
解决方法:参考安装手册,按照步骤进行安装,并在安装过程中遇到问题及时查阅相关资料或请教老师和同学。
2.问题:服务器配置不足,无法满足智慧银行系统的需求。
解决方法:与管理员协商,申请更高配置的服务器,或对现有服务器进行升级。
4.2 银行业务模拟问题1.问题:业务模型设计不合理,无法准确模拟真实的银行业务流程。
银行项目测试总结汇报测试总结报告一、项目简介该项目为银行系统的测试工作,旨在确保该系统的稳定性、可用性和安全性。
测试的内容包括功能测试、性能测试和安全测试。
在本次测试中,我们通过各种测试方法和工具对银行系统进行全面的检查和验证。
二、测试目标1. 完成所有功能的测试,确保系统的功能正常、稳定。
2. 检查系统在高负载情况下的性能,确保系统的性能能够满足用户需求。
3. 检测系统的安全漏洞,保护用户的隐私和资金安全。
三、测试方法1. 功能测试:根据需求文档编写测试用例,通过手动测试的方式进行验证。
2. 性能测试:使用性能测试工具对系统进行负载和压力测试,观察系统在不同负载下的性能表现。
3. 安全测试:利用安全测试工具对系统进行扫描和漏洞检测,发现潜在的安全漏洞。
四、测试过程1. 功能测试过程:a. 分析需求文档,编写测试用例;b. 手动执行测试用例,检查系统的功能是否按照需求正常工作;c. 发现问题,提交bug报告,并跟踪解决过程;d. 验收问题修复并进行回归测试,确保问题被解决。
2. 性能测试过程:a. 配置性能测试环境,模拟真实负载情况;b. 使用性能测试工具进行负载测试,记录系统在不同负载下的响应时间和吞吐量;c. 发现性能问题,提交bug报告,并跟踪解决过程;d. 优化系统性能,重新进行性能测试。
3. 安全测试过程:a. 配置安全测试环境,使用安全测试工具进行漏洞扫描;b. 发现安全漏洞,提交bug报告,并跟踪解决过程;c. 修复漏洞,重新进行安全测试。
五、测试结果1. 功能测试结果:在功能测试中,共执行200个测试用例,发现了30个功能问题,其中20个问题已被修复,剩余的问题正在处理中。
2. 性能测试结果:在性能测试中,我们模拟了1000个并发用户进行操作,系统的平均响应时间为2秒,吞吐量为500个请求/秒,满足了用户的需求。
3. 安全测试结果:在安全测试中,共发现5个安全漏洞,其中2个已被修复,剩余的漏洞正在处理中。
商业银行自动化测试实践及发展趋势张泽昭; 龚荣荣; 史新丽【期刊名称】《《中国金融电脑》》【年(卷),期】2019(000)011【总页数】4页(P57-60)【作者】张泽昭; 龚荣荣; 史新丽【作者单位】中国光大银行信息科技部【正文语种】中文敏捷转型是传统软件研发企业在互联网冲击下优化自身研发效能的必经之路,自动化测试作为敏捷技术实践中最重要的环节之一,对整个企业的研发效能提升有着不可替代的作用。
一、自动化测试的价值自动化测试是把以人为驱动的测试行为转为由机器执行的一种过程。
在传统的测试过程中,我们通常会遇到这些问题:手工测试很容易产生人为错误;复杂案例的手工测试时间过长;测试周期短,大量案例无法按时执行;重复劳动分散了测试精力,无法更多地关注业务变更点。
自动化测试的出现很大程度上帮助我们解决了上述问题,把重复的工作交由机器执行,更有意义的是,使测试人员将更多精力投入到对测试场景的分析设计中。
正是由于上述优点,越来越多的测试组织把自动化测试能力作为组织必备的一项技能,各家银行也在不同程度上进行自动化测试的实践。
二、自动化测试的适用性国外著名敏捷测试专家Lisa Crispin曾经把敏捷测试划分成四个象限,如图1所示。
在这个象限图中,上下分别代表面向业务和面向技术,左右分别代表支持团队研发和评价产品,只有评价产品的业务测试没有被标记为自动化,而在其他三个象限,都可以部分或全部采用自动化测试。
由此可以看出自动化测试在不同维度的测试活动中的重要性。
图1 敏捷测试四象限既然自动化测试能够运用于不同类型的测试活动中,那么是不是所有的测试活动都值得大力投入资源去做自动化测试呢?敏捷大师Mike Cohn首次提出了测试金字塔的概念,他认为软件组织应该有更多的低级别的单元测试。
基于测试金字塔模型的基础之上逐渐演化出分层自动化测试理论。
分层自动化测试理论是从技术的角度出发提出如下建议。
首先投入比例最大的级别为单元测试,这样更贴近实现,开发效率和执行效率都较高;其次为接口测试,面向报文协议、API和Webservice等,接口测试能够越过上下游系统直接测试被测系统本身;最后是UI自动化,它通过用户视角,更贴近真实使用场景,采用端到端的方式完成测试整个功能,但是维护成本很高、执行效率很低,不宜大规模推广,所以被放在测试金字塔的顶端。
Application 闕_j s l守正出奇击破痛点—中信银行创新自动化测试体系文II中信银行软件开发中心冷炜高蕊〜p j i年来,随着金融科技的不断深化应 用,银行的经营生态也更加丰富多 变,技术的快速升级和敏捷项目的快速迭 代交付已经成为常态。
同时,更短的测试 周期、长链条的业务流程、无法完全解耦 的业务系统、多样化的技术框架,使得现 阶段银行业的测试人员面临着高于互联网 企业测试人员的技术挑战。
为此,中信银行既要面向未来,还 要立足当下,围绕测试全生命周期各阶段 的测试活动,以方法和工艺的突破为先导,以工具发展和资产积累为手段,全 面发展覆盖测试过程各阶段的自动化测试技术,实现了多项从无到有、从〇到1的技术革新。
通过这场技术变革,中信银 行在自动化测试方面正一步步走向正规化、常规化。
针对测试场景分析不全面、测试数据 不保鲜、人工测试效率低等测试问题,中信银行积极创新,研发出一系列“秘密武 器”,使测试过程中的难点痛点迎刃而解。
测试分析“x光”一一杨景无遗漏随着业务高速发展,组织级敏捷转型,测试人员必须在快速交付的目标下保 障产品质量,而产品质量的核心关键点就 集中在测试分析阶段,因此测试分析无遗 漏是高质量的先决条件。
根据历史生产问 题复盘,重新梳理测试分析覆盖路线,中信银行建立出一套完整的由点开始,串联成线,扩展成面,四步百分百的测试分析创新工艺。
第一步,着眼于被测页面中的每一个业务字段,复用因子情景工具中完备的业务因子资产,从源头保障每个字段的枚举值百分百全面。
第二步,分析被测页面中每一个业务字段之间的关联关系,选取最适宜的算法,保证排列组合计算出的场景百分百全面。
借助Sm artCase工具,以机控形式引入因子,配置关联规则,自动高效精准的生成包含用户操作时序的测试案例,避免人工分析不全导致场景遗漏。
至此,单页面中全部要素分析完毕。
第三步,需要将页面与页面之间的业务链进行串联,也就是用户真实操作的完整旅程。
银行业软件测试项目管理汇报人:2024-01-07•银行业软件测试项目管理概述•银行业软件测试项目管理的核心概念目录•银行业软件测试项目管理流程•银行业软件测试项目管理的工具与技术•银行业软件测试项目管理的挑战与解决方案•银行业软件测试项目管理案例研究目录01银行业软件测试项目管理概述定义与特点•定义:银行业软件测试项目管理是指对银行业软件测试项目进行计划、组织、指导、控制和监督,确保项目按预期目标和质量要求完成的一系列管理活动。
•特点:银行业软件测试项目管理具有明确的目标性、全局性、动态性、系统性和创新性等特点。
明确的目标性是指项目管理的目标明确,需要完成的任务清晰;全局性是指项目管理需要从全局的角度出发,综合考虑各种因素,实现整体最优;动态性是指项目管理需要根据实际情况不断调整和优化,以适应变化的需求;系统性是指项目管理需要从系统的角度出发,对项目进行整体规划和管理;创新性是指项目管理需要不断创新和改进,以适应不断变化的市场需求和技术发展。
通过有效的项目管理,可以确保软件测试的全面性和有效性,从而提高软件的质量和可靠性。
提高软件质量项目管理有助于识别和评估项目风险,并采取相应的措施来降低风险,从而确保项目的顺利进行。
降低风险项目管理能够合理地分配和利用资源,包括人力资源、时间资源和物质资源等,从而提高资源的利用效率。
优化资源通过有效的项目管理,可以更好地满足客户需求,提高客户满意度,从而赢得客户的信任和支持。
提高客户满意度银行业软件测试项目管理的重要性银行业软件测试项目管理的历史与发展历史回顾银行业软件测试项目管理的历史可以追溯到20世纪80年代初期,当时银行业开始逐步实现电子化,软件测试逐渐成为银行业的重要领域。
在过去的几十年中,随着银行业务的不断发展和技术进步,软件测试项目管理的理念和方法也不断完善和发展。
发展趋势未来,银行业软件测试项目管理将继续朝着更加专业化和规范化的方向发展。
随着云计算、大数据、人工智能等新技术的广泛应用,软件测试将更加注重自动化和智能化。
软件测试简历金融项目经验案例
作为一名有丰富金融项目经验的软件测试人员,我在过去的工作中参与了多个金融类软件测试项目的测试工作,积累了丰富的经验,能够熟练掌握金融软件的测试技巧和方法,具有较强的测试分析能力和问题解决能力。
以下是我参与的两个金融项目的经验案例:
1. 银行网银系统测试项目
在这个项目中,我担任测试工程师,主要负责银行网银系统的功能测试、性能测试、安全测试等方面的工作。
我通过使用Selenium 自动化测试工具,有效地缩短了测试时间和提高了测试效率。
我还使用JMeter进行性能测试,对系统的响应速度和并发性能进行了全面测试,并及时给出了测试报告和建议。
另外,我运用OWASP TOP 10标准对系统的安全性进行了测试,发现了一些潜在的安全风险,及时提出了相应的解决方案。
2. 证券交易系统测试项目
在这个项目中,我担任测试组长,负责证券交易系统的整体测试工作。
我带领测试团队使用了JIRA等测试管理工具,有效地管理测试用例和缺陷,并及时进行跟踪和反馈。
我还运用了一些创新的测试方法,如API测试、负载测试等,全面测试了系统的各项性能指标,并找出了一些性能瓶颈和潜在问题,提出了相应的解决方案。
通过以上两个项目的经验,我深刻认识到了金融软件测试的重要性和难度,也积累了丰富的测试经验和技巧,对于以后的工作和职业发展都有着积极的意义。
自动化测试在金融行业应用中的挑战与解决方案随着科技的发展,自动化测试在金融行业中的应用越来越重要。
自动化测试可以有效地提高测试效率,减少人为错误,提升软件质量和安全性。
然而,在将自动化测试应用到金融领域中,我们也面临着一些挑战。
本文将探讨自动化测试在金融行业应用中的挑战,并提供相应的解决方案。
一、挑战一:复杂的金融业务流程金融行业的业务流程往往十分复杂,涉及多个环节和多个系统之间的交互。
这使得测试的覆盖面变得非常广,测试用例数量庞大,导致测试执行时间过长。
解决方案:1. 精确制定测试策略:根据金融业务流程的特点,深入理解业务流程和需求,制定精确的测试策略,明确测试的重要性和优先级,以保证有效的测试覆盖。
2. 使用自动化测试工具:选择适合金融行业的自动化测试工具,例如Selenium、Appium等,并结合测试管理工具,利用测试脚本和自动化测试平台来管理测试用例,提高测试的执行效率。
3. 并行测试:将复杂的业务流程分解成多个小模块,同时运行测试用例,以缩短测试执行时间。
二、挑战二:数据安全和合规性要求金融行业对于数据安全和合规性的要求非常严格,如个人隐私保护、数据传输加密等。
在自动化测试过程中,如何确保测试数据的安全性和合规性成为一个挑战。
解决方案:1. 可控的测试数据生成:确保测试数据的来源可靠和合法,避免使用真实的客户数据。
可以通过数据生成工具或者模拟器来生成大量测试数据,并充分考虑数据的保密性和合规性。
2. 数据加密和脱敏:对于可能出现的敏感数据,采用加密算法进行加密处理,保证数据在传输和存储过程中的安全性。
同时,对于不需要敏感数据的情况下,对数据进行脱敏处理,保护用户隐私。
3. 合规性测试:在自动化测试过程中,加入合规性测试用例,重点关注数据安全和合规性方面的测试点,确保在符合相关法规和规范的情况下完成测试。
三、挑战三:复杂的系统集成金融行业的应用往往需要与多个系统进行集成,包括核心银行系统、支付系统、清算系统等。
银行自助设备软件自动测试方案介绍作者:杨凡凯来源:《中国金融电脑》 2017年第12期随着国内银行业金融创新步伐的逐渐加快,智慧银行网点创新日趋受到重视,尤其最能体现智慧特征的自助设备软件更是受到银行的高度重视。
为此,自助设备应用软件系统的新需求开发、新版本迭代速度越来越快。
然而受到自助设备种类繁多、供应商型号复杂、软件版本工期紧张、需求变更频繁、版本质量要求高、投产窗口限制等因素的影响,在实际操作中往往容易出现软件系统BUG 而造成生产问题风险。
为了减少生产问题的BUG 风险,目前的解决办法就是加大软件的测试力度。
目前,对软件系统版本质量的控制手段主要依赖各类测试。
测试环节有:开发自测、功能测试、系统集成测试、回归覆盖测试和UAT测试等,每一个迭代过程中的应用版本都是一个软件工程,软件工程在实施的过程中消耗在各测试环节的时间、资源较多,同时会存在因时间不足,需要测试内容要点多、涉及面广等复杂情况导致质量风险上升,系统越复杂、越庞大,相应的风险也越高。
时间、人力与质量的矛盾在工程实施的过程中一直存在,需要谨慎的去控制平衡;客户希望版本迭代更新加速,新需求、新创意、新产品、新模块的应用,快速推出市场的客户诉求逐日强烈,市场竞争越来越激烈。
与此同时,客户对品质的要求也在持续提高。
在这种大环境下,深圳市紫金支点技术股份有限公司基于ZJPecker1.0/ZJPecker2.0 的产品经验结合业内项目实施的沉淀,融合新技术、新理念,打造了全新一代ZJPecker3.0 自动测试平台(如图1 所示)。
ZJPecker3.0 自动测试平台体现了机器替代人的时代创新理念,它能够在无人值守的情况下24 小时持续工作,按拟定的测试方案自动对目标系统进行测试。
测试过程实现了多场景的覆盖:用户操作行为的正常/ 异常场景、硬件模块响应的正常/ 异常场景、以及通信报文等后台处理的正常/ 异常场景等,覆盖了在常规测试过程中需要验证的测试内容。
银行项目测试个人工作总结在银行项目测试中,我作为测试人员负责对银行系统的功能、性能和安全进行全面的测试。
在这个项目中,我积极参与了需求分析、测试用例设计、测试执行和缺陷管理等工作,并取得了一定的成绩和经验。
首先,在需求分析阶段,我与业务分析师和开发人员协作,深入了解业务流程和系统需求,确保测试用例覆盖了所有的功能点和业务场景。
并且在测试用例设计阶段,我充分利用了自己的专业知识和经验,编写了详细的测试用例,确保了测试工作的高效和全面。
在测试执行阶段,我认真执行测试用例,准确记录测试结果,并及时发现和报告系统中的缺陷。
通过与开发人员和业务人员的密切合作,及时解决了大部分的缺陷,并为系统的稳定性和可靠性提供了保障。
在项目的性能测试阶段,我利用性能测试工具对系统的性能进行了全面测试,并对性能瓶颈进行了深入分析和优化建议,为系统的性能提供了有效的保障。
在安全测试阶段,我使用了各种安全测试工具,对系统的安全性进行了全面测试,并及时发现了潜在的安全风险,并提出了有效的安全加固建议,为系统的安全运行提供了有力的保障。
在项目测试总结中,我要对自己在项目中的工作做出评估和总结,总结自己的经验教训,为今后的工作提供借鉴和指导。
同时,我还要对团队的合作和支持表示感谢,并提出对项目的改进建议,以提升项目的质量和效率。
通过这样的总结,我可以不断提升自己的测试能力和水平,为银行项目的成功上线和稳定运行做出更大的贡献。
在项目测试的实践中,我深刻意识到了作为测试人员的责任和使命。
我们不仅仅是在测试系统的功能是否符合需求,更重要的是要确保系统的稳定性、性能和安全性,保障用户的资金安全和正常使用。
因此,我始终以高度的责任感和专业素养,积极投入到项目测试中去。
在项目测试中,我积极跟进测试过程中发现的问题,并且通过良好的沟通和协作,及时与开发人员和业务人员进行沟通和协商,解决了许多涉及复杂业务逻辑和系统架构的问题,确保了系统的整体功能和稳定性。
692023 . 08 中国金融电脑IT 实践IT Practice近年来,伴随金融产品种类与交易场景的日益增多,金融机构在研发过程中普遍使用自动化测试来提升研发效率。
但是,自动化测试的环境数据难免会相互影响,且由于案例数量不断增加,案例失败的分析成本也逐年升高。
为解决自动化测试环境和数据方面的痛点问题,工商银行引入单系统自动回放测试方法,通过在自动化测试期间用挡板等方式屏蔽协作系统,有效保证了单系统测试的正确性、准确性,有力支撑了金融业务产品快速创新。
一、构建单系统测试环境,解决环境依赖问题对于单系统自动回放测试而言,其实现难点在于如何屏蔽环境依赖。
以个人金融存款系统为例,该系统依赖的协作系统包括网点管理、个人结算、介质管理、协议管理和客户关系等,其中只要有一个协作系统的依赖服务出现问题,就可能影响系统整体的测试结果。
为规避上述风险,工商银行选择在测试过程中对网点柜员检查、产品参数检查等众多协作系统使用挡板程序,并返回预期协作系统应有的反馈结果,从而顺利完成了存款工商银行单系统自动回放测试实践摘 要:为更好满足精准服务客户需求,推动金融科技赋能业务发展,工商银行积极推进单系统自动回放测试应用,有效助力银行数字化转型。
本文结合环境构建、数据准备、流程优化等三方面,详细介绍了工商银行推进单系统自动回放测试的重点路径,希望能够为同业提供有价值的借鉴和参考。
关键词:自动化测试;挡板程序;测试流水线中国工商银行软件开发中心广州开发三部服务的自动化测试流程。
总体而言,该阶段工作重点包括两方面内容:一是搭建单系统测试的基础环境。
单系统测试环境一般不会有很高的并发交易请求,硬件方面只需要搭建能满足功能的最小测试环境即可,主要包括该系统的应用程序和数据库;同时,还需要搭建支撑环境和挡板程序等,如单系统测试环境需要单独提供一套注册中心,将被测系统服务以及模拟协作系统服务的挡板程序均注册到该注册中心上。
二是编写和完善挡板服务程序。
银行业务系统自动化测试实践福建省农村信用社联合社科技部 王燕梅随着金融科技的不断进步,银行业不断推出各种适应新需求的新兴业务并朝着网络化和自助化方向发展。
要在激烈的市场竞争中占有一席之地,银行不仅需要积极地进行业务转型,更需要快速研发产品,及时响应市场需求。
本文从银行业务系统特点入手,阐述科学、统一的自动化测试服务系统基本架构,并通过应用实例来说明自动化测试在银行业务系统中的价值。
一、银行业务系统的特点金融行业的软件系统在整个软件行业中有着特殊地位和显著特点。
银行业务系统作为金融行业的典型应用,更具有其代表性及特殊性。
1.业务复杂涉及业务种类广,为保障各项业务顺利开展而建设的系统多达几十甚至上百个。
系统之间业务关联紧密,一个业务的优化可能影响着其他业务的开展。
2.系统复杂业务的复杂性决定了系统的复杂性,既有B/S架构的网上银行、直销平台,也有C/S架构的手机银行、ATM和VTM等系统。
3.数据移植复杂一般新系统的研发上线,除了支持新增数据之外,还要求兼容存量数据,这就涉及旧系统的数据迁移,其中包括数据迁移、维护新旧系统数据字典和解决缺失字段等问题。
4.系统批处理频繁为完成日间业务清算、稽核和业务系统日期切换等各项工作,核心账务系统每天晚间需要进行批处理。
基于以上银行系统软件的特点,为进一步保障产品质量,测试工作显得尤为重要。
例如:系统之间关联紧密,如何进行相关系统接口的测试;业务优化更新,如何快速进行回归覆盖测试;多个项目共用一套测试环境,如何设计节点批处理,从而降低系统批处理对各项目测试进度的影响。
自动化测试在面对快速更新、大量纷繁复杂的回归测试中具有明显的优势,银行业务系统引入并实施自动化测试将成为趋势。
二、银行业务系统自动化测试规划与建设当前,福建省农村信用社联合社(以下简称“福建农信”)现有业务系统支撑着全省农信所有业务。
面对激烈的行业竞争以及满足市场不断变化的需求,业务系统的维护方式特点是不断变更开发升级和及时测试维护。
为响应优化升级快速回归测试、提高覆盖率和测试效率,降低人力成本,福建农信搭建自动化测试系统,建设自动化案例基准库,在银行业务系统测试过程中引入自动化测试,作为对手工测试的补充,缩短系统更新周期,降低系统上线的风险,进一步提高系统质量。
福建农信自动化测试系统同时采用B/S、C/S混合模式架构,统一了普通PC桌面应用和移动设备应用自动化测试。
自动化测试系统架构如图1所示。
PC桌面应用范围既包括GUI界面测试应用,也包括接口类测试应用,采用的是基于QTP自动化测试框架,主要基于以下三点:一是支持多系统、多虚拟机。
在福建农信当前工作环境PC机数量有限的情况下,可通过克隆复制多台虚拟机,同时在多台虚拟机同步运行,达到自动化测试调图1 自动化测试系统架构续操作,比如点击、输入等,无需为实现自动化测试重新编译或修改App。
福建农信目前已完成自动化测试系统桌面端两期的项目建设,一期包括核心存款、凭证、现金和总账内部账等模块,涉及206笔交易,8000多个自动化测试案例基准库;二期包括覆盖外围服务单元17笔交易,共1582个案例的接口自动化案例基准库,涉及11个信贷产品共28,772个案例的信贷自动化案例基准库。
移动端测试包括手机银行、福万通掌上生活等交易脚本案例基准库。
福建农信自动化测试基准库建设内容如图2所示。
本文重点以桌面端自动化测试建设及实践为例进行阐述。
度,满足测试机负载均衡。
二是测试脚本具有良好的扩展性。
QTP采用VBS 的脚本编程语言,将每个功能写成类,方便进行类函数的调用,而且VBS文件移植性好,在QTP的任何版本都可以运行。
三是具有强大的对象库。
录制脚本的过程中,会把界面操作所涉及的对象都自动地添加到对象库中,当测试界面不断改变测试对象时,可通过Object Spy工具查看、了解控件行为,便于判断测试结果。
移动应用的自动化测试基于Appium实现,Appium 具备以下优势:一是无脚本语言限制,支持Python、Java和JavaScript等脚本语言。
二是跨平台,支持安卓、iOS等移动操作系统。
三是快速识别对象,修改工作量少。
根据控件要素的标题、描述、ID和XPath等元素识别所需控件对象。
可以识别设备屏幕上所有控件,在此基础上完成其他后图2 自动化测试基准库建设内容三、银行业务系统自动化测试应用实践1.自动化快速迭代测试近几年福建农信业务发展迅猛,对核心账务系统的运行稳定性、扩展灵活性和性能高效性的要求也相应提高。
为满足业务量的持续增长,福建农信启动对核心账务系统架构的整合升级。
根据工作的复杂度及影响范围等,项目分不同阶段展开。
项目建设目标,一是调整API粒度,能够分别对活期存入、支取、凭证、现金、内部账及清算子交易进行整合,规范子交易的使用;二是安全控制,能够对核心的主控交易进行安全保护控制,支持新旧主控并存。
项目开发特点,一是开发人员在前期对模块或程序修改确认较为频繁;二是整合升级是从核心底层主控代码逻辑进行优化修改,并不改变原有交易操作界面。
(1)测试策略本次项目具有以下一些特点:项目周期长、版本持续更新; 总体模块变化较小,测试对象较为明确;需要反复测试,质量要求高;对常规交易及高频交易的测试,实现自动化测试执行及脚本维护时间小于手工测试所有轮次所需的时间。
经过前期的回归实践,自动化基准库已逐步趋于稳定,具备根据小范围修改进行快速更新回归测试功能。
因此,在核心账务系统架构整合中,首次在开发快速交付中引入自动化迭代测试,积极进行自动化快速迭代测试探索与实践。
本次测试实践主要分为两个不同策略阶段进行,一是前期开发阶段的快速冒烟与迭代自动化测试,二是后期功能测试阶段全量回归自动化测试,如图3所示。
部署升级版本进行测试时,首先进行基本功能冒烟测试验证,以确保当前测试版本没有引入新的严重问题,这个阶段主要根据开发修改模块,有针对性地在基准库中挑选合适测试案例进行测试。
对前一个版本发现的缺陷进行快速迭代自动化测试,采用原来的测试用例可以防止手工测试的随意性,达到完全现场恢复的目的,同时也能提高测试效率。
在版本稳定后,采用全量的自动化测试案例库进行回归测试,验证全量交易稳定。
(2)实践成效本次实践完成七轮快速迭代自动化测试,三轮全量回归自动化测试,执行案例数和发现缺陷情况见表1。
在核心架构升级项目中进行自动化迭代测试,不仅有效地解决快速迭代中短时间内需要多次测试的问题,而且大大降低手工测试人员的重复测试压力,使手工测试人图3 核心账务系统架构整合自动化测试策略表1 核心账务系统架构整合自动化测试结果员有更多的时间关注核心参数配置的测试。
同时通过自动化快速迭代测试的实践,为福建农信业务快速更新所带来的系统更新提供了创新的质量保证方式。
2.验证环境回归测试目前福建农信项目或任务的投产上线较为频繁,其中以综合业务系统核心或柜面的优化投产较多,优化的对象主要是项目组或基层行社所提交的故障单。
这些故障单呈现随机分布的特点,测试范围广,并且每次优化时间有限,手工测试人员在重点测试完所优化内容外,难以进行大范围的覆盖测试。
作为投产上线最后一环,同时也是最接近生产环境的验证环境,环境控制严格,代码版本稳定,在此环境上进行自动化轮次回归测试,意义不言而喻。
该测试不仅能够补充手工覆盖范围,而且可以通过“无人值守”,缩短投产测试周期,提高测试效率,为每周的投产上线提供进一步的质量保障。
(1)测试策略一般每周投产代码版本在周一或周二完成部署,为确保从部署到投产上线的短周期内,可以完成自动化回归测试执行、测试缺陷分析和报告总结提交等一系列过程。
自动化人员在获取版本已部署的通知后,进行测试周期为24小时,每轮近万个案例的自动化回归测试。
测试中发现的问题提交给开发人员及业务人员进行确认,并对业务规则变更的案例及时进行更新,在下一批次中进行验证,批次回归测试流程如图4所示。
(2)实践成效从最初的在准生产环境进行自动化回归测试,到后期推广到验证环境回归测试,目前已在验证环境进行46轮回归测试,执行案例数327,192个,提出缺陷及建议9个。
通过这一实践,收到的成效如下。
① 加快测试速度,缓解了测试人员工作压力。
每批次一人,投入10台执行机并发执行,在环境正常的前提下,1个工作日就可以完成所有案例的执行,执行效率达到7021案例/人天(个别轮次中批处理条件未满足,相关案例未执行),比人工测试效率快175倍(按人工平均每天执行40个案例计算),大大节省了测试人员手工测试工作量。
② 提高测试效率,缩短投产周期。
在应用自动化测试之后,测试效率大大提高,综合业务系统优化的投产周期也较原先缩短。
③ 为综合业务系统优化提供了质量保障。
系统优化由于故障单比较分散,无法对全交易进行大覆盖度的测试,自动化测试具有执行速度快、案例覆盖面广的优势,对优化的回归测试具有很好的补充作用,争取实现质量前移。
3.测试数据生成服务福建农信2017年累计进行项目与任务建设235个(同一个项目不同增量独立算一个),手工执行测试案图4 批次回归测试流程例数231 400条,这些案例的执行也意味着需要同等规模的测试数据需求。
我们尝试利用自动化测试系统为测试人员提供测试数据生成服务,以此践行“留给测试更多时间”理念。
(1)测试策略根据测试所需常用数据类型,结合已积累的自动化测试交易模板脚本,自动化提供消耗型与非消耗型测试数据。
非消耗型数据包括机构、柜员和客户证件等,消耗型数据包括凭证、各种类型账号等。
以操作交易为依据,通过利用Pairwise 组合原理,多字段要素的组合,以及综合不同交易功能,把手工操作交易流程通过自动化脚本实现,涉及的所有数据脚本统一放到服务器。
用户需要测试数据时,只需登录福E 测系统(面向用户的数据服务生成系统),根据提供的数据表模板,填写所需类型数据值,上传该模板到福E 测系统,点击执行脚本;系统网页端发送请求到服务器;服务器通过数据库查询当前可用的虚拟机,并把执行脚本下发到对应的虚拟机;虚拟机接收命令后,开始准备数据,数据准备完成后,上传数据表,并删除执行的脚本;服务器把该数据表返回给系统;用户即可以从网页端下载已准备完成的数据。
数据准备交互流程如图5所示。
(2)实践成效福建农信自动化测试系统仅2017年已为项目组提供有效测试数据1 602 448个,包括各类账号、卡号、柜员和客户信息等数据。
若手工准备这些数据需要90人天,而投入自动化,只需10人天。
通过提供数据准备服务,不仅可以让测试人员更加关注自身的测试场景设计,节省测试时间,而且为环境准备提供造数功能,节省环境准备时间。
综上所述,通过在银行业务中进行自动化测试的应用实践,为福建农信业务快速创新所带来的系统更新提供了创新的质量保证方式。