UML软件工程组织

 

 

使用 IBM Rational ClearCase 对测试资产进行管理
 
作者:Michael Kelly ,Tony Hutson 来源:IBM
 
本文内容包括:
本文讨论了几种不同的有关管理测试资产的策略,这些资产来自于您的测试数据存储库,如测试脚本,测试计划,手工测试用例,数据池以及日志文件。

介绍

您是否在寻找一个同时管理多个并行开发工作的方法,或者仅仅寻找一个自动管理和追踪测试资产的方法,IBM® Rational® ClearCase®可以帮助您来实现它。在本文中,我们将会看到几种不同的用于管理测试资产的方法。我们曾经讨论过几种管理测试资产方法的优缺点,在这里我们将看到如何使用ClearCase来实现它们。本文适用于那些已习惯于Rational工具和那些熟悉ClearCase的用户,而不是针对那些从未使用过测试资产配置管理(CM)的客户。

在进入到案例之前,我们将回顾一些基础的配置管理的概念。在此之后,我们将比较几种不同的针对测试工件而创建的CM开发环境策略,并且我们将为您介绍一些案例。最后,我们将为您提供一系列的资源,可以使您获得更多有关此篇文章的信息。

您可以快速地跳到适合于您目前水平的部分。如果我们没有涉及到所谈论的某个方面的细节,我们将尽量为您提供相关知识的链接。

什么是测试资产?

测试资产是被测试或QA团队开发的任何一种工件。在IBM® 的 Rational 统一过程 (® RUP®)中,它包括以下的工件 (在RUP中按照角色分组):

artifacts grouped by roles in RUP

实际上,测试资产涉及通过 Rational TestManager 中的测试资产工作台和通过 Rational Software Quality 工具访问的工件:

Test Asset Workspace in Rational TestManager
Rational TestManager 中的测试资产工作台

在本文中,我们将讨论如何为您管理Rational测试数据存储库中的所有资产。如果您还有存储库之外的测试资产,可能您需要修改在本文中提供地给定指令,或者您需要把它们重新部署在测试数据库中的某个位置。在我们解了CM开发环境中是如何使用测试资产的例子之后,我们将考虑测试脚本,测试用例,手工测试用例,数据池和日志文件。

什么是配置管理?

那么,什么是配置管理和变更管理呢?您又如何利用它们支持您的测试工作?

配置管理和变更管理,用最简单的术语描述就是,管理谁变更了资产,何时变更了资产,为什么变更资产。此外,配置管理支持追踪工件的版本,创建和重新产生产品基线,并且支持并行的和多地域的开发。

每一个项目都有一个配置管理流程和开发环境,虽然它可能不是可实践的,文档化的或者可重复的。一个"优秀的"配置管理流程应该满足以下要求:

  • 为软件开发创建一个稳定的环境,为团队成员提供独立的编写和测试代码的开发平台,并且使他们可以将自己的变更在准备就绪时引入团队环境中。
  • 定义并加强项目策略,例如,谁被授权对工件进行更改。
  • 记录哪一个人何时为什么变更工件的的审计痕迹。
  • 随着团队扩大而相应地扩展。
  • 支持异构的,地理分布的并行开发。
  • 增加团队生产力,缩短开发周期。
  • 确保高质量产品的开发。

当今软件开发团队面对的最大挑战是缺少优秀的,可重复的以及实用的配置管理流程。我们过去的团队开发环境疏忽了上面所述要求,它可能致开发工作变得混乱。规模越庞大的开发工作在项目的进度,成本上越会导致严重的负面影响,最终导致推迟上市时间并且使产品的品质下降。

统一变更管理(UCM)

Rational 统一过程将 UCM 定义为 "在软件系统开发(从需求到发布)的过程中管理变更的Rational 软件的方法。UCM跨越了整个开发生命周期,定义了如何管理需求、设计模型、文档、组件、测试用例以及源代码的变更"。

在Rational SDP中支持UCM开发环境的工具是 ClearCase 和IBM® Rational®ClearQuest®。 ClearCase 提供一个安全的用于存储项目工件的存储库。它支持并行开发。它管理开发过程中所有的工件,从设计模型和代码到对由于执行一些活动而发生变更的工件的测试。此外,它还为开发过程中的相关行为提供可追踪性,比如调试一个缺陷或实施一个改进请求。ClearQuest提供了缺陷和变更跟踪以及报告功能,报告功能使项目团队的每一个人都可以了解开发生命周期中的任何点上的实时项目状态。

我正在使用什么工具?

