技术开发 频道

利用自动化测试保证软件开发质量

   总结

  归结起来,在 ClearQuest 中对自动化测试应用有以下几点:

  ● 只要有源代码开发的环节,就会应用到自动化单元测试

  ● 每个迭代中源代码开发完毕的时候,引入新的功能测试

  ● 在开发过程中结合不同的自动化测试,做到测试的全面性

  ● 在开发的过程中需要定期利用各种自动化测试进行回归测试

  ● 自动化测试的代码与源代码的开发同步进行

  ● 及早引入性能测试,以避免设计上的问题被遗留到后期带来的问题

  总之,在较大规模产品的开发过程中,针对所开发的产品的不同的层次结构,以及产品开发中所采用的开发方法的特点,及时、合理地在开发的各个阶段应用各种不同的自动化测试,让自动化测试与开发过程紧密地结合起来,可以更为有效并且更为精确地发现产品中存在的问题,最大限度地将问题修正带来的花销降到最小。

  在 ClearQuest 的开发过程中,应用到了多种不同的自动化测试,这些不同的自动化测试贯穿了整个开发周期的始终,从软件的不同方面保证了重量级产品的成功开发。 ClearQuest 发展至今,其各种自动化测试脚本和框架已经成为了 ClearQuest 中不可缺少的一部分,集中了很多优秀工程师们的智慧和劳动。

  本篇的介绍主要集中地描述了自动化测试在 ClearQuest 的开发过程中是如何在各个阶段和场景被引入的,也就是自动化测试和 ClearQuest 开发过程的结合。在下一篇中,我们将较为详细地描述 ClearQuest 开发中自动化测试的具体应用方法,以及自动化测试是如何与 ClearQuest 开发的配置管理互相配合,使得产品开发的质量和效率达到非常好的平衡的。

  注释

  ① Harness 测试

  该术语是泛称,代表我们为了检验软件的某部分而编写的测试代码以及用来运行这些测试代码的代码,它可以作为一个自动化测试的工具运行在一个系统或者程序的核心部分。在本文中,Harness 测试是一个专门为了测试 ClearQuest Core 的底层逻辑代码的自动化测试及其框架。

  ② BLUE Test Automation - Business Logic Utilities Environment Test Automation

  由 IBM Rational CRM Test Automation Team 开发的一套测试框架,目前主要应用于 ClearCase 和 ClearQuest 的开发中。

  BLUE Test Automation 包括:

  ● 支持一般的测试自动化开发的可复用类库

  ● 支持特定的 GUI 领域 Dojo 和 Eclipse 的可复用类库

  ● 基于业务逻辑的特定应用程序测试自动化的开发方法

  ● 便于利用 Java 为 GUI 和 API 应用程序构造自动化测试的框架

  ③ Agile(敏捷式开发)是一种迭代、循序渐进的开发方法。在 Agile 开发中,通过不断地获取用户的反馈信息和进行方向调整,来使得所开发的软件具有更高的质量和更高的实用性。用 Agile 开发过程,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并在每个迭代过程中分别完成,并且保证每个迭代过程的成果一直处于可使用状态

  ④ 测试驱动开发(Test Driven Development)不仅仅是一种测试方法,它是一种软件设计的方法,是 Agile 开发方法实践的核心。其工作的流程如下:

  ● 添加一个测试用例

  ● 运行所有的测试用例并确定新添加的测试用例运行失败

  ● 用最简单的代码来使得新加的测试用例由失败变为成功

  ● 运行所有的测试用例,并确定新添加的测试用例通过

  ● 细化代码

  ● 重复以上各个步骤

  测试驱动开发带来的优点如下:

  ● 提高代码质量。从测试做起可以让测试覆盖所有的代码。

  ● 测试是对整个系统功能的描述。通过阅读测试代码就可以清楚整个系统的功能。

  ● 让开发人员更有自信。当代码作性能调整的时候,可以很快发现问题。

  ● 尽早发现问题。

  ● 让软件模块化做的更好,更为灵活和具备更好的可扩充性。因为开发人员需要想尽方法让软件中的各个功能更为独立地进行测试并且更为容易地集成起来。

  ● 代码必须做到可测试,强制开发人员做好的设计

0
相关文章