UML软件工程组织

 

 

妙用测试管理工具,巧解测试混乱难题

2008-07-10 作者:潘少红 来源:IT168

 

在项目开发团队中,由于资源限制,人们常常敷衍地执行其中的某个活动。经常被忽视的一个活动就是测试管理,这个坏习惯使我在近期一个测试项目中遭受到沉重打击。

测试管理混乱带来的挑战

软件测试的痼疾之一是人们并不清楚究竟该做什么,但却一直忙碌不停地测试,这种情况往往会使测试半途而废,或返工重来,造成很大的损失。一般来说,测试管理应要严格遵循项目活动的内在规律才有可能避免不必要的损失,少走弯路。但常常有许多因素导致项目测试管理出现失控,如何做好测试管理是目前大部分项目团队面临的主要问题之一。

(1)资源管理不善,为测试带来隐患

在软件测试中,通常合理分配和管理测试所需的资源是一件困难的事情,这些资源不光是硬件设备和软件工具,还包括时间和人力资源。例如,在传统手工管理方式下,测试与需求间的关系很难进行跟踪控制,经常出现测试未完全覆盖需求,导致测试不全面的问题,或造成测试资产遗漏,无法对测试资产进行有效的跟踪管理。

另外,测试管理还有一个重要的方面就是时间管理,很少软件项目在开发周期里拥有充足的时间完成许多高水平的测试。通常情况是软件开发生命周期里本来就很短的“测试周期”总是不可避免地会被耽搁。所以,许多项目都很有可能在测试管理上面临时间表和进度的限制。在测试管理中这种限制会不断使测试任务变换优先级,而不断转换工作会为测试结果和测试方法带来隐患。

(2)协调复杂,难以保持测试与开发同步

软件质量需要测试人员与开发人员团队共同协作,但软件开发中总有一个惯例,那就是测试团队的工作只有测试人员关注。实际上,测试与开发同步协调是十分重要:一方面可让开发人员了解当前的测试质量水平以及哪些已经被测试、哪些还没有被测试。另一方面,也是为了有效地使用宝贵时间,让测试团队更及时跟上不断变化的代码、工作版本和环境。例如,测试管理者必须精确识别要测试的工作版本和测试的合适环境,测试错误的工作版本会导致时间的浪费,并严重地影响项目进度。

(3)测试报告信息混乱,严重影响决策和判断

测试报告如果能够为项目传达测试状态和一些质量评定标准,这对项目各成员理解测试工作非常有帮助。因此,测试报告应是十分简洁,能提供恰当的信息。如果报告只有非常少的信息,那么除了对测试团队减少认知缺陷的价值外,项目其它成员也将不能充分了解所表示的质量问题。但从另一方面来说,但如果报告有过多的信息,那么测试信息就变得模糊,项目其它成员对于测试和质量信息的实质了解也将被减少。因此,报告信息混乱,过多或过少都会严重影响决策和判断。

(4)多区域和多团队协调困难,常使测试管理乱成一团

除了软硬件测试等资源以外,还需要管理测试团队。测试管理必须调动和协调团队工作的所有团队成员,对于有多个不同区域和团队合作的项目来说,缺乏有效的测试管理会使到多个区域和团队乱成一团。

为什么需要测试管理工具?

(1)什么是测试管理

测试最重要的是什么呢?我一直认为是有效的测试管理。测试管理包括对人的管理、对流程的管理、对具体版本的管理等。测试要考虑的所有问题都可以列入此列,例如测试人员的分工、测试规程的制定、测试流程的裁减、采用什么的测试流程、测试设计怎样操作、测试执行如何计划、和测试度量怎样进行等。

因此,测试不仅仅是一种技术,不仅仅是开发完成后的验证活动,真正要做好测试,更需要建立起一套测试管理体系。一个测试项目成功需要很多因素,测试管理是其中的重中之重。测试管理包含计划、创作、执行和报告测试,以及如何使测试与软件开发工作的其他部分结合起来。有组织的测试管理将会减少错误而且使得复杂的项目得到更有效的、有力的管理。

(2)什么是测试管理工具

对于测试管理来说有许多令人生畏而且不可避免的挑战,好消息是有大量管理工具可以应对这些挑战。测试管理工具是指用工具对软件的整个测试输入、执行过程和测试结果进行管理的过程,可以提高测试的效率、测试时间、测试质量、用例复用、需求覆盖等。

由于软件项目测试越来越复杂,单纯增加测试人手已不能解决问题,需要一个软件工具来管理测试。软件测试工具的种类繁多,主流的测试工具可分为:测试管理工具,负载测试工具,功能测试工具等等。我的理解是而相比于测试管理工具,其他的具体的测试技术工具都是次要因素,比如各种测试工具、白盒测试、黑盒测试等。这些具体的测试技术都是相对比较“固化”的,测试技术人员都会慢慢的掌握它们。但我们在评价一个测试团队的测试水平,或者在评估一个项目的测试质量时,不会因为这些具体的测试技术掌握与否而断言,更多的考虑应是它的测试管理过程。