在本文中,我们将使用 ClearCase 的 UCM 模式去建立一个项目,我们将会使用以下工具:

  • ClearCase Administration Console -- Versioned Object Bases (VOB)的管理工具,例如,用于存储您的版本化资产的安全存储库,视图,ClearCase 日志文件和计划工作。
  • ClearCase Project Explorer -- 您可以使用这个工具创建、管理、执行和浏览有关 UCM 项目的信息。
  • ClearCase Explorer -- 此工具提供了处于源码控制下的文件和目录的透明访问,并且通过它您还可以发出ClearCase命令。
  • Rational Administrator -- 此工具用于创建和管理Rational工具生成的工件之间的追踪关系,例如IBM® Rational® RequisitePro®数据库,Rational Test数据存储库,ClearQuest 数据库,以及IBM®Rational®Rose® 可视化模型。

您可以在本文最后资源部分的链接中找到更多的有关这些工具的信息。

使用 ClearQuest的UCM模式开发软件,超出了本文的范围。如想获得更多相关信息,请参阅:

IBM Rational ClearCase - Developing Software,v2003.06.00 及更新版本 (Windows)
ftp://ftp.software.ibm.com/software/rational/docs/v2003/cc_family/cclt_pdf/ucm_dev.win.pdf

安装

以下步骤已经通过 Rational® ClearCase LT® v2003 和 Rational® Suite Enterprise v2003 进行了测试,运行环境是 Microsoft® Windows XP Professional 和 Microsoft® Windows 2000。我们假定,您已经安装了我们的工具并且进行了初始的工具配置。

第一步,我们将要创建 ClearCase 环境。完成后,我们通过创建测试数据存储库和测试资产生成基线来创建Rational项目。此部分提供详细的指导,为用户展示如何配置ClearCase环境和Rational项目。

但是,在开始之前,我门先引入一些关键的概念。

ClearCase在一个名为Versioned Object Base (VOB)的安全存储库中存储被版本控制地的工件。VOB 在称为source pool的数据池中存储工件的源代码,可以是一个二进制或者文本(ASCII)文件。对于文本文件来说,ClearCase 在独立的数据存储库中的存储文件版本之间的不同(或增量)。ClearCase还有在一个称为cleartext pool的用于存储每个文本文件最新版本的缓存。大部分时间这些存储池对最终用户是透明的。

ClearCase Administration Console

  1. 通过 All Programs > ... 启动 ClearCase Administration Console
  2. 在控制台所显示的目录树中选择 VOBs 图标
  3. 在菜单中选择"Action > New > VOB"创建一个新的VOB。这时就打开了一个VOB创建向导。

Create a new VOB by selecting Action > New > VOB from the menu.

  1. 在VOB创建向导界面中,输入新的VOB的名字,test_assets,并且点击Next。
    提示:VOB 的名字必须是唯一的。

the VOB Creation Wizard

  1. 在此步骤中,我们接受默认选项"Allow this VOB to contain multiple components" 。然后点击 Finish,ClearCase 会创建 VOB。
  2. 浏览一下确定对话框中的信息然后点击OK。
  3. 在之后出现了"Creating VOB" 的确定对话框,点击 Close。
  4. 关闭 ClearCase Administration Console。

ClearCase Explorer

下一步,我们将会使用ClearCase Explorer来创建视图, ClearCase 将被用于为我们的项目创建测试资产组件。在我们做这件事之前,我们将解释一下ClearCase视图和UCM流的概念。

我们之前讨论过,一个VOB存储了受控工件的版本。一个保留了ClearCase活动的痕迹(例如,引起对版本化工件变更的事件或操作)。流可以使多个用户访问并且可以创建与流相关联的基线。一个视图是一个流的一个特定配置,它可以指定每个文件元素的哪个版本应当呈现给一个给定用户。用户为了看见VOB中的不同的项目可以创建多个视图。在ClearCase中,视图既可以是动态的(通过一个网络映射驱动器寄生在ClearCase服务器上)或者是快照(存在于客户端的本地机器中)。动态视图可以进行自动更新,透明地并且可立即让用户看到工件的变更。快照视图要求用户只能在本地编辑项目,然后再把它们复制回原版本中并更新。然而,在这个例子中,我们使用ClearCase LT,它只支持快照视图。

  1. 打开 ClearCase Explorer。
  2. 从浏览器窗格中,选择 "Base ClearCase" 页面。

Select the Base ClearCase page.

  1. 接下来在 "Base ClearCase"页面选择"Create View" 图标。它打开了"View Creation" 向导。

