在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与业务需求的鸿沟。真正明白人生存的价值和意义,不仅仅要有一个健康的体魄,更要从精神、心态等方面来全面调节生理和心理,使自己具有一个乐观、积极的人生。
(作者单位:美科利公司技术顾问)
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚。\x0d\程序员的岗位职责:\x0d\1、负责公司网站前后台服务功能的修改和升级,并保证网站软硬件平台的正常高效运行。\x0d\2、负责公司网站功能改进计划和网络安全计划的编写。\x0d\3、按照计划的时间和质量要求,对公司网站前后台功能进行修改和升级;负责网站代码的优化和维护,保证网站的运行效率。\x0d\4、每日根据公司网站业务需要开发,制作和程序修改要求,必须按时按质按量地完成日常公司网站业务的编程开发技术工作。\x0d\5、负责公司网站开发前期的测试。\x0d\6、负责对公司网站软硬设施进行安全和稳定性巡检;并负责统计和监视系统日志。\x0d\7、协助公司各部门关于软件同客户进行沟通,保持良好的客户关系,为客户提出的、客服人员无法解答的专业技术问题提供支持和回馈,保证客户的满意度。\x0d\8、负责公司网站开发所需要的软硬件的采购和选型;同时对外包编程工作的质量和进度加以监督和管理。\x0d\9、对于外包的项目的技术方面进行设计、实施跟踪和交付成果的控制和验证。保证外包项目能完全按照我方技术要求和规划完成。\x0d\10、参与需求调研、项目可行性分析、技术可行性分析和需求分析。\x0d\11、熟悉并熟练掌握公司开发的网站项目的相关技术。\x0d\12、负责及时向上级领导反馈网站开发中的情况,并根据实际情况提出改\x0d\进建议。\x0d\13、参与网站开发和维护过程中重大技术问题的解决,参与首次安装调试、数据割接、用户培训和项目推广。\x0d\14、负责相关技术文档的拟订。\x0d\15、负责对业务领域内的技术发展动态。\x0d\16、负责公司网站及其相关网站改版、网站功能完善、新系统的开发工作。\x0d\17、负责公司服务器安全管理与维护及公司内部网络维护和电脑软硬件维护工作;\x0d\18、负责公司加盟商城开发与维护和加盟商域名管理与维护,为加盟商解\x0d\答疑难问题,并提供技术支持;\x0d\19、公司速达软件、CRM平台、EMAIL、企信通等信息平台的管理与维护工作。
对于程序员来说,在开发和安装软件的时候,除了需要让程序能够准确执行命令以外,同时也需要避免许多的问题,下面我们就一起来了解一下,需要避免的问题都有哪些。
1锁住包版本
您的清单文件包含所有软件包版本的信息,以便在每次安装应用程序依赖项时保持一致的结果,不会破坏代码。做法就是使用清单锁定文件以避免任何差异,并确认每次都获得相同的软件包版本。否则你的代码组件版本不精确,不确定将在下一个版本中安装哪个版本,并且代码可能会被破坏。
2归档不再维护的库
随着时间的推移,由于各种原因,我们的存储库可能已经无法维护了。也许你为一个临时用例打开了一个新的存储库(或者你想要POC一个新技术),或者你有一些包含旧的/不相关代码的存储库。问题是相同的:这些存储库在达到目的之后不再被积极开发,你也不想再维护它们。佳实践是归档这些存储库,设置为“只读”模式。
3为项目创建一个有意义的gitignore文件
每个存储库中都必须使用gitignore文件来忽略预定义的文件和目录。它将帮助你防止密码,依赖关系以及代码中许多其他可能的差异。可以从Gitignoreio中选择相关模板。
4将源代码和配置文件分离开
强烈建议不要将本地配置文件提交到版本控制中。通常,本地配置文件包含secret,个人偏好,历史记录等私有配置文件,你是不会想将其推送到远程的。这些信息应当只保留在本地环境中。
5避免在项目中提交依赖
将依赖推到远程源将增加存储库大小。删除存储库中包含的所有项目依赖,并让包管理器在每个构建中下载它们。如果你担心“依赖的可用性”,IT培训建议应该考虑使用Jfrog或NexusRepository等二进制存储库管理器解决方案。
以上就是关于银行IT系统的质量控制_银行IT系统全部的内容,包括:银行IT系统的质量控制_银行IT系统、it界的程序员是干什么的、IT培训分享程序员需要注意哪些软件编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)