众所周知,协作是软件开发必不可少的组成部分。开发软件对于一支团队来说就好像演奏一支爵士乐或管弦乐。这两项活动都要求在协作和单干之间寻求平衡。这也正是 IBM® Rational® 创建 Jazz 的原因所在,Jazz 是用于协作软件开发和交付的下一代技术平台。它建立在 Eclipse 平台之上,并且提供一组集成的工具用以提高团队内部和团队之间的协作性。您可以把 Jazz 技术视作一个可扩展的框架结构,它动态地集成和同步与软件开发项目相关联的人员、处理过程和资产。
图 1 中显示了 Jazz 开发平台的体系结构。该平台是基于客户机-服务器架构的。Jazz 服务器通常运行在一个 Java™ 2 Platform Enterprise Edition(J2EE)并且和版本 1.4 兼容的应用程序服务器之上,负责一组用于进程控制和协作的关键服务和数据。
远程客户机通过网络以多种形式同 Jazz 服务器进行通讯。主用户接口(UI)是一个被称作 Rational® Team Concert 的基于 Eclipse 的集成开发环境(IDE)和一个 Web 浏览器。您可以通过这些用户接口查看您的团队正在进行什么操作,并且执行所有的项目开发任务。
图 1. Jazz 开发平台的体系结构
Jazz 开发平台提供了一组丰富的功能,为应用程序的开发提供了一个协作的基础:
团队知道和自动操作
项目团队可以在他们所工作的条目的上下文环境中直接进行协作,并且他们将被自动地通告那些影响他们工作的变化和事件。
进程知道和自动操作
一个定制的项目进程指导团队的工作流程,并且自动操作进程的步骤和检查点。
可扩展的基础构造
Jazz 平台的客户端和服务器都是基于开放的 Web 标准的,并且 Eclipse 插件程序的可扩展的基础构造能够被额外的插件程序继续加以扩展。
协作特性
Jazz 提供的协作特性能够提供团队的内聚力,例如聊天和事件日志等。
连接器架构
该架构能够将 Jazz 同其他的源控制和变化管理系统(例如:IBM Rational ClearCase 和 IBM Rational ClearQuest)结合起来,增强您的软件交付平台的灵活性。
在 Rational Team Concert 中测试管理的不同方法
这些例子中的所有 Jazz 用户接口都在 Rational Team Concert(Jazz 功能强大的客户端程序)中被查看。它是基于 Eclipse 开发平台的。Team Concert 为用户同 Jazz 进行交互,从而同其他团队一道执行项目任务提供了若干个用户接口和服务。您可以通过 Eclipse 插件程序扩展用户接口和功能。
在这些例子中,我们使用以下版本:
- Jazz Team Server 1.0 Beta 2
- Rational Team Concert 1.0 Beta 2
- Jazz ClearQuest Connectors 0.6 Beta 2a
有关 Jazz 的安装和配置并不在本文的讨论范围之内。如果您希望安装和设置一个 Jazz 开发环境,您可以从 Jazz 下载网站下载软件包和安装向导。
本文中的例子描述了在测试管理中使用 Jazz 的两种方式:
- 仅使用 Rational Team Concert
- 将 Rational Team Concert 同 IBM Rational ClearQuest 结合起来
尽管这些例子关注的是测试阶段,但是您将清楚地了解到通过 Jazz 进行协作管理项目的优点。
方法 1. 单独使用 Rational Team Concert
|
第一种管理测试的方法就是在 Rational Team Concert 内部使用其特性完成全部和测试相关的工作,例如:开发测试用例、创建和指派测试用例、报告和跟踪问题等等。
对于这个例子来说,我们假设 Jazz 开发环境已经建立起来,并且一个名为 ABC 的项目及其团队也已经成立。我们运用两支团队和两位成员来描绘角色和任务:
- Bob,一位测试人员
- Jack,一位开发人员
我们首先以测试用例的开发开始,请参见图 2 中所示。您可以为项目中的任何一个开发迭代创建一个测试用例。一个好的测试用例能够帮助您管理测试工作和跟踪测试进程。在 Jazz 中,您可以随着项目的进行而开发测试用例。首先,您起草一个测试用例,其中包括:测试目标、测试范围等。然后,您开发主任务并且将它们分解为许多子任务。您的测试用例中的任务视同指派到团队成员的工作条目相关联的。这些任务完成后将自动地被反映在计划之中,从而使您能够在任意时刻知道方案的进展情况。举例来说,如果您决定修改您的方案并且添加一个新的测试用例,那么您可以在同时创建一个工作条目。
图 2. 在 Rational Team Concert 中创建测试用例
在 Planned Items 视图中,您可以定义测试用例、计划任务持续时间、工作优先级、以及工作的拥有者等的内容。在保存您的变化之后,这一工作将被指派给测试人员。在这个例子中,用于测试用例 2005 的工作条目 59 被创建出来并指派给测试人员 Bob,请参见图 3 中所示。
图 3. 在 Rational Team Concert 中将测试用例创建为工作条目
您可以在 Test Plan 视图中看到测试用例中的工作同工作条目 59 关联起来了(请参见图 4 中所示)。当您双击测试用例中的条目 59 时,您可以看到与其相关的工作条目的详细信息。
图 4. 在 Rational Team Concert 中工作条目和测试用例相关联
接下来,测试实例的拥有者可以通过处理被指派给他们的测试实例继续处理过程。如果 Bob 工作在他自己的工作区,那么他将发现指派给他的这一新的工作条目,并且他能够查看该测试用例(请参见图 5 中所示)。当他开始工作时,他可以将其标记为“正在处理中”。
图 5. Rational Team Concert 中的测试用例视图
如果 Bob 在运行测试用例时发现一个问题,那么她可以通过在 Team Concert 中创建一个问题工作条目类型来打开一个问题报告。图 6 中显示在 Team Concert 中共发现了 60 个问题。您可以为问题设置许多属性,例如严重性和优先级等。
图 6. 在 Rational Team Concert 中检测到 60 个问题,提交给开发人员 Jack
您可以非常方便地将问题同测试用例关联起来,请参见图 7 中所示。这为其他人分析和解决该问题提供了一个参考。如果您知道 Jack 正是开发这段问题代码的人,那么您可以在保存之后将这个问题的拥有者设置为 Jack,从而 Jack 就能够在他自己的工作区中看到这一工作条目了。
图 7. 在 Rational Team Concert 中将问题标记为同测试用例相关联
Team Concert 提供了许多方式使得 Jack 可以被通知自己收到了一个问题工作条目。他可以选择自己喜欢的其中一种方式。比如:在他的 Event 日志中获取通知、接受一封电子邮件通知、或者检查他的工作条目列表等。当他处理该问题时,他可以查看细节、添加注释、并且标记进展。在图 8 所示的例子中,Jack 添加了注释,将问题标记为已解决,并且将该工作条目返回给 Bob。
图 8. 开发人员将问题标记为已解决
当 Bob 看到问题已经被解决并且返回给自己之后,他可以核实该问题是否被修改正确,如果是的话就将其关闭(请参见图 9 中所示)。
图 9. 问题由测试人员核实并且关闭
由于问题是同相应的测试用例相关的,所以 Test Case 视图(请参见图 10 中所示)也将显示并关闭已经被解决的相关问题。因此,它不会再阻止测试用例的运行。
图 10. 在测试用例视图中问题被自动标记为完成
最后,由 Bob 完成测试用例的执行。
当工作条目 59 被标记为关闭的时候,测试实例 2005(59)同时也在 Test Plan Overview 视图中被标记为完成,请参见图 11 中所示。这有助于您跟踪方案的处理过程。
图 11. 当相应的工作条目完成时,任务也在测试用例中被标记为完成
方法 2. 将 Team Concert 和 IBM Rational ClearQuest 结合起来使用
对于那些熟悉 IBM® Rational® ClearQuest® 并且使用过 ClearQuest 进行问题管理的测试人员来说,Rational Team Concert 提供了一个 ClearQuest 连接器和条目协作组件,将 ClearQuest 同 Jazz 开发平台结合起来,使您能够同步 ClearQuest 记录和 Team Concert 工作条目之间的信息。ClearQuest 中的任何变化都将被自动地同步到 Team Concert,反之亦然。在这种方式中,您可以继续处理您的 ClearQuest 记录,并且充分利用 Jazz 开发平台中的协作和高级特性。
这一小节给出一个具体的例子,介绍如何使用 Jazz 进行测试管理
测试人员在 ClearQuest 中为开发人员打开一个问题工作条目
在这个例子中,项目名称为 Myproject,关键人员包括:
- Alice,一位测试人员
- Bob,一位开发人员
在测试期间,Alice 发现了一个问题。同往常一样,她在 ClearQuest 中为 Bob 打开一个问题报告 TABC00000011,请参见图 12 中所示。
图 12. 在 ClearQuest 中被打开的 TAB00000011 问题
Jazz 中的 ClearQuest 连接器将轮询 ClearQuest 的变化,找出这一新的 ClearQuest 记录,并且在同步发生时创建一个新的工作条目。这一新的条目(问题 17)是一个问题类型工作条目,并且它的属性值被同步到 ClearQuest 记录中的数据。它被指派给 Bob。如果 Bob 正在他的 Team Concert 客户端中工作的话,他将看到这一新被打开的问题成为他的 Work Items 窗口中的一个新的工作条目(请参见图 13 中所示)。他可以双击该工作条目,查看详细信息,并且开始处理这个问题。
图 13. 一个新的工作条目 Defect 17 被自动地创建出来
Jazz 在 ClearQuest 和 Rational Team Concert 之间同步工作条目的变化
ClearQuest 记录或者 Team Concert 工作条目的任何变化都可以被自动地同步。图 14 和 15 中显示了这样的一个例子。在 Bob 对其所做出的改变进行保存之后,ClearQuest 中的问题记录将显示产生于 Team Concert 同步的同样的变化。这可能需要几分钟的时间,取决于您在 ClearQuest 连接器属性文件中所设定的轮询间隔时间。在这个例子中,Bob 分析了这一问题并且发现需要向测试人员索取更多的错误日志。于是他向工作条目中添加了一个注释,并且保存下来。
图 14. 在 Rational Team Concert 中向工作条目 17 添加注释
在同步操作之后,Alice 将看到注释将作为 ClearQuest 中这一问题的 Note 日志。她可以收集并且向问题中添加错误的日志。
图 15. 注释被添加作为 ClearQuest 中的问题 TABC0000011 的 Note 日志
这个简单的例子显示了如何将 ClearQuest 同 Team Concert 结合起来,从而使测试人员和开发人员能够使用 Jazz 开发平台进行测试管理。Team Concert 提供了若干特性,以确保在 ClearQuest 和 Jazz 之间同步的成功。举例来说,当工作条目及其相应的 ClearQuest 问题发生变化时,自动对工作进行合并。手工合并负责处理由那些影响工作条目及其相应的 ClearQuest 问题报告中的相同属性而导致的冲突。ClearQuest 集成将会发布更加方便和可靠的新版本。
在第一种方式中,测试团队通过使用 Jazz 的所有功能在 Rational Team Concert 中执行所有的测试活动和测试管理。因此,在项目开发过程中,无论是测试还是开发团队,都使用统一的方法和相同的平台。这对于项目管理起到了很大的帮助作用。由于您只需要让团队学会如何使用 Team Concert,所以对于训练的要求是最小化的。结果是开发和测试之间的连接和协作更加无缝和有效。由于每个人只使用一个词汇表和架构,所以信息的交换也更加准确和清晰。
然而,某些特定的测试特性并没有在当前版本的 Team Concert 中被实现。举例来说,在某些大型项目中,测试用例使用权重来衡量测试工作量。有时我们需要定义测试用例在多大程度上成功,在多大程度上失败,从而现实测试用例执行的成功率。幸运的是,Jazz 在服务器端和客户端上都是可扩展的,所以这些特性可以通过 Jazz 的扩展和定制来实现。
在第二种方式中,ClearQuest 同 Team Concert 进行结合和同步。如果测试团队已经熟悉这款软件的话,那么他们就可以继续处理 ClearQuest。ClearQuest 记录和 Team Concert 工作条目由 Jazz 在后台自动地进行同步,这使得项目团队能够和其他团队进行协作。因此,测试团队不仅可以使用 ClearQuest 中的问题管理和测试管理的强大功能,还可以享受 Jazz 开发平台所提供的协作高级特性。
我们所使用的这一版本的缺点是,缺少 ClearQuest 连接器的设置工具或者向导。因此,配置工作必须由手工完成。
本文介绍了两种在测试管理中使用 Rational Team Concert 的方法。
Jazz 提供了一个集成协作的软件开发环境,测试团队能够知道项目和合作者各项活动的进展情况,并且能够更快、更简单、更有效地完成团队管理任务。由于 IBM 团队持续进行 Jazz 平台的开发,并且不断发布 Rational Team Concert 客户端软件的新版本,所以我们有理由期待更多的特性和更加稳定的性能。