Opening the View Creation wizard.

  1. 在"Choose a Project"步骤,选择"No" 并且点击Next。

Choose a Project step

  1. 在"Choose Location for a Snapshot View"步骤,接受默认的路径并点击Finish。
  2. 检查确定对话窗口并点击 OK。进入到 "Choose Elements to Load"对话框。

the Choose Elements to Load dialog

  1. 在可用元素列表中选择"test_assets",并把它加载到可选元素列表。点击OK。
  2. Rational ClearCase 创建了这个视图并显示 "View Creation Status"对话框。点击OK。
  3. 您现在可以在浏览器窗格中看见这个新的视图,VOB的根目录可在文件夹窗格中看到。

Browser Pane with the root of the VOB visible in the Folder Pane

我们现在要从ClearCase Explorer中离开;我们稍后将再次访问它去创建我们的集成视图,所以我们可以把我们的工作交付出去并使团队中的其他成员可以看到它。

ClearCase Project Explorer

  1. 打开 ClearCase Project Explorer,并且展开Explorer 目录树中的Projects文件夹。

Expanding the Projects folder in the Explorer tree

  1. 下一步,右击Explorer树中的Components文件夹,并在一个VOB中选择 "New > Component",这时将打开" 在VOB中创建元素" 的对话框。

the Create a Component in a VOB dialog

  1. 在VOB列表中选择 "test_assets" ,并且输入 "test_assets" 作为新组件的名字。然后输入 "test_assets" 作为Root Directory的名字。点击OK。
  2. 然后 ClearCase 显示"Choose a View" 对话框。

the Choose a View dialog

  1. 选择我们在ClearCase Explorer中创建的视图,在本例中是"Administrator_view"。点击OK。

Selecting the view we created in the ClearCase Explorer

  1. 我们现在可以在VOB的组件列表中看见新的组件,test_assets。

下一步是创建一个UCM项目。UCM项目将会储存我们项目的信息,如组件配置,项目基线,以及流和它们相关联的视图。

  1. 在ClearCase Project Explorer中,右键点击Explorer 目录树中的Projects文件夹,并选择"New > Project..."。从而启动"New Project" 向导。
  2. 输入如下显示的项目名称和且如下所述的内容,点击Next。

Entering the project name and description

  1. 在"New Project" 向导中,选择No,并点击Next。
  2. 在"New Project"向导中点击Add。然后会出现"Add Baseline"对话框。

the Add Baseline dialog

  1. 选择"test_assets" 组件。点击 "Change >>",并为"From Stream" 字段选择"All Streams" ,点击OK。
  2. 您现在应当在"Make the following components modifiable"列表中看到"test_assets" 组件。点击Next。

the Make the following components modifiable list

  1. 选中"test_assets"组件以使组件可以进行更改。这让我们可对组件进行修改,比如增加新的文件或者创建新的版本。点击Next。
  2. 在步骤5中,接受默认选项并点击Finish。
  3. 检查一下确认对话框并点击OK。
  4. Rational ClearCase 创建了一个新的项目和集成流,如下所示。

the new project and the integration stream

  1. 关闭 ClearCase Project Explorer。

ClearCase Explorer - 再次访问

接下来我们要做的事情是创建一个与我们刚创建的流相应的视图。如果您已经对UMC很熟悉的话,您需要忘记您所了解的有关在客户端机器上创建视图的方法。

在这个例子中,我们将为多个用户访问创建一个共享的视图。这意味着我们将要设置一个所有用户(在此例中,是所有测试人员)可以获取数据的位置。此外它还是一个项目数据集中的位置,在创建Rational项目和测试数据存储库时这个视图将被Rational管理员使用。这个视图应该在一个所有要求访问测试资产的用户可以访问的位置,负责基线化项目资产的项目技术负责人应当创建这个视图。

要创建视图:

  1. 返回到ClearCase Explorer。
  2. 在浏览器界面选择"Toolbox"标签,并且选择"Base ClearCase" 页面。
  3. 接着,选择"Create View"图标。这将再一次打开"View Creation"向导。

Opening the View Creation wizard

  1. 对于 "Will this view be used for working on one of the Projects described in the ClearCase project tree?" 选择 "Yes",从项目列表中选择SampleProject,并点击Next。

Selecting SampleProject from the list of projects

  1. 取消选中"Create a development stream"复选框。一个开发流允许对一个受控工件进行并行开发;但是,Rational测试工具在此时不支持并行开发。点击Next。
  2. 在向导的最后两个步骤,接受默认的信息并且点击Next。
  3. 当您在"Choose Components,"点击Finish后,检查信息对话框并且选择OK。
  4. ClearCase将会为集成流创建视图。在确定对话框中点击OK。
  5. 关闭ClearCase Explorer。

