众所周知,银行业的IT应用质量与业务可用性、业务连续性高度关联,对系统的流畅性要求极高,关键业务系统故障对银行业来说,无疑会造成致命的打击。因此,确保银行业软件产品的质量,重要性不言而喻。
2010年7月的某一天,对新加坡某大型商营银行而言可谓史上最颜面无光的一日。这一天,该银行的系统陷入全面瘫痪,自动提款机、网络银行服务、信用卡服务、手机服务和电子转账付款服务都无法使用……
面对上述事实,人们不禁要问,IT高水平的金融行业为何也会突发关键业务系统故障?即便经过了上线前的谨慎测试和验收环节,系统为何还会出现问题?事后,该银行总裁就该行服务瘫痪七小时的故障,在该行的网站上以个人名义发布道歉信,向所有客户正式致歉,并解释了系统中断的具体原因:银行中央处理机连接的磁盘储存附属系统部件进行例常修理工作时,发生了系统中断,具体原因银行方面解释为银行在维修时使用了过时的程序,致使系统宕机。
可想而知,上述的情况是任何银行IT从业人员都不愿意看到的。因为一旦上述事件发生,无法挽回的经济损失,业内过往的好名声与客户的信任度都将大打折扣,企业多年苦心经营的品牌大厦想必也会瞬间在舆论的风口浪尖崩塌。
可是,如何才能保证系统上线后平稳运行,这是IT永恒的追求。记得一位金融行业的CIO曾说过,“没有万无一失的系统,只有力求完美的保障”。没有一个IT人员敢说自己的系统上线以后不出任何问题,那么如何从根源上消灭系统漏洞,也许从软件测试环节下手,做好质量检验,提前为应用设立一道安全防线,不失为一个上策。
软件测试体系建设 遵循标准 谨慎创新
著名质量大师戴明(W.Edwards.Deming)博士曾说过,85%的缺陷是由过程引起的。大量实践证明,在影响项目的三个因素——人、工具和过程中,过程执行的好坏对项目质量的影响最大。因此,项目必须遵循一定的方法和流程。据了解,与一般软件产品相比,金融软件产品的质量要求更为严格,既强调系统的安全、可靠,又要求系统较高的性能,这就需要一个优秀的软件开发团队和一个良好的开发过程。据了解,CMMI模型的优势是集合了软件开发过程中的最佳实践,能通过产品开发过程的改进达到提高开发效率和保障质量的目的,这和金融业对金融软件开发的期望完全一致。
对此,中国农业银行信息技术管理部备援测试中心技术管理部副处长李宽予以肯定,他对记者说:“农行作为大型上市银行,一直把软件质量的管理放在极其重要的位置,这一点毋庸置疑。在软件质量把控的过程中,软件测试作为其中的重要环节和重要条线,其地位既特殊又重要,它是确认软件质量的重要手段之一。从农行多年的软件测试经验来看,建立健全软件测试体系,按照CMMI体系要求,遵循国家标准、国际标准和国外先进标准,因地制宜,从实际出发制定出适用于自己企业的测试标准,真正实现软件测试的流程化、有序化、资产化,才能争取使得软件测试更加有效。”
据李宽介绍,农业银行多年来一直在不断探索行之有效的软件测试技术体系建设,通过消化IEEE 829《软件与系统测试文档规范》与国家标准GB/T 9386《软件测试文档规范》,于2007年发布了适用于农业银行的企业标准《软件测试文档规范》,提出了针对软件测试文档的“分级”创新理念,分级概念的提出可以使得软件测试文档适用于各种各样的软件开发生命周期,通过逐步实施,取得了很好的效果,并在CMMI实施的过程中,将企业标准纳入了CMMI体系。随后,又在持续跟踪消化IEEE 829和GB/T 9386新版本的基础上,结合农行软件测试工程实践,发布了2010版《软件测试文档规范》。据悉,此企业标准获得了人民银行颁发的2008年度银行科技发展二等奖。“我们的目标想法就是通过努力,使标准落地。然后从标准入手,落地到企业的个人技能,再把个人技能向组织技能转化,最终实现企业资产的不断积累。这项工作我们正在逐步实施,随着工作的进展成果会逐步显现。”李宽说。
对于软件测试文档标准相关规定的认识,作为国家三大政策性银行之一的国家开发银行也有同样的想法。“在金融行业中,我们一般都遵循CMMI体系和模型来从事软件开发。CMMI确定了一个很好的实践框架,但照搬照抄CMMI模型的做法并不可取。”国家开发银行信息科技局项目经理马迪这样对记者说。马迪还强调:“必须将CMMI模型转换成与企业业务目标相适应的体系规范,才能达到过程改进的目的。国开行目前是结合自身实际,参照CMMI规范进行了一些裁剪,使其更适用于我们的业务目标。”
软件测试效率提升 工具助力 各取所长
银行业,由于经营货币、信贷等众多特殊产品,就决定了该行业IT系统结构会非常复杂,各系统之间关联性非常强,要求应用的融合程度也比较高,也大大提升了银行业系统进行软件测试的广度、深度和难度,要求测试工作不仅仅能实现IT系统功能的完善性,还要保证系统的高度安全性和可用性,当然,在此基础上的效率提升也将成为金融市场激烈竞争的有力武器。
近年来,随着众多商业银行在国内外的频繁上市,监管机构与投资者对其经营业绩的稳定性也提出了更高的要求,业务的激增更是给应用质保部门带来了无形的压力。金融市场瞬息万变,保证新业务系统在第一时间平稳上线,抓住机遇,赢得客户,无论对开发与测试都是很大的挑战,那么如何做到既提升测试效率又保证测试质量,在特定领域采用自动化测试工具无疑是明智之选。
对于测试工具的使用,农业银行李宽副处长这样对记者说:“工具功能各有所长,企业要根据自身的业务来选择使用测试工具。农业银行在工具使用方面,分为三大类,即:商业工具、开源工具、自创工具。对商业工具的选择,我们是在广泛了解市场上可提供的工具基础上,明确自己的需求,通过招标采购获得。目前已经购置了HP公司的Performance Center、LoadRunner、QuickTest Professional、Quality Center等产品;对开源工具的应用,农行在分析消化开源协议的基础上,也开始了逐渐的探索;另外,农行根据自己的情况,也自行开发一些高度针对性的工具。在软件测试过程中,我们会根据实际情况,从三类工具中选择适宜的工具,来使测试过程更加有效、更加流畅。”
中信银行作为中国改革开放后最早成立的新兴商业银行,经过二十年的发展,已成为国内资本实力最雄厚的商业银行之一。随着近年来电子银行等业务的迅猛发展,IT部门在提高软件测试效率方面也提出了新的要求,中信银行质量测试部经理刘行军在接受记者采访时表示:“中信银行已经采购了HP 公司的性能测试工具LoadRunner、功能测试工具QuickTest Professional以及测试管理工具Quality Center,基本涵盖了测试部门主要的工作内容,通过系统测试工具,帮助测试人员发现了大量系统功能或性能方面的缺陷。”
针对目前银行业软件测试的应用情况,中国惠普公司软件部高级技术顾问李云岗这样对记者说:“银行业是一个业务瞬息万变的行业,为了第一时间赢得市场先机,IT要提速,质量管控也必然要提高效率,针对银行业系统与业务的特点,测试部门采用自动化测试工具是提高效率、节约人力、降低成本的有效途径之一。另外,要考虑在软件测试的整个过程中保证业务的连续性,尽量减少安装、性能、测试及其他基础活动的相关风险,同时还要注意覆盖整个应用生命周期的变更管理、维护和升级。”
小结:
千里之行始于足下,银行业的行业特殊性决定了企业CIO,在工作中逐步实施行之有效的解决方案或措施来使得IT可以更好的支撑业务,甚至带动业务的发展。质量保障工作作为IT应用过程中一个不可或缺的环节也要提前做到未雨绸缪,起到积跬步致千里的基石作用。我们期待不久的将来,银行业的质量管控可以梦想照进现实。