立师兄Linty 2011-04-18
如何评估自动化测试工作量
美国项目管理专业资质认证委员会主席Paul Grace说:“在当今社会,一切都是项目,一切也将成为项目”。着名管理顾问David Cleland断言:“在当今纷繁复杂的世界中,项目管理是成功的关键。
一切有组织的活动,都可以看做是项目,如果我们把自动化测试看作是一个项目来管理的话,就会发现,其中有许多规律可循。
现代项目越来越朝着大型化、复杂化的方向发展,大大提高了项目测试的难度。自动化测试已经是不可缺少的测试管理之一。如何把自动化测试与项目管理更加紧密地结合起来,是当今测试管理研究的主要课题之一。工作分解结构方法是现代项目管理中的一个先进、有效的方法,是基于系统原理的方法,是测试计划、控制的基础。运用WBS( WBS:Work Breakdown Structure)即工作分解结构方法,可以很好地将自动化测试、更为有效地运用到项目管理中,对项目实行自动化测试管理,提高测试效率。
一、测试项目的分解
项目分解的主要目的是为项目测试控制确定具体的控制对象以及相应的控制目标。项目目标系统中的工期、费用和质量是项目控制中的主要控制目标。
1、分解机构(WBS)
项目的分解结构(WBS)可以将项目分解成可以管理的工作单元――工作包,从而能够更容易也更为准确地确定这些单元的费用和进度,明确定义及质量要求。
WBS方法是一种全面地、系统地分析项目的有效方法,也是项目管理的基础性工作。在项目中应将项目系统分解成可管理的活动。分解的结果被称为项目分解机构,即WBS。
关于WBS的定义,最早可从美国国防部国防系统开发工作的手册中得到解释:即工作分解结构(WBS)是一个以产品为中心的层次体系,由硬件、软件、服务和资料组成。它完全确定了一个项目。在确定的产品单元时,系统项目起着关键性的作用。 WBS显示并确定了要研制或生产的产品,并将要完成的工作单元与最终的产品联系起来。具体可分为纲要性WBS、项目纲要性WBS、合同WBS和项目WBS等四类。
WBS作为项目管理的基础性工作,它的建立必须体现项目本身的特点和项目管理组织的特点,必须遵守整体性、系统性和可追溯性的原则。在对一个具体的项目的WBS设计时,要注意其三个基本要素的设计,即结构、测试代码和测试报告的设计。
2、工作包模型
工作包模型的基本构成单元是不作包。而工作包则是用项目分解结构对项目分解后,在分解结果的基础上形成的。该模型的主要思路是将“工作包”作为项目控制的具体的基本对象。每一个工作包的基本内容是由一项或几项项目活动或分项项目构成。工作包能作为工期控制的基本单元,同时将费用控制体系的控制帐户和质量控制体系的基本单元也建立在工作包上,这样每个工作包就能够作为项目控制项目中各单元控制的共同的具体控制对象,并为项目进展情况综合信息(工期、质量、费用信息)的采集、传递提供了共同的基础,保证了控制过程所需的信息来源的单一性和集成性。由于每个工作包具有上述属性,因而由其组成的层次结构体系便不仅能反映项目的整个生产过程,而且能反映其所有特性,内部相互关系和控制目标要求,从而成为项目总体控制对象体系,并能支持项目控制的全过程。
工作包模型建立后,就可以对各工作包进行测试,利用数据库技术对项目进行集成化管理。项目的分类和测试是否适合,对计算机能否在项目管理中得到广泛应用,显得尤为重要。
二、项目信息的分类体系
信息分类体系是建立一个合适的WBS基础。由于不同的项目参与者都是从自己所从事的行业出发,理解项目并制定信息分类体系,而这些信息分类体系所对应的测试体系一般各不相同,参与方会按自己的一套测试体系来测试WBS,这就影响了项目参与各方的信息交流,严重影响了自动化测试的应用。
WBS与传统进度计划的主要区别在于,WBS是项目所有工作的集合,而传统进度计划一般不包含项目管理元素。最通俗的讲,WBS就是把一个项目的所有工作任务按照层次(树型结构)进行排列,从树状结构逐步到分面结构,再到树状与分面结构的混合方式。这种变化反映了项目测试管理所涉及的内容正逐步增加。可以一目了然项目的范围,以及任务之间的关系
这种分类体系基本上采用了ISO技术报告的框架,并在其基础上进行了细化。这种分解体系最大的特点是层次清晰,简单明了,突出重点,按照不同的重要级别划分项目,有利于对项目的控制,且包含了所有的软件项目,适应于 WBS的编制。WBS按照这种方式分解,并在此基础上形成测试体系,便于具体项目的应用。
自动化测试的内容与方式
自动化测试的主要内容包括对项目分解体系的测试,从时间上对项目实施全过程进行分解的测试,对不同的功能模块、数据库、系统架构等进行测试。
自动化测试可采用需求分析、场景分析、流程分析、案例生成、执行测试、测试报告等组合流程。简单的测试如树状结构,这种结构有利于信息的汇总,上一级的测试是下一级所有测试的汇总,但这种分类方法存在着扩展性欠佳的问题。比较复杂的测试方式如分面结构,把测试分成不同的部分,如同积木,各个部分结合起来才有完整的意义。这种结构具有可扩展性。第三种测试方式是前两种的混合,即在同一“面”保持树状结构,改善汇总功能;但仍采取不同面的组合方式,以增加其扩展性。但项目的具体测试形式是随项目的类型和特点而定的,具体情况应具体对待。
上面几种测试方式都已出现在不同国家和地区的项目测试体系中。随着测试水平的提高,目前国际上的研究倾向于采用第二种测试体系,都须具备稳定性,兼容性和灵活性的原则。