摘要:对
软件测试过程的管理可以从
项目管理的角度出发,在横向视角下分析,应先按照过程模型来认清测试过程本身,对测试过程进行
配置管理、对测试过程进行有效评价,测试风险分析与测试成本管理。
关键词:软件测试;过程管理;项目管理;测试管理;
1、软件测试过程概述
软件测试在软件开发中 占重要的地位,它关乎所开发软件的总体质量,它是保证软件可靠性的重要手段。软件测试目的是找出软件的缺陷,并对缺陷进行分析和管理,从而消除缺陷,并为 软件的评价及决策提供依据。软件测试过程从理论上来说是一种抽象的模型,主要用于定义软件测试的方法和流程,从实际操作层面上来看,它包括测试需求分析、 测试策划、测试设计与实现、测试实行和测试总结,并对以上步骤进行精炼,最后抽象出很多种软件测试过程模型,常见的模型包括V模型、W模型、H模型,X模 型、前置模型等。
各种模型为软件测试提供了参考,在实际测试过程中根据模式灵活应用,加强对整个测试过程的有效管理。软件测试过程的质量将直接影响测试结果的准确性和有效性。软件测试过程和软件开发过程一样,都遵循软件工程原理,管理学原理等。
2、软件测试过程管理概况及存在的问题
2.1 软件测试过程管理概况
软件测试过程的有效管理是测试成功的重要保障,它是通过一定的管理方法和工具对整个软件测试过程进行监控,从而提高软件产品的质量。测试过程包括技术过 程、管理过程和支持过程三大部分,对测试过程的管理主要是测量和分析软件测试过程的有效性和效率,进行基于度量的软件测试过程的持续改进。软件测试过程管 理的目的是对软件产品的整个测试流程中所涉及的方法、技术、人员、活动本身进行控制和管理,通过有效的管理确保软件产品的质量基础上提高开发效率。可以提 高机构的软件开发能力和软件产品测试的管理水平,强化企业的管理理念,提升开发机构市场竞争力,有效的过程管理是软件测试团队实力的体现,是软件企业制胜 的法宝。
2.2 软件测试过程管理现实所存在的问题
目前,多数软件组织对测试的定位都非常模糊和局限,认为软件测试就仅仅是测试用例的一些实际执行过程,没有系统的测试管理思想和良好的测试管理工具,以至于对测试方法与测试策略显得没有针对性和计划性,整个测试过程显得“虎头蛇尾,马虎了事”。
有些对测试过程认识不够系统,将测试活动看作功能测试或性能测试,所使用的测试工具大多也只集中于软件功能测试和结构测试,而缺乏对软件测试过程管理的全面支持,没有对整个过程进行系统的管理。
目前使用的软件测试管理工具种类繁多,其中市场上主流的软件测试管理工具有:Test Link(开源组织),HP Quality Center (Test Director),Test Center(上海泽众软件出品),IBM Rational Test Manager等软件。诸如此类测试管理软件大都按照软件测试在整个软件生命周期中的位置来管理测试需求、测试计划、测试执行以及软件缺跟踪。在整个软件 测试过程中,软件过程管理很自然地倾向于从纵向上着眼,从而疏漏了横向视野下的软件测试管理成分以及各成分之间的关系。
3、横向视角分析软件测试过程管理
首先,分析软件测试过程管理要立足于软件项目管理,从横向上审视测试过程是对软件测试管理的重要补充。针对测试的每个阶段进行的测试过程评价管理、依据测试过程进行配置管理、测试风险分析管理与测试成本管理。
3.1 测试过程评价管理 软件测试评价管理由测试过程的观察、判断、分析和管理构成。整个评价活动包括:确定评价需求、编制评价规格说明、制定评价计划、执行评价计划和 得出评价结论。各阶段的评价活动根据各阶段的特征来开展,需要管理好评价过程的输入(请求者提供的软件说明书、软件的部件和评价者提供的预先确定的评价说 明、评价方法和工具)和输出(评价记录、评价报告草案、评审后的评价报告)以及评价中所涉及的文档包括:评价需求、评价规格说明、评价计划和评价报告等。
3.2 软件测试配置管理
测试工件管理是软件测试管理的基本内容,是降低软件测试混乱程度、增强测试过程可见性和降低风险的重要举措。软件测试过程中涉及到许多测试工 件,每个测试工件都可能演化出不同的版本,不同的测试工件之间存在复杂而易变的关联关系,测试工件具有易变特性。在软件测试过程中从测试各阶段横向上把握 配置管理,具体包括各阶段配置项标识、配置项控制、配置项状态报告和审计。
3.3 软件测试成本管理
成本管理对于整个项目尤为重要,软件测试中的成本管理就是根据企业的情况和软件测试项目的具体要求,利用公司既定的资源,在保证软件测试项目的 进度、质量达到客户满意的情况下,对软件测试项目成本进行有效的组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低软件测试成本,提高 项目利润。测试成本的管理以测试产能的最大化为目标,对各阶段的准备成本、成本控制、结束成本和维护成本进行管理,以提高投资回报率。根据测试过程中各阶 段成本要求来管理资源计划、成本估算、成本预算和成本控制。
3.4 测试风险分析管理
测试风险分析是对辨识出的测试风险及其特征进行明确的定义描述,分析测试风险发生可能性的高低,分析测试风险发生的条件等。高质量的软件测试过 程管理要求对测试风险分析进行全面管理以更好地掌控风险,减少风险所带来的危害。软件测试过程中各阶段都存在风险包括:对软件的需求描述不准确所带来的风 险,质量目标不清晰所带来的风险,计划编写不准确带来的风险,人的风险,测试环境的风险,测试工具以及用例存在的风险。测试过程管理需要把风险纳入管理范 围,从每个阶段横向分析,对风险进行全面识别,深入分析和有效监控,以规避风险。
从横向视角下分析软件测试过程管理需要兼顾到横向上各个管理成分之间的关系。测试过程评价是对软件测试过程的整体把控,有效的软件测试评价管理 监控着软件测试配置、测试成本和测试风险三方面管理。风险管理是测试的直接目的,降低风险才能提高测试效率和质量。软件测试配置管理和测试成本管理是软件 测试管理中的重要内容,配置项的管理涵盖软件测试中的主要用例和接口,指向测试过程所使用的工件内容管理,测试成本管理维持整个测试过程的平衡。从横向视 角上分析软件测试过程应将整个系统中各个管理内容联系起来从整体上分析。
4、结论
软件测试过程管理需要纳入到软件项目管理这个大环境中思考,以系统工程学和管理学的理论知识为指导,对整个过程进行全面的审视。结合横向视角下 软件测试过程管理,从系统工程角度出发,才能对测试项目的进行更全面的分析,才能更清晰认识测试过程本身。横向视角下分析软件测试过程,不仅影响测试工具 和测试策略的选取,而且对软件测试过程管理工具的开发有其指导意义。