组织级软件测试项目管理——做好软件测试的关键--解惑IT项目管理

来源:百度文库 编辑:神马文学网 时间:2024/04/29 06:16:17
 

对软件测试的三个认识误区

 

正确认识测试及其重要性是做好软件测试的前提,当前国内IT行业对软件测试有三个典型认识误区。

 

一、软件开发商已经做了测试,再有业务人员把把关就行了

软件大多都是外包给软件开发商,这是当前国内IT行业的多数甲方的现状。但开发商既做测试又做开发,“既当运动员,又当裁判员”的执行模式就决定了这些软件难以得到专业公正全面的测试,由于开发商可能还负责运维,一些重大漏洞缺陷可能依靠某些人为的方式一直未曾影响系统运行,一旦离开某几个技术人员,系统就玩不转了。另外,开发商为了节省成本,缩减开发人员和测试工作量,迫使项目组让新的系统“带病上线”,“先上线再改错”是常有的事。

         在当前软件系统所涉及的业务种类繁多,高度关联耦合,复杂度极大这样复杂的局面下,简单的业务验证绝对不能代替专业化的软件测试。由于软件系统质量问题导致的经营损失,肯定是由甲方来承担的。这种“命运掌握在别人手中”的游戏规则,肯定不应成为明智的甲方的选择。选择独立的专业团队进行软件测试是做好测试的关键,但需要说明的是,如果独立的测试团队连被测系统版本及其运行环境依然受制于开发商,不能独立控制,这不是专业测试。因为测试过程中被测系统随时都能被开发人员改动,这样达不到应有的测试效果。

2、软件测试简单,让谁做都一样

         对于不了解测试的国内很多人来说,这是个非常常见的“错误”认识。确切来说,软件测试执行相对来说比较简单,但测试分析、测试案例设计和测试管理绝对是一件集“知识、经验、技术”于一体的高智慧复杂技术工作。“测试就如看病”,庸医名医都是看,但结论却有天壤之别。

国外成熟的软件开发团队的测试人员几乎都是在软件开发领域有着多年,甚至数十年经验的资深设计者、程序员来担任,比较典型的就是所谓的“骇客”。神州数码信息服务集团集成服务战略本部的质量测试事业部员工拥有多名博士,50多名硕士,10年以上工作经验的资深工程师占据了团队的1/4强,无论是项目经验还是团队学历构成比例上,都远远领先于国内同行。

3、软件开发已经投入够多了,测试能省就省吧

         领导如果对软件测试有这样的认识,将是一件非常危险的事。按照国际软件行业的最佳实践总结,测试通常要占整个软件总成本的40%,而我国多数行业应用软件的测试成本却还不到总成本的10%,某些行业的专业应用软件测试开销甚至更少。质量问题容不得“缺斤短两”,缺少必要的投入就会导致必然的经营损失,侥幸心理更是诸多重大灾难的根源

 

组织级测试管理体系

 

化繁从简,本文从三个维度来描述组织级测试管理体系:一、方法论和体系流程——制度标准;二、专业技术和工具;三、管理组织——专业团队。

 

首先说制度标准。没有制度标准,必然是手工作坊式的工作,靠个别人的管理能力来维系团队工作,个别人的工作变动会影响整个组织的工作。神州数码的组织级测试管理体系制度标准分为4个层次,内容如下:

一、“测试管理办法”是测试管理工作的总纲,定义了测试工作涉及到的组织、职责、分工和总体流程;

二、“测试管理规程”是对测试管理办法的细化,定义了从测试规划和设计、测试需求分析、测试构建、测试执行、测试结果等过程中涉及到的角色、活动;

三、“测试规范”明确定义了测试过程中的技术规范、技术标准、分析方法、度量指标以及相应的文档模板;

四、“工作指南”提供测试相关具体工作的工具操作手册、测试分析、测试方法、经验总结等。   

 

管理制度是组织管理的灵魂,必须量身定制才可能有效。以上四个层次,既有宏观指导的总纲办法,又有具体落地执行的操作指南,概括了组织级测试管理的方方面面,集现代管理思想与众多工程技术人员多年的最佳实践于一体,可以根据企业的具体情况灵活定制。

 

软件测试是一项专业性极强的工作,具有自成体系的专业技术和相关工具,并且随着软件开发设计技术的变化在不断演进。测试过程中使用工具不可避免,因此如何采购或者开发一些工具软件是很多甲方必然要面临的问题。在此,有三条建议供参考:

一、选择工具不要贪多求全,够用就行。

基于笔者多年的实践观察,测试和测试管理工作都是随着企业测试部门的业务越来越深入,越来越广泛,越来越复杂,对工具的需求也是不断扩大不断变化。结合测试团队发展步骤和实际需要,逐步完善工具种类和功能是比较理性的选择。即使企业“不差钱”,但软件技术发展日新月异,买一堆东西过了两年就过时不用也是得不偿失。

二、已经熟悉的工具要发挥其最大价值。

由于工具的专业性,很多功能需要花上相当长的时间才能学会使用,真正发挥效率可能需要更多时间。工具选择不宜赶时髦,与其更新一套不熟悉的软件,不如把已有的工具改造升级,或者与其它工具集成,扩展功能。这样将大大降低学习曲线,便于团队快速高效的完成工作任务。

三、测试管理工具筹建要有完整体系

测试及测试管理绝不是一件简单的事情,组织级的测试管理在工具层面也要成体系。

首先要明确完整的管理内容。无论大小项目,测试需求、被测软件版本、测试案例、测试缺陷、测试场景的管理都必然是管理核心,测试数据、测试环境、测试脚本等在测试项目和测试团队庞大复杂时也需要进行专业管理,对于长期持续进行的组织级测试,覆盖任务计划管理、人力资源管理、沟通管理、风险问题管理、测试知识资产的持续管理的组织级项目管理也会需要。

其次要明确管理的周期。测试是软件生命周期的重要一环,覆盖从需求诞生(严格来说需求也要进行审核测试)到软件不断版本更新直至最终版本产生的全过程,因此,要做好测试,就必须做好应用的全生命周期管理。

量身定做的平台充份利用现有资源,发挥人员、工具、资产的协同效应,使工作过程透明化,保证了信息的准确性、唯一性、一致性,充分有效的保护软件资产,强化IT治理,提升了组织的创新能力。

 

专业人才是完整的管理体系必不可少的一部分,包括技术和管理人才。但人才培养的确非一朝一夕,另外从各自行业的特点来看,是否需要培养大量的专业测试人员也是需要甲方综合考虑。选择第三方专业测试服务商是一个选项,既能节省资金,又能短时间内完成必要的测试任务,但从长远来看,对于每个系统的测试案例、测试结果等测试相关的知识资产是需要伴随软件的版本更新重复使用的,必须有持续良好的管理,不能因测试团队人员的流动而流失。因此,测试管理人才和一定数量的测试技术骨干还是需要自己培养的,一方面便于选择高质量的第三方测试服务商并进行专业合作,另一方面也能确保知识资产得到良好管理保护,当然还有其它好处。