此工具向导适用于 Microsoft Windows 系统和 UNIX 系统。
PurifyPlus 工具包含 Rational Purify、Rational PureCoverage 和 Rational Quantify。
要了解有关 PurifyPlus
工具的更多信息,请参阅 PurifyPlus 的 Getting Started 手册(Windows 版本或 UNIX 版本)。
有关使用 PurifyPlus
工具的分步信息,请参阅工具的联机帮助。
可使用 PurifyPlus 工具执行以下操作:
-
检测内存错误和泄漏(Windows 和 UNIX 上的 C/C++ 程序)。 使用 Purify 可查明被测试的应用程序中的错误和泄漏。
-
监视代码覆盖率(Windows 和 UNIX)。 使用 PureCoverage 可显示测试中的差距,并提醒您进行回归测试。
-
概要分析性能(Windows 和 UNIX)。 使用 Quantify 可提醒您:新的检入是否使性能降级。
使用 PurifyPlus 工具执行测试套件将产生以最大效率运行的无错误可靠代码。
工具步骤
要使用 PurifyPlus 工具实施测试:
1. 在 Purify 下运行程序来收集错误和泄漏数据(仅 C/C++ 程序)
Purify 将检测被测试的应用程序及其使用的组件中的运行时错误,包括内存泄漏。它报告内存错误(如数组范围错误、通过摇摆指针访问、未初始化的内存读取、内存分配错误和内存泄漏),以便将这些错误在造成任何损失之前解决掉。
首先将 Purify 合并到您的现有 Perl 脚本、批处理文件和 makefile 中。
-
在 Windows 上,修改用于运行程序 <ProgramName>.exe 的命令行
Purify /SaveTextData <ProgramName>.exe
-
-
在 UNIX 上,修改编译与链接行:
% purify -logfile=<filename> cc -g <program_name>.c
在 UNIX 上使用 /SaveTextData -logfile 选项会导致在没有用户界面的情况下运行
Purify,且当您从脚本运行程序时,会在程序终止时向文本输出文件发送错误和泄露数据。
自行检查此输出文件,或编写脚本来分析。可将文件中的错误和警告消息用作测试结果的额外条件。
如果安装了 PureCoverage ,则可通过添加选项 /Coverage(Windows)或添加 purecov
purify(UNIX)收集同一运行的覆盖率数据。您还可以使用覆盖率数据查找尚未检查错误的代码部分。有关使用覆盖率数据的更多信息,请参阅此工具向导的步骤 2。
注:
-
使用 Purify API 可从您的程序内部控制数据收集。
-
Purify 还具有命令行选项,用于将测试数据保存为可使用 Purify 图形用户界面检查的二进制文件;工具向导“使用 Rational PurifyPlus 工具分析运行时性能”中探讨了此信息。
有关更多信息,请查看
Purify 联机帮助索引中的以下主题:
-
running programs
-
error messages
-
options
-
API functions
-
saving data
2. 在 PureCoverage 下运行程序来监视代码覆盖率。
PureCoverage 提供了精确的行级别和函数级别的代码覆盖率信息。请将 PureCoverage 用于您的夜间测试来确保测试与代码开发保持相同的进度。
首先将 PureCoverage 合并到您的现有 Perl 脚本、批处理文件和 makefile 中。
-
在 Windows 上,修改运行您的程序或 Java 类文件、.jar 文件或 applet 的命令行,以包含 PureCoverage:
对于 C/C++ 程序:Coverage /SaveTextData <ProgramName>.exe
对于 Java 类文件:Coverage /SaveTextData /Java Java.exe <ClassName>.class
对于 .NET 管理的代码程序:Coverage /SaveTextData /Net <ProgramName>.exe
使用 /SaveTextData 选项将导致 PureCoverage 在没有用户界面的情况下运行,且当您通过脚本运行程序时,将在程序终止时把数据发送到文本输出文件中。
-
-
在 UNIX 上,请修改编译和链接行:
对于 C/C++ 程序:% purecov cc -g <program_name>.c
对于 Java 类文件:% purecov -java java <class_name>
使用 PureCoverage -export 选项可在程序退出后将覆盖率数据写入文本输出文件。
当您执行代码时,PureCoverage 将记录有关使用的行和函数的数据。您可以通过自己的程序调用 PureCoverage API
函数,以将数据保存在自己的代码内的特定位置,或仅为特定例程收集数据。当您退出程序时,将获得一组精确数据,指示测试覆盖了和未覆盖哪些行和函数。
您可以合并多轮运行的覆盖率数据,或将其保存在不同的文件中来分析覆盖率方面的变化。
使用脚本将当前数据与先前运行中收集的数据进行比较。如果覆盖率下降,则您的测试可能没有遇到新代码,或新代码可能引入了缺陷而导致大部分代码未被测试。请使用 Rational Robot 或 Rational Visual Test
之类的测试工具撰写用于执行新代码的测试用例。
注:您可以使用 PureCoverage 图形用户界面检查二进制覆盖率数据文件。
有关更多信息,请查阅
PureCoverage 联机帮助索引中的以下主题:
-
running programs
-
options
-
API functions
-
saving data
-
comparing data
3. 在 Quantify 下运行程序来概要分析性能
Quantify 为您的程序及其组件提供了一组完整且精确的性能数据,因此您可以在开发和测试周期的早期监视性能并确定回归。
首先将 Quantify 合并到您的现有 Perl 脚本、批处理文件和 makefile 中。
-
在 Windows 上,修改运行您的程序或 Java 类文件、.jar 文件或 applet 的命令行,以包含 Quantify:
对于 C/C++ 程序:Quantify /SaveTextData <ProgramName>.exe
对于 Java 类文件:Quantify /SaveTextData /Java Java.exe <ClassName>.class
对于 .NET 管理的代码程序:Quantify /SaveTextData /Net <ProgramName>.exe
使用 /SaveTextData 选项将导致 Quantify 不通过用户界面运行,且当您通过脚本运行程序时,将在程序终止时把数据发送到文本输出文件中。
-
-
在 UNIX 上,请修改编译和链接行:
对于 C/C++ 程序:% quantify cc -g <program_name>.c
对于 Java 类文件:% quantify -java java <class_name>
使用 Quantify -export 选项可在程序退出后将性能数据写入文本输出文件。
当您执行代码时,Quantify 将记录有关您程序性能的数据。您可以随时使用 API
函数暂停和重新开始数据记录,以此来限制对特定的代码部分的概要分析。还可以在代码执行中的特定时间保存数据,或仅为特定例程收集性能数据。当您退出程序时,Quantify 将生成程序性能的精确概要文件。
您可以撰写用于比较数据集并报告性能变化的脚本:
-
性能下降可能表明最近检入的代码降低了程序的速度。 请分析收集的数据以找到性能不可接受的程序部分。
-
标记的改进可能表明开发人员改进了他们的代码,或由于某种原因,您的测试已停止执行大部分代码。请检查您的覆盖率数据以了解是否仍然保持先前的覆盖率级别。
注:Quantify 还可将测试数据保存为可使用 Quantify 图形用户界面检查的二进制文件;工具向导“使用 Rational PurifyPlus 工具分析运行时性能”中探讨了此信息。
有关更多信息,请查看 Quantify 联机帮助索引中的以下主题:
-
running programs
-
options
-
API functions
-
saving data
-
comparing data
|