本文主要介绍在 IBM Rational ClearQuest 的开发过程中,如何在开发的各个阶段应用各种不同的自动化测试保证开发质量。
ClearQuest 中开发项目的介绍
IBM Rational ClearQuest 是 Rational 家族产品中的核心成员。它可以在整个应用程序开发生命周期中提供灵活的缺陷和变更跟踪功能。
目前,ClearQuest 产品还处于不断升级和维护中。如,对 ClearQuest 本地化的支持,向 Eclipse 平台的移植,ClearQuest Web 的升级,自身功能的升级,以及与 Jazz 的集成等等。
产品的质量和实用性决定了其在客户眼中的地位,ClearQuest 也不例外,质量对于 ClearQuest 的开发和升级至关重要。ClearQuest 发展至今,其代码量几乎可以用 G 来计算;并且其中包括了各种各样的组件,如 ClearQuest 的核心部分、Windows 本地客户端部分,ClearQuest 支持的 Eclipse 平台以及 Web 等等。ClearQuest 的开发团队和测试团队分布于美国的 Lexington、Raleigh、中国和印度。在这样超大重量级的产品开发中,加上遍布各地的庞大的开发团队,如何保证开发质量成为了一个至关重要的问题。
ClearQuest 开发过程中的质量保证环节包括各种阶段交付内容(包括各种文档、设计、代码)的审查、优化的开发流程的应用、各种测试(单元测试、功能测试、性能测试、系统测试等)的引入以及对开发相关人员的培训等等;质量保证中应用到的工具包括软件配置管理工具 ClearCase,缺陷跟踪管理工具 ClearQuest(在 ClearQuest 的开发过程中,ClearQuest 本身也作为质量保证工具来使用)、各种自动化测试工具及其框架等等。
本文主要介绍在 ClearQuest 的开发过程中,如何在开发的各个阶段应用各种不同的自动化测试保证开发质量。
自动化测试与测试驱动开发
我们在开发的过程中采用了自动化测试技术及测试驱动开发的方法。运用这两项技术,使得整个开发团队能够在产品开发过程中获得更高的效率,并更有效地保证了软件产品开发的质量。自动化测试和测试驱动开发贯穿 ClearQuest 开发过程的始终,是整个开发周期中不可缺少的重要环节。
自动化测试及其优点
一般我们谈到的自动化测试,其实是有两种说法,一种是 Test Automation,翻译过来叫测试自动化,侧重说明将测试用自动化设计和实现的过程;另外一种是 Automated Testing/Test,翻译过来叫自动化测试,侧重说明自动的测试软件,可以是自动测试软件的功能或者性能等。在本文中提到的自动化测试,是一个整体的概念,包括了以上两种。
随着计算机技术的发展,自动化测试工具的广泛应用为开发和测试人员提供了最优的质量成本。我们在软件开发过程中应用自动化测试,也正是在追求软件质量成本和收益间的最佳平衡点。