qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

未雨绸缪:从软件测试到质量保证

 【摘要】我们都遇到过这样的情况:每次系统上线,几十人,甚至几百人的测试和开发团队都要提心吊胆的经过若干个不眠之夜。从高层领导到技术人员、测试人员不停的想象着各种可能遇到的情况…

  2005年11月1日,日本东京证券交易所股票交易系统发生大规模系统故障,导致所有股票交易全面告停,短短2个小时造成了上千亿的损失。经查明,故障的“元凶”是当年10月为增强系统处理能力而更新的交易程序存在缺陷。

  设想一下,当一名大银行老总,正在焦头烂额地组织本行的IT系统建设工作,突然看到这样的一条消息,会有什么样的感觉?当然首先会想到,如果自己新上线的系统也出现类似的故障,后果同样是不堪设想的。所以,一个很自然的想法就会冒出来:对即将上线或已经在运营中的IT系统进行一次全面体检,保证系统健康上岗!

  质量危机

  现实中,因IT系统质量存在问题而导致的这样或那样的事故,在很多大型的金融、电信企业中时有发生。

  我们都遇到过这样的情况:每次系统上线,几十人,甚至几百人的测试和开发团队都要提心吊胆的经过若干个不眠之夜。从高层领导到技术人员、测试人员不停的想象着各种可能遇到的情况:服务能否正常运转;功能会不会存在问题;速度能否满足用户要求;移植过来的数据正确性如何,是否会影响业务导致客户投诉……总算熬到安全上线,ATM机系统故障、Pose消费终端没有响应、核心业务系统故障致使业务暂停等等一系列问题又会不时出现,造成巨大的经济损失和恶劣的社会影响。质量问题已经成为企业IT系统主管心中难言的痛。

  在激烈的市场竞争中,如果能在竞争对手前推出新的业务,就能在竞争中争取有利的位置。兵贵神速,新业务的推出速度越快越好。但同时,如果新的业务没有一个稳定可靠的系统支撑的话,那么,轻则面临大量的直接经济损失,包括对客户的损失的赔偿以及修正系统错误的开销,重则损失大量的开展新业务,占领市场高度的时机,直至声誉下降,大量的客户流失,一败涂地。

  避免IT系统质量问题带来的风险,降低故障成本已经刻不容缓。然而,中国质量测试行业才刚刚起步,很多企业采用的测试方法和技术简单而低效,如:组织大批的业务员,把以前做过的业务拿出来,在新的系统上重新跑一遍,发现错误和隐患后,再和开发部门联系进行整改;当有系统变动就再组织大规模人力重复上面的工作,如此反复。然而,这样的方法并不能解决实质性问题,只能头痛医头,脚痛医脚,而且受很多因素限制,系统的质量风险很难控制。一旦遇到测试人员业务不熟;人员长期反复工作产生疲劳倦怠情绪;或是系统有了较大变动,而第二天又要保证上线等等诸多状况时,IT系统的质量风险会陷入不可控的境地。同时,大型金融,电信企业的IT系统又是错综复杂的。以下面的建设银行总行IT系统为例。

  建行已投产运营的项目有十几个,包括银行渠道平台、网上银行、综合产品管理、客户关系管理、信息总线项目等等;后续建设的项目,如企业资源计划(ERP)、数据仓库、信贷业务系统等约十多个。这些项目大都采用了国际国内最先进的技术,技术构成复杂而多样性;而且很多项目在业务、技术架构、物理部署和数据上都有很强的关联,构成了一个庞大的、复杂的IT系统群集。未投产的项目需要进行跨系统的集成测试和非功能性测试,并组织实施投产上线;已投产的项目要进行系统调优和未来的系统发展分析预测;同时,项目还涉及到与大约20个总行级系统的联调测试。这样规模的IT系统质量已经不是上述的简单测试方法能够保证的。

  这就需要专业的质量测试团队来协助企业进行IT系统全面的质量保证和测试工作,从而降低质量风险,使IT系统更好的为业务提供支撑服务。

  专业服务

  要解决质量问题,就必须把IT系统的质量测试工作摆到重要位置。那么采用何种方式保证质量?

  如果客户自己来做测评,虽然也能发现一些问题,但局限于测评方面的专业知识和行业经验,不利于问题在开发方面的追踪,协助开发人员进行修正。如果开发人员自己来做的话,不仅缺乏丰富的测试经验,更重要的是,由于开发工作通常划分比较细致,各部门各司其职,不利于从大局上对软件的质量进行把握。而且,如果在开发的问题上双方出现分歧的话,开发部门自己的质量测试报告的效力就会打折扣。因此,对于大型IT项目而言,最好的办法就是引入专业的第三方质量测试机构,来保证过程和结果的客观性和公正性。而且从测试技术和解决方案上,专业的质量测试机构也更先进和全面,可以提供更为可靠的质量保证。

  在中国,专业的软件测试服务目前尚处于起步阶段,能提供大型项目质量测试服务的机构更是少之又少。专业化的质量测试服务机构,必须具备下面三个条件:1、有先进的、完整的软件质量测试管理理念;2、结合先进的测试技术和工具,有一套完整的实用的质量测试解决方案;3、拥有一批行业经验丰富,测试水平高超,项目管理能力很强的咨询实施团队。

  具备这三个条件的神州数码质量测试事业部,敏锐地看到了这个市场商机。事业部前身是神州数码ITS项目管理中心。多年的项目监理、质量保障和测试管理经验,让其具备了深厚的专业功底,并建立了基于IT系统全生命周期的质量测试解决方案。顺应市场的呼唤,2004年初,事业部正式成立开始走入质量测试领域,为大型应用系统提供来自第三方专业的咨询实施服务。

  建设银行总行,十分注重自身的IT系统质量,其信息化水平在业内也属于领先地位。他们采用的策略是针对重点系统进行性能测试,验证各种系统在不同使用条件和压力下的性能表现,跟据性能测试进行系统性能优化,包括对用户行为、硬件和软件参数配置、数据库和代码的优化。对软件体系结构方面的性能基准测试和咨询。从而确保系统在上线前后都无质量问题。此外,在项目前期通过实施事业部提供的设备选型方案和技术架构验证方案,采用科学化的技术手段和客观的数字分析,来采购最适合的设备和最适宜业务特点的架构,避免了资金的浪费和后期的开发风险。

  事实证明,质量测试是企业IT系统建设健康运转的必备手段。它需要由独立在客户与开发人员之外的专业机构,严格按照客户的质量需求,对IT系统的质量进行全生命周期的监控。

  如何判断IT系统质量是否存在问题?一般的评判标准包含以下几个方面:1、功能,软件的规范和满足用户需求的程度;2、性能,即软件的运行速度和消耗的资源;3、可靠性和安全性,在规定的时间和条件下,软件所能维持其性能水平的程度;4、友好度,软件的学习、理解和使用的方便程度;5、可维护性,当运行条件或者软件本身发生故障的时候,对其进行修正的困难程度。

  系统能不能用,是用户关心首要问题。这就需要功能测试,原则就是不能出错。系统是一个有机的整体,动一指而牵全身。所以,一个细微功能的改变都有可能对系统的其它部分造成重大影响。比如,银行最常见的业务是存、取款,如果因为新的功能加入,造成存、取款业务出现错误,甚至无法完成的话,那么就需要对新加入的功能模块进行修正。针对大量的重复性功能测试,可以采用自动化回归测试方案,每天设定程序自动执行,从而减低人力成本,提供测试效率。

  解决了系统是否能用问题,好不好用就提到了重要位置。也就是性能测试。如果系统不能在规定的时间内做出正确响应的话,就是根本无法投入使用的,再强的功能也只能是摆设。比如,春节时电话和短信的数据量会有一个爆炸性的增长。如果系统性能不过关的话,就会因为不堪重负宣布罢工,这是电信供应商和消费者都不能接受的。性能测试,就是要找出对系统性能起着瓶颈式影响的各种因素并对其进行优化。

  功能再强,性能再好,但如果系统三天两头出故障,同样也是不能接受的,所以需要进行可靠性和安全性方面的测评。

  而友好度和可维护性,都可以通过功能测试和针对性地专项测试来实现。

  总之,IT系统质量的几个因素相互关联。比如,功能的提升,可能会带来可靠性和性能方面的问题。所以,质量测试工作必须从全局的高度出发,平衡各因素的影响,从而系统质量能够满足用户需求。

  针对这点,神州数码质量测试事业部与世界上著名的测试工具供应商,美国Mercury公司在建立白金级战略合作伙伴关系。双方建立了研发级实验室,由Mercury公司提供培训,事业部也依靠强大的研发能力为测试工具开发更为实用的功能插件。同时,作为微软在国内的四个战略合作伙伴之一,在测试外包、行业应用测试、微软平台的开发等领域广泛合作。致力于吸取国外先进质量测试理念和技术,更好的为行业客户质量保证工作尽自己的一份力量。

  从被动测试到主动管理

  然而,测试终究是被动的查漏补缺,没能从根本上解决质量问题,实现标本兼治。如果从IT系统生命周期的源头做起,从过程上做起必然能大大提高软件开发与应用的效率,这就是质量管理。即是从客户的需求开始,主动对IT系统生命周期的产生过程进行质量控制。

  根据业界著名的“V”字型模型,每一项测试工作都与开发的经过是一一对应的。所以需要从需求开始,结合软件质量5个方面的层次需求,按照需求、设计、详设、开发、测试的流程,对软件的质量进行全生命周期的质量管理,这样,才可能把隐患减小到比较低的程度。比如需求,神码质量测试事业部总经理单军说“其实,很多时候,像金融、电信类的大型企业,他们自己困惑,为什么有的测试没有效果?原因是,他们对自己的需求没有明确。由于质量测试的依据是客户的业务和技术需求。需求不准确的话,测试肯定会出问题。所以,我们提出了一个测试需求的概念。”

  建设银行总行,在质量测试事业部的助力下,建立起一套有效的测试体系和管理流程,整合业界最先进的测试管理工具,从测试需求的管理、测试分析设计、测试案例的设计、测试执行、缺陷的管理和报告,确保使每一个需求,都保障得到有效的测试,每一次变更,都保障得到测试的覆盖。对于自身大型IT项目,采用了事业部的测试管理、质量保证方案;创新性地应用了项目群架构关联密集型的测试管理思路,制定了多主线并发测试管理流程,以及目标系统驱动的管理模式,在实际运作中取得了明显成效,有效的控制了项目质量风险,使项目开发更加有的放矢,成果显著。

  所以,将质量管理的理念渗透到IT系统的整个生命周期,是确保系统开发高效、质量可靠的有效保证。

  光明的蓝海

  经过严格的质量管理,苛刻的测试,拿到像神码质量测试事业部这样专业机构的质量测试报告后,也就意味着IT系统在很大程度上是健康的。也许有的人会觉得事业部有今天的成就已经很不错,但事业部这支年轻团队的目标更长远、更靠近客户“金融、电信等高端行业的质量测试业务个性很强,满足客户个性化的质量测试需求,提供更完善的、满足整个IT系统生命周期的质量测试服务,才是我们的目标。”总经理单军说,“我们还要不断努力,用更先进解决方案和技术,更贴心的服务为客户创造最大化的价值,共同开创一片光明的蓝海!”

  “中国的软件开发工作,在测试和质量管理的方面,投入是很低的,这个数据,在国外是30%—50%,要害部门的投入甚至达到了开发费用3—5倍。我们要通过专业化的服务,不断的提升中国企业质量测试意识,真正的为更多的客户提供帮助。”

  路漫漫其修远兮,吾将上下而求索!



posted on 2012-07-30 09:45 顺其自然EVO 阅读(272) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