一个完整的测试管理工具,应能用于测试的计划、文档和缺陷跟踪等各种测试行为的管理,并能提供对人工测试和自动测试基于过程的分析、设计和管理功能,把应用程序测试中所涉及的全部任务集成起来。包括测试中包含的所有工作,跟踪测试资产中的依赖关系和相互关联,并且能对质量目标进行定义、测量和跟踪。

(3)测试管理工具应具备的功能

①测试计划和进度管理。测试管理工具应能跟踪项目测试工作是否按照预期计划和进度开展,对软件产品从功能分类、分配相关人员、编写测试用例、执行测试用例到生成问题报告的整个测试流程进行系统、有效的管理。项目管理人员可以通过该系统随时了解、监控被测项目的执行进度和软件问题的处理状态,为测试人员和开发人员的工作提供有效的考核依据,保障软件开发和测试的顺利进行。

②测试资产管理。这包括测试计划、测试用例、测试脚本、测试报告的创建与维护、和缺陷跟踪,保证测试资产之间是可跟踪的,一致的。无论是开发人员、测试人员或项目管理人员都可以随时编写、修改和查阅测试用例和软件问题报告,能对测试用例与问题报告进行长期保存以避免流失。对测试用例的编写与执行情况进行全程记录,便于追踪测试用例在各个测试阶段的执行过程,及时调整测试策略与方法。最后,还应提供统一的软件问题报告模板与测试用例模板,使测试人员能够更加准确、详细地编写测试用例与描述软件问题,保证测试用例与软件问题报告描述的一致性,便于积累,分类与查询。

③测试质量评估与报表。测试管理工具应具有实用的统计功能,可以从各种角度建立分析统计报表,以便及时掌握测试执行情况。例如软件问题的有效发现率、有效修复率及各项测试工作的进度。好的测试管理工具必须提供所有相关信息的完整和正确的报告,所有这些测试报告要指导如何对测试工作的不同结果进行分析和沟通,并能帮助不同的项目角色随着项目的进展对变化做出合适反应提供决策,并帮助判断测试的当前状态和质量水平。

测试工具的选择与考察

面对市场上众多的商品化测试管理工具,对测试管理工具的选择就成了一个比较重要的问题。我们在考虑选用工具的时候,建议从以下几个方面来权衡和选择:

(1)功能考量

功能当然是我们最关注的内容,选择一个测试工具首先就是看它提供的功能。当然,这并不是说测试工具提供的功能越多就约好。在实际的选择过程中,适用才是根本。“钱要花在刀刃上”,为不需要的功能花费金钱实在不是明智的行为。事实上,目前市面上同类的软件测试工具之间的基本功能都是大同小异,各种软件提供的功能也大致相同,只不过有不同的侧重点。例如报表功能,查看测试管理工具生成的报告的人员不一定对测试很熟悉。因此,测试工具能否生成合乎要求的结果报表,能够以什么形式提供报表是其中一个考察因素。

(2)测试管理工具的集成能力考察

测试管理工具的集成能力也是必须考虑的因素,这里的集成包括两个方面的意思:首先,测试管理工具能否和开发工具进行良好的集成;其次,测试管理工具能够和其他测试工具进行良好的集成。另外,与操作系统和开发工具的兼容性也需要需要考虑。测试管理工具可否跨平台,是否适用于公司目前使用的开发工具,这些问题也是在选择一个测管理工具时必须考虑的问题。

(3)是否能与现有的测试管理保持连续性和一致性

测试管理工具引入的目的是测试管理自动化,引入工具需要考虑工具引入的连续性和一致性。也就是说,对测试工具的选择必须有一个全盘的考虑,要考虑到公司的实际情况,避免盲目引入测试管理工具。因为并不是每种测试工具都适合公司目前的实际情况,如果怀着美好的愿望花了不小的代价引入测试工具,一年半载后测试工具却成了摆设,就不仅仅是浪费了资金,还会对软件项目开发进度产生严重影响。

(4)是否具备测试团队管理功能

测试管理工具应具有测试团队管理功能,要能根据人员的分工和职能不同划分严格的权限,从而明确测试任务,并保证测试质量。如测试人员的绩效考核、人员的技术定位、人员激励等。

测试管理工具应能有效处理人力资源不足问题或者能更充分利用人员,能协调运用任何人力资源,而不管它们在什么地方。这些重要的人员资源可能存在于不同的地方,这需要仔细有效的协同合作使得大多数测试人员和其他人员参与到测试管理中,对于那些跨越一个或更多场所或测试团队的项目来说,这包括区域场所和团队协调。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号