自动化测试的类型
在软件开发过程中,无论是 Agile 还是其它开发模式,都会在开发的不同阶段引入相应的测试,如单元测试,功能测试,性能测试;并且针对软件的不同部分,也会有不同的方法进行测试,如 GUI 测试,底层 API 测试等等。
目前,软件工作者们正在努力把这些不同类型的测试进行自动化,将自动化测试的优点应用在软件开发过程中的各个阶段以及软件的需要测试的各个部分。
当前软件开发中主要用到的自动化测试类型有以下几种:
● 单元测试
单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
● GUI 测试
用户界面测试,属于功能测试的一种。
● 功能测试
功能测试是从用户的角度编写的测试。这种测试确保系统执行用户期望它执行的工作。
● 性能测试
用来测试软件在集成系统中的运行性能。
在 ClearQuest 的开发项目中,包括了上面提到的各种自动化测试。ClearQuest 中应用到的各种自动化测试如下:
● Harness① Test
ClearQuest Core 部分的单元测试以及一部分简单的功能测试
● ATE(Automation Test Environment)
针对 CQ Perl API 和 COM 的简单的功能测试
● Windows Client GUI 自动化测试
ClearQuest Windows Client 的用户界面测试
● JUnit Test
CQEclipse 和 CQWeb 的单元测试
● RFT(Rational Functional Tester)自动化功能测试(BLUE Test Automation②)
包括 CQEclipse GUI 和 CQWeb GUI 自动化测试
● PurifyPlus 自动内存检查
ClearQuest Core 中用于检测内存泄漏。可以在运行 harness test 的时候一起执行。
● RPT(Rational Performance Tester)自动化性能测试
目前的 ClearQuest 开发中利用 RPT 来做自动化性能测试,包括自动录制的脚本和手动开发的测试用例。
不同的自动化测试被应用于不同的层次和组件上。那么,我们就需要从 ClearQuest 的结构出发来看一下这些不同的自动化测试的应用。按照测试所对应的编程语言来分类,Harness Test,PurifyPlus 和 Windows GUI 用于 C++ 代码,RFT 自动化测试和 JUnit 应用于 Java,ATE 应用于 CQ Perl API 和 COM。下面的图表可以帮助我们更清楚地理解 ClearQuest 的架构层次以及各个部分所用到的自动化测试的种类。
图 1:ClearQuest 在 Windows 上安装的架构层次图
表 1:自动化测试与 ClearQuest 各个部分之间的对应关系
在后面的章节中,我们将详细地介绍 ClearQuest 的开发过程是如何结合这些不同的自动化测试的。