Rational Administrator

在此步骤中,我们将使用UCM配置测试数据存储库并管理测试资产。在我们的例子中,我们正在一个本地驱动器上创建项目;然而,在你们的开发环境中,您可能将在一个共享的网络驱动器上创建项目。

  1. 打开Rational Administrator。
  2. 右键点击Projects,并选择"New Project...",这将会打开"New Project"向导。

the New Project wizard

  1. 在"New Project"向导的第一个页签中,输入项目的信息并且选中 "Use ClearCase and Unified Change Management to baseline project assets" 复选框。注意,它需要一个快照视图。

New project wizard first tab

  1. 点击Next。这将会打开一个警告/配置的对话框,用于提醒您注意共享驱动器。
  2. 点击OK。这将打开"Project UCM Policies" 进入到"New Project" 向导。

the Project UCM Policies step for the New Project wizard

  1. 取消选中"Version Control Requirements Assets" 复选框,并选中"Version Control Test Assets"复选框。在"Associated UCM Project"列表框中,选择我们早先创建的SampleProject项目。点击Next。
  2. 之后将会打开"Security"对话框。如果您对安全性要求很严格,您可以在此创建密码,我们在这里不要求安全性。由于我们的信任,在这里我们将不设定安全性,并且点击Next。
  3. 复查一下"Summary"对话框,确保"Configure Project Now" 复选框已被选中,并且点击Finish。
  4. 之后将会打开"Configure Project" 窗口。

the Configure Project window

  1. 选择"Create..." 按钮来将一个测试数据库和项目联系在一起。然后将打开"Create Test Datastore" 向导。

the Create Test Datastore wizard

  1. 在这个例子中,我们将使用Microsoft Access®作为我们的数据库;然而在您的开发环境中,您更可能会使用SQL Anywhere数据库。点击Next。
  2. 这将把我们带到向导的第二个步骤,在这里我们将设置数据库的路径。在那里将会显示 "<ClearCase 视图中的目录>",在这个路径中,我们需要定位到我们为集成流创建的视图的位置。在我们的例子中,我们使用缺省的设置,来创建Documents和Settings下的流。注意:在您的开发环境中,确保在您输入的路径最后添加了"\TestDatastore",否则您将会得到一个错误的提示并且不能进行以下的步骤。

using Microsoft Access for our database

  1. 点击Next。这将会带您来到项目的初始化步骤。如果您有来自已存在项目的数据,并且想使用它们,您可以在这里输入它们;或者,您只需要简单地点击Next。

Bringing up the initialization step for the project

  1. 最后一步,检查数据库的属性,并且点击Finish。

Reviewing the attributes for the datastore

  1. Rational Administrator 将会为您创建数据库(注意:这将会需要一些时间)。除了创建一个测试数据库,Rational Administrator还通过视图将文件添加到源代码控制中。当它完成后,将检验所有在数据库中的文件。
  2. 当这个流程结束后,您将获得一个确认对话框。
  3. 在"Configure Project"窗口点击OK。
  4. 关闭Rational Administrator。

现在在适当的位置您拥有用于测试资产的CM了。

在一个CM环境中管理测试资产

在高层次上,Rational Software Quality解决方案中的测试资产目前不支持使用UCM进行并行开发。对最终用户(比如,使用Rational解决方案的测试者)来说,这意味着使用一个在配置管理控制之下和配置管理控制之外的项目之间没有差别。工具没有表现出任何的不同,并且对于测试者来说没有额外的工作量。如果您认为您的测试人员不得不执行检入和检出操作,就像他们的开发伙伴所做得一样,会在在此检入和检出,这会给您带来一个惊喜。因为在这里没有激活UMC的并行开发功能,项目中的所有测试资产总是要被检出来。这就意味着您必须在做检入的时候,就是去创建一个基线。

在什么时候我会想要创建一个基线?或者是在一个稳定的迭代最后,或者是在一个重要的开发工作在测试数据库中刚开始之前。下面几个步骤显示了如何检入全部的测试资产,创建一个新的基线,并且再次检出所有的资产。您的项目的Rational Administrator或者技术负责人应当完成此项工作。

