1
面向对象软件工程实践指南
1.2.9.3 9.3 软件测试工具
9.3 软件测试工具

为了提高软件测试的速度和质量,目前已经开发出了不少有效的软件测试工具,为软件测试提供了帮助。这些工具包括:

1)测试管理工具

这些工具可以帮助完成测试计划、跟踪测试运行结果,还包括了有助于需求、设计、编码测试及缺陷跟踪的工具。这些工具有Quality Center、Test Manager、QACenter、Test Lodge等。

2)静态分析工具

这种工具直接分析代码来检测某些缺陷,它比用其他方法更有效,开销也更小。这类工具包括Purify、Sprint、Checkstyle、Jtest等。

3)覆盖率工具

这种工具评估指通过一系列测试后,软件被执行的程度,如Pure Coverage、True Coverage、Logiscope等。

4)动态分析工具

这些工具评估正在运行的系统的性能,例如,检查系统运行过程中的内存使用情况,是否有内存越界、内存泄漏等,这类工具有Purify、Bound Checker等。

5)测试执行工具

这类工具可使测试能够自动化进行,并且支持各个层次(单元测试、集成测试、系统测试)上的自动测试。例如系统测试阶段有功能测试自动化工具,如Robot、Winrunner、Silk Test等;性能测试工具如Loadrunner、Sil KPerformer等。

6)白盒测试工具

静态分析工具、覆盖率工具和动态分析工具能够支持白盒测试。

7)黑盒测试工具

主要有:

(1)客户端功能测试:MI公司的winrunner,compuware的qarun,Rational的robot。

(2)服务器端压力性能测试:MI公司的winload,compuware的qaload,Rational的SQAload等。

(3)Web测试工具:MI公司的Astra系列,rsw公司的e-testsuite。

(4)测试管理工具:Rational的testmanager,compuware的qadirector等。

(5)缺陷跟踪工具:如trackrecord、Testtrack等。

8)单元测试框架

单元测试框架允许定义单元测试代码,控制测试的执行,还提供了应用程序来运行测试,并在成功完成测试套件中的每个测试后给出报告。

针对不同的编程语言,目前出现了不同的单元测试工具,例如JUnit是Java语言的单元测试框架,NUnit是.net单元测试框架,cppunit是C++的单元测试框架。