在IT系统的需求分析阶段,保证项目以业务需求为目标; 在系统交付时,进行充分的功能测试和性能测试; 在运行阶段,保持对系统的监控,这是进行IT系统质量管理的关键。 IT系统作为银行业务的有力支撑,越来越受到重视,各家银行纷纷通过改善IT系统来节约实施和维护成本,提高客户的满意度和增加收入。但是,随着IT系统的建设越来越多,结构越来越复杂,如何保证IT系统的质量,使其真正能够满足日益发展的业务需要,逐渐成为各家银行重点考虑解决的问题。具有雄厚资金实力和IT投资预算的大型商业银行,已经开始着手IT系统和软件产品的质量控制和管理建设,制订出从业务需求到开发、测试、部署以及产品和系统上线以后的实时监控等一揽子规划,并且开始着手购买各种软件和工具进行实施。但是对于大多数银行,每年的IT预算有限,如何保证IT系统的质量面临不小困难。笔者结合目前国际上流行的质量控制和管理趋势,根据自身在银行方面质量管理和控制项目支持的经验,提出一个分阶段分步骤进行建设的建议,以供广大银行的决策者及相关人员参考。
测试工具的选择
银行作为一个特殊的行业,对于IT系统的功能性要求和性能性要求都比较高。对于银行IT系统,功能上不能有丝毫的马虎,客户交易必须正确记录,决不允许错记、漏记,如果发生错误,对于客户是经济损失,对于银行来说则是信用的损失。性能上为了提高客户的满意度,在各种渠道上都需要保证在一定的时间内完成交易,如果客户存取一笔款项需要花费很多时间,那么客户对于银行的抱怨是无法想象的,很有可能使这位客户转而投入其他银行的怀抱。从技术上说,对于功能和性能方面的质量都必须通过测试来进行验证,这是保证IT系统在功能和性能方面能够满足业务需求的基础。在功能和性能方面的投资可以优先考虑两个方面: 测试管理工具和性能测试工具。
软件测试目前作为软件工程中的一个重要的环节受到各个企业的重视,并且大家也普遍承认,这是一个需要进行有效管理的过程,因为其中涉及到测试需求的选择、测试案例的设计、测试执行的管理以及缺陷跟踪的流程等多个方面和环节,如果还停留在依靠手工处理、电话或者邮件通知、人工收集数据、使用Office软件来进行统计的阶段,那么工作量相对来说是很大的,而且不能及时反映整个测试阶段的进程和情况,因此在准备进行测试时,选择一个业界承认的优秀的测试管理工具是很有必要的。
选择一个好的测试管理的意义在于:
● 能快速学习测试管理工具中附加的先进经验和最佳实践;
● 能有效地进行测试资产的集中管理和控制;
● 能理顺并完善适合本企业内部的测试管理流程,并且映射到测试管理工具中;
● 能促进各个团队进行有效沟通和分工协助;
● 能方便地进行各种数据统计和图表处理,有利于了解项目测试的情况。
在选择测试管理工具时,决策者和相关人员可以根据以上要求来考量测试管理工具是否适合和满足本企业的要求,同时要考量测试管理工具的平台性,即不仅仅只是一个工具,而同时要具有开放性、可扩展性等平台特性,这样才能很好地融入到企业IT建设架构中,真正地成为企业IT建设的基础。
功能和性能测试方面的投资当然是以性能测试为主。原因一方面在于,IT系统的性能问题不易发现,在测试期间只有少量用户使用,往往不会暴露出存在的性能瓶颈,只有上线了以后,千百个分行支行网点的用户使用、并发量大的情况下才会出现,而使用性能测试工具可以模拟这种大批量的用户并发使用。另一方面,性能测试要衡量的指标有很多,依靠工具更加易于进行统计和分析,帮助测试人员发现和定位性能问题。
选择性能测试工具要考量的指标一般有:
● 是否易于创建测试脚本。如通过录制就可以完成,不需要或者需要很少的手工编制;
● 是否能够精确地模拟现实中系统上线后的运行情况;
● 是否能够在压力加载的同时,收集被测系统的资源消耗情况,并且这些数据是真实准确的;
● 是否提供了强大的分析模块和报告生成能力;
● 是否能够和测试管理工具很好地集成。
性能测试工具的价格往往很昂贵,在购买时可以考虑先购买部分功能和模块,然后再分阶段逐步完善。
在自动化功能测试方面,尤其要注意不要盲目地购买,然后仓促地、大范围地在系统功能测试中使用。因为自动化功能测试工具的优点在于通过可重用的脚本和模块,简化脚本创建和维护的工作,同时通过重放,在回归测试中将测试人员从重复性的单调 *** 作中解放出来,使他们更加专注于缺陷修复和功能变更后的模块测试。由于自动化功能测试工具目前大多是通过录制生成脚本,如果以单独一次测试来和人工相比,往往不具有明显的优势。使用自动化功能测试工具能够提高投资回报率的关键在于,通过自动化功能测试工具测试生命力相对持久的系统。例如银行核心业务系统、信贷系统等,通过不断积累和完善该系统的功能测试脚本,可简化该系统变化相对不大的模块的功能测试。
在选择功能测试工具时,需要考虑的最主要指标是工具的简单易用性,因为就实际经验来说,自动化功能测试工具往往由业务人员直接使用,如果 *** 作简单,脚本可维护性好,结果报告清晰明了,那么就会达到事半功倍的效果。
总体上,第一阶段可以考虑优先购买和实施测试管理工具和自动化性能测试工具,同时可以考虑选择一到两个相对修改不会很大的系统来使用自动化功能测试工具录制功能脚本,进行自动化功能测试前期的积累。
逐步建立质量管理体系
如果前一阶段我们的目的是选择测试管理工具和测试工具,同时选择固定的人员,组建相对独立的测试队伍,实现知识共享和经验积累,那么第二阶段我们的目标就是基于本企业内部的情况,制定出适合本企业的质量管理体系,全面控制和管理测试工作,加强功能和性能测试方面的自动化程度,将测试工作和测试团队纳入到整个企业的质量管理工作中,同时可以考虑在本阶段将设计、开发和测试集成起来协同工作。
这一阶段我们应该充分发挥测试管理工具的开放性和集成性,一方面通过它实现与设计、开发、部署等过程良好集成,例如将设计需求快速转变为测试需求,通过测试管理工具管理 单元测试 等; 另一方面可以通过工具提供的功能或者二次开发,建立关键性能指标,从测试管理工具中提取数据,展现测试项目和测试工作的全面视图,例如缺陷的趋势图(每天新增加的缺陷和处理完毕的缺陷)、测试案例计划和执行分析图、测试项目总体进度图等,这样就能通过完善系统质量的衡量指标,逐步建立起质量的评估体系来。
在功能和性能测试方面,由于经过第一个阶段自动化功能测试的积累,已经具有很强的脚本编制和功能组件划分能力,因此可以逐步建立起自动化功能测试的框架,这样做的好处在于: 首先,可以大大简化后期脚本的维护和自动化功能测试的运行; 其次,可以利用框架,快速构建新的系统的自动化功能测试; 再次,可以充分利用业务人员对于业务的熟悉,让他们加入到自动化功能测试过程中来,便于他们使用自动化功能测试工具; 最后,具有一个良好的框架,将来可以快速建立基于业务流程和数据驱动的测试方法,推动回归测试和冒烟测试。
性能测试在这个阶段可以继续深入,一方面通过工具进行针对应用开发代码的性能诊断,协助开发人员发现和定位代码方法级别的性能瓶颈,另一方面要收集各种测试的结果数据,建立起性能和硬件配置的估算模型,充分保证在硬件投资上的最合理支出,提高投资回报率。
该阶段还需要加强的是设计、开发和部署时通过建模工具、配置工具、变更管理工具、运维监控工具、帮助开发人、测试人员和运维人员协同工作,高效率地完成应用系统的整个生命周期中关键环节的管理。由于中小型银行系统主要以外包为主,这里就不做细致的阐述了。
该阶段要注意的是,由于开发以外包为主,所以更需要加大测试方面的投入。因为完善的设计理念、先进的开发技术和方法论、良好的团队合作和项目管理,并不能绝对保证开发出具有优秀功能和性能的应用系统,更何况系统的参数配置对运行的性能影响同样巨大,因此功能和性能是否能够满足业务的需要,最终还是要通过测试来检验。这就好像一个人,虽然具有良好的家庭背景、教育环境、生长氛围,并不一定会成为一个优秀的人才一样,是否有能力能够胜任工作,还是需要通过考试等测评方法来衡量他的综合素质才可以下结论。
促使IT系统和业务目标的统一
银行业IT系统的根本目标是提高生产效率,为银行业务的实现提供强有力的支持。因为银行IT系统本身并不会为银行带来经济收入,收入是依靠其支撑的业务运营来实现的,因此IT系统从设计的那天起,就决定了其要为业务运行服务,要帮助达成业务目标。
但是实际应用开发过程中,由于开发人员过于理想化、开发管理不善等各种问题和各种变化,往往导致最终完成的系统与业务目标具有一定的偏离,这种偏离有时候是很大的,甚至可以称作鸿沟,而IT系统质量管理发展阶段的最终目标就是建立机制,消除这种鸿沟,使IT系统真正能够满足业务目标的需求。
要消除这种鸿沟,可以从以下几个方面考虑:
● 需求和项目管理。这里的需求指的是业务需求,通过项目全生命周期的有效管理,保证应用开发项目的设计、开发和测试都以业务需求为目标,使项目最大化地满足业务需求,实现业务价值。
● 质量保证。通过测试保证应用系统在功能上满足业务需求。
● 性能验证。通过测试验证应用系统在性能上是否满足业务需求。
● 服务水平管理。应用系统上线后,通过实时监控等手段保证应用系统能够满足服务水平协议,使最终用户能够通过应用系统实现业务 *** 作,提高最终用户的满意度。
● 变更生命周期管理。在应用系统整个生命周期中,能够使需求变更被控制在管理范围内,并且能够按照需求的这种变更快速地组织开发、测试和上线后的监控,使这种变更还是依照业务需求进行。
可以看出,需求和项目管理、变更生命周期管理两方面都需要银行内部各部门之间的协助,只有建立起全面的内部质量管理体系和制度才能很好地实现,而质量保证和性能验证就是前阶段的功能测试和性能测试。只有通过测试,才能从功能上和性能上保证应用系统满足业务需求。
这里面要强调一下服务水平管理,虽然目前银行运维部门大多已经具有一系列的工具和手段,可以监控Unix服务器、数据库、网络等底层应用基础架构运行的状况,但是银行是以业务为主导的,最终这些软硬件的运行是要保证业务功能的实现,因此银行监控观念和侧重点应该有一定的转变,即最关键的应该是监控业务功能是否能够正确实现,业务流程是否能够正常流转。举例来说,网上银行系统被不小心修改了登录页面,导致页面出错,这时候传统的监控工具看到的情况是Unix *** 作系统正常、数据库正常、网络正常,但是客户却不能使用网银系统,如果使用了基于业务流程的监控工具,就可以监控到这种错误,并且报警,同时可以帮助运维人员定位到是应用级别出现了错误,从而帮助快速解决这个问题。
选择这类监控工具一方面是要考虑能够有效地模拟真实的用户 *** 作,另一方面是能够将业务流程和底层应用基础架构映射,将业务流程的失效定位到应用基础架构问题。
至此本文介绍了银行IT系统质量管理建设各阶段要考虑的方面,如果我们把银行应用系统比做一个人,那么各阶段的建设可以形象地总结如下:
● 测试先行。就像人定期的健康体检一样,以检查是否有潜在的疾病。
● 全面的质量管理体系。从饮食习惯、作息起居、日常锻炼等方面来提高人的机体的整体免疫力。
● IT管控,消除IT与业务需求的鸿沟。真正明白人生存的价值和意义,不仅仅要有一个健康的体魄,更要从精神、心态等方面来全面调节生理和心理,使自己具有一个乐观、积极的人生。
(作者单位:美科利公司技术顾问)
优点:1,未来发展趋势,不担心失业,好找工作;
2,工资较高,跟传统行业相比都是比较高薪的行业;
3,对于有思想、有能力的人,有更多获取成功的机会;
缺点:1,比较累,脑力劳动强度大;
2,技术更新快,需要持续学习,否则几年就被淘汰;
3,长期 *** 作电脑,坐着,对眼睛、身体健康不好;
4,工作压力较大;
5,加班几率比其他行业高;
随着企业对软件测试项目的重视,越来越多的零基础的人也开始加入到软件测试的求职浪潮之中。今天,我们就给大家简单分析了在软件测试行业中需要了解的一些常见问题。
1、测试负责人要进行严格的测试进度跟踪吗
很多时候,由于人力资源的不足,测试项目负责人都是在执行测试,这样就使整个项目缺乏控制,一些问题(例如:有些成员的缺陷质量不够合格;开发人员修改不及时,系统某些功能发生严重问题导致部分功能无法测试。)得不到解决,耽误了进度。所以测试负责任必须全程监控项目,尽可能多的掌握信息。通常,测试负责人需要完成下面这些内容的管理工作:测试用例执行情况;每个测试员提交的缺陷情况;测试中是否发生突发问题。
2、测试也有版本控制吗
这里的版本主要是指测试对象的版本控制,也就是指对开发部提交的产品进行版本控制。在开发小组版本管理不规范的情况下,测试小组进行版本控制十分重要,要保证测试对象是可以控制的。建议开发和测试双方进行明确的约定,可以各自指定专门的测试版本负责人,制定提交原则,对提交情况进行详细的记录,这样基本避免了版本失控导致的测试失误或无效。
3、如何处理测试人员的流动问题
人员流动不仅仅是测试部门,这是IT行业的普遍现象。从管理者角度,主管需要多多和团队内成员进行沟通,建立一个融洽的团队环境,及时掌握情况,可以早些进行相应的调整。但是只有企业建立好的用人制度,给员工提高广阔的发展空间和好的培训学习机会,才能从根本上解决这一问题。加强项目管理,强化文档管理并保证文档的有效性,可以大大减少由于人员流失带来的损失。同时,测试部门要建立培训机制,使新到员工接受直接或者间接的培训,快速适应工作。
4、为什么开发人员经常抱怨测试工程师提交的缺陷质量太差
我们经常听开发人员说:“这不是缺陷!”,“这个缺陷没有,因为我的系统上运行正常!”。测试工程师本身就是做质量工作的,提交的成果本身就应该质量高些,为什么还会有这种现象提交的缺陷引起争议是一种正常的现象,例如测试人员描述不清楚就会引起争议。减少甚至避免这种现象的方法是交叉测试,交叉测试是提高测试质量的一个有效手段,当然交叉测试会增加一定的测试成本投入。IT培训发现在测试任务完成后,测试工程师之间互相验证彼此提交的缺陷,就会避免了缺陷描述不清、因运行环境而产生的缺陷等一系列问题,从而大大降低了回归测试以及交流的成本,因而这种投入也是值得的,实际开发人员在单元测试阶段也会进行交叉测试,来提高开发质量。另外,测试人员一定要按照规范描述测试中发现的缺陷,一个缺陷至少描述清楚概要描述、详细描述、重现步骤三方面的内容,缺陷管理参考八章的内容。
IT职业病是指企业、事业单位和个体经济组织的IT族们在职业活动中长时间面对电脑,精神集中在电脑屏幕上,长时间久坐,缺乏运动,以及电脑辐射等危害,损害人的身体健康,很容易引发一些职业病,危害IT族们的身体健康。
IT职业病是对电脑辐射及长时间久坐及加班造成的互联网行业病的总称。
八大症状编辑
1近视 整天瞅着屏幕,想不近视都难。
2颈椎病 每天坐在那里,盯着一个地方,时间稍长,就感觉脖子僵硬。
3腰间盘突出 每天坐8个小时,非常少活动,再加上坐姿不雅,腰酸背疼。
4胃病 工作紧张,匆忙的快餐
5高血压 长时间处于紧张的压力,得不到非常好的休息和锻炼身体,是血压高的一大诱因。
6高血脂,高血糖,脂肪肝 饮食不规律,非常少活动,
7辐射 电脑,屏幕,每天被这些辐射源包围着,
8恐怖的过劳死 这么多的职业病,再加上不分昼夜的加班,
整天忙于工作的白领,像上了弦的发条,难能喘息下来。而对于自己身体时常出现的异常情况,却往往熟视无睹。职业化了的现代女性更是不知不觉中被职业驯化了。于是,健康被忽略,到头来也影响了工作!
在这里,我得提醒这些忙于网络工作的办公室人员,要注重自己的健康,小心以下疾病。
一、数据结构
编程语言是基于不同的数据结构上基本的想法。但同样,它是一个基本的想法。自学的程序员更倾向只坚持使用他们喜欢的编程语言的数据结构。
二、编程范例
编程不是道路,而是方式,不同的编程有不同的方式。不仅如此,一些编程语言适合一种或者多种范式。
如果你有一个锤子,一切看起来像钉子。把它带入自学编程中,你会发现自己在敲钉子,螺钉,钉书钉和拇指钉。
我记得一个自学NET程序员有次告诉我,“这不是编程,除非它面向对象,这也是为什么我不考虑JavaScript这种编程语言。” 这是一个非常,非常有缺陷的思想。
三、测试
在我们将代码提交测试前,有很多方法来测试你的代码。了解如何进行单元测试。更重要的是,要学习测试驱动的开发。测试你的代码和编写可测试的代码之间是有区别的。
四、设计模式
设计模式一般来自经验,而没有经验,很多会走弯路,因为设计模式有多种方式构建你的代码,而比较好的学习方法就是站在正确的道路上去走,而不是每种设计模式都犯一次错,然后再找出正确的方法。
五、自学的程序员通常缺少谦逊的品质
谦逊是一种技能。就像其他的技能一样,提升我们谦逊的品质的重要一步是意识到,即使我们是在大学课程设置以外学习,我们也并非是真的“自学成才”。
作为一个自学的程序员,往往会错失一些专业或者已有好的解决方法。例如,有时你遇到一个问题并想出了一个好的解决方案,只是后来你却发现这种“方案”早就有了。而你却花了好几年的编程经历才补上研究出来。
以上就是关于银行IT系统的质量控制_银行IT系统全部的内容,包括:银行IT系统的质量控制_银行IT系统、从事IT行业的优缺点是什么、IT培训分享软件测试行业中常见的问题有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)