作为在测试资产中检入的一部分,我们需要为检入创建一个活动。一个活动是一个与流相关的开发任务,在我们的例子中,与ClearCase项目的集成流相关。在检入过程中,一个活动记录了一个变更集,这是一个由于执行活动而发生文件变更的相关版本的列表。当我们检入测试资产时,我们需要创建一个与它们相关联的活动。在最后的检入时创建的新文件,还有已经被修改的任何已有文件,将会被关联到此活动,并且会被记录在活动的变更集中。

检入项目资产

  1. 确保 没有人 在使用测试资产。为了检入测试资产,Rational 管理员需要有访问所有测试资产文件路径的独占权限。如果有人正在使用一个文件,这个文件不会被检入并且不会包含在我们的基线之中。
  2. 打开 Project Administrator。
  3. 右击这个项目并且选择"Configure..."

Configuring in Project Administrator

  1. 在Configure Project窗口,选择 "Check In All...",然后将会打开下面的确认对话框。

Opening the confirmation dialog

  1. 选择 Yes。打开"Check In All Test Assets"对话框。

Opening the Check In All Test Assets dialog

  1. 为您的活动输入一个描述信息(如上所述)并且点击OK。

Entering a description for your activity

  1. 这将打开 Check In 对话框,它可能会运行较长时间,由项目的规模所决定。
  2. 它一旦完成,您将会看到以下对话框:

The dialog you see after doing the Check.

  1. 所有新的测试资产已经被添加到版本控制中。任何修改的测试资产已经被检入。并且所有的测试资产再次被检出,测试人员也再次开始工作。

创建基线

  1. 打开 ClearCase Project Explorer。
  2. 在 Project Explorer 目录树中,定位到您的项目的集成流。在我们的例子中,就是 SampleProject_Integration 流。

Navigating to the integration stream for your project

  1. 右键点击流并且选择 "Make Baseline..."

Right-clicking on the stream and selecting Make Baseline...

  1. 接着打开 "Make Baseline"对话框。

Opening the Make Baseline dialog.

  1. 在"General"页签中,输入基线的名字(简单的名字 - 在我们的例子中,我们将基线命名为 "SampleProject_Iteration1"),以及基线的描述信息。

the General tab

  1. 在"Activities" 页签中,选择您希望包含在基线中的活动。注意我们在最后一个步骤中创建的活动已经被列在这里了。
  2. 点击OK。您将看到以下的警告:

the warning

  1. 这个警告提醒您所有测试资产文件的版本当前已经被检出。如果您在此时创建一个基线,在您最后检入时所做的测试资产变更将不会成为基线的一部分。这再次说明,这不是一个典型的UMC开发环境,您将总是有被检出的文件。当您确保所有的变更已被检出时,点击OK。

the warning

  1. ClearCase将会创建一个基线,并且在结束时会弹出一个对话框。

提示与技巧

下面的内容对指导您如何在测试资产时使用ClearCase和UCM 有所帮助。

文件大小限制

在我们使用测试资产来实现UCM时,当尝试检入超过1MB大小的文件时,我们会碰到错误。在检入验证点,日志文件或者任何存放在测试数据库中的 Microsoft ®Word 文件时会遇到问题。我们需要解决这个限制,保证在ClearCase版本控制下的能够在测试数据库以外的存储库的中存储任何测试文档,例如,在 RequisitePro。另外,使用最小化基于图形的确认点也可以明显带增大相关文件的尺寸。

何时检入所有测试资产

如我们之前所述,测试资产进行检入需要全部用户停止对测试资产进行的工作。这个过程要耗费大量的时间。最理想的方法是一次完成这个活动,以便最低限度地打断您的团队成员的工作。

Microsoft Windows 路径长度的限制

目前,微软的Windows操作系统,包括Windows 95,98,NT和2000,有一个255个字符的长度限制。如果超过这个最大长度的限制,Windows 的文件创建将会失败。用户在元素和流命名时需要注意这一点。我们建议为VOBs、组件和流创建合理的标准命名,并作为团队或项目ClearCase使用模型的一部分。

增量和完整基线

当您为您的测试资产创建基线时,您可以选择创建一个增量式基线还是完整基线。增量式基线的优势是它比完整基线花费更少的时间。而它的缺点是需要花费更长的时间转换回到先前的基线,比如增加基线中的每一个受控文件都必须基于两个版本之间的变化被重新创建。

参考资料

  • 您可以参阅本文在 developerWorks 全球网站上的 英文原文

为获得本文所涉及工具的信息,阅读以下信息:

获得更多有关使用 IBM Rational ClearQuest 的 UCM 模型的信息,请转到:

一个更深入了解软件配置管理和 Rational ClearCase 的资源是:

 

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

京公海网安备110108001071号