软件质量一个很重要的部分就是测试和验证软件有效性的流程。测试管理是组织和控制测试工作所需的流程和工件的实践。用于测试管理的传统工具包括:
笔和纸 字处理程序 电子数据表更大的测试工作可以使用自己开发的软件测试管理解决方案,通常建立在电子数据表或数据库或者像 IBM® Rational® ClearQuest® Test Manager 或者 Mercury TestDirector 这样的商业测试管理应用软件的基础之上。
测试管理的整体目标是允许团队在整个软件开发工作里计划、开发、执行并评估所有的测试活动。这包括调整测试工作中包含的所有工作,跟踪测试资产中的依赖关系和相互关联,并且最重要的是对质量目标进行定义、测量和跟踪。
测试管理可以被分成几个不同的阶段:组织、计划、创作、执行以及报告。这些在下面有更详细的描述。
测试工件和资源组织是测试管理中显然必不可少的部分。这需要组织和维持测试项目的详细目录,以及用来执行测试的各类事物。这表现了团队如何跟踪测试资产中的依赖关系和相互关联。需要管理的测试资产中最普遍的类型是:
测试脚本 测试数据 测试软件 测试硬件测试计划是回答为什么测试、测试什么、在哪里测试和什么时间测试这些问题的全部任务设置。创建一个特定测试的原因被称作一个测试激发因素(例如,必须确定一个特定的必要条件)。为了一个项目需要被测试的内容被分成许多的测试用例。在哪里测试通过决定和记录所需的软件和硬件配置来回答。什么时间测试通过跟踪测试的迭代(或者循环,或者时间周期)来解决。
测试创作是获得完成给定测试所需特定步骤的过程。它回答了如何测试的问题。这里是一些稍微抽象的测试用例被分成更详细的测试步骤的地方,这些步骤将变成测试脚本(要么是人工生成,要么自动生成)。
测试执行通过将测试脚本的顺序集合成测试套件来运行这些测试。这是对如何测试这一问题的后续回答(更为准确地说,是如何管理这些测试)。
测试报告是指如何对测试工作的不同结果进行分析和沟通。这用来决定项目测试的当前状态和应用软件或系统的质量的整体水平。
测试工作将产生大量的信息。在这些信息里,可以提取为项目定义、度量及追踪质量目标的方法。不管使用什么沟通机制,这些质量度量方法需要被传递给其他项目作为测试度量的基础。
测试产生的一个非常普通的数据类型是缺陷,它通常是质量度量方法的来源。缺陷不是静态的,而是随着时间在变化。此外,多种缺陷总是互相关联的。有效的缺陷跟踪对测试和开发团队来说都是十分重要的。
测试管理中的其他因素
除了软件和硬件测试工件和资源以外,必须管理 测试团队。测试管理必须调动致力于团队工作的所有团队成员的积极性。这需要对测试人员和工件控制 用户安全和进入许可。对于那些跨越一个或更多场所或团队的项目(这将迅速成为规范)来说,这也包括组织场所和团队协调。
一个项目的特定测试流程对于测试管理来说意义十分明显。对于一个迭代的项目,测试管理将必须提供基础并重复地指导计划、执行和测试评估。而后,测试策略也将必须遵循测试管理框架。
相关的软件开发规程
虽然软件开发中所有的过程都与测试相关联,有几个与测试的关系尤为重要:
需求管理 变更管理 配置管理需求管理是大多数测试工作的先驱,提供了大量的测试动机和确认需求。一个项目特定的需求管理流程对测试管理流程有重要影响。这种关系类似于一场接力赛,第一个跑的人代表着需求管理,下一个接受接力棒的人代表测试管理。IBM® Rational® RequisitePro®是发现、记录、组织和跟踪需求说明的工具。更多的信息可以在 IBM® developerWorks® Requisitepro 资源页面上找到。
变更管理影响软件开发的全部过程,但是被跟踪的与测试工作最相关的变更是缺陷。缺陷是测试与开发之间最常见的主要通信渠道。从缺陷得出的计算和方法也经常被用作质量度量方法。ClearQuest 是一种贯穿整个软件开发周期中用于管理诸多类型的变更和活动的强大的、高可配置的工具。更多的信息可以在 IBM® developerWorks® ClearQuest 资源页面上找到。
配置管理对于测试管理来说很重要,因为在什么时候对哪一个要测试的版本进行跟踪对测试来说至关紧要。配置管理为测试执行控制着由测试管理跟踪的工作版本和环境。IBM® Rational® ClearCase® 是主要的配置管理工具。更多的信息可以在 IBM® developerWorks® Clearcase 资源页面上找到。