介绍
C++Test是Parasoft针对C/C++的一款自动化测试工具,能够自动测试代码构造(白盒测试)、测试代码的功能性(黑盒测试)和维护代码的完整性(回归性测试)。
关于C++test的介绍,请看http://baike.baidu.com/view/1802672.htm
或者参考http://www.parasoft.com/ 的介绍。
C++test 有Eclipse版和IDE版两种,分别针对不同的开发项目。
Eclipse版可以测试的项目类型:
针对VS6.0以上的项目.sln,分别用相应的VS2003/VS2005/VS2008插件版测试。
命令行测试
从命令行进行测试的通用过程如下:
• 使用有效的 cpptestcli 程序,加上适当的选项,在命令行模式下启动分析。完整的选项列表在 cli 选项中提供。关键选项有:
• -data: 指定 Eclipse 工作空间位置。
• -config: 指定测试配置。
• -resource: 指定要测试的项目/文件。
• -publish: 向团队服务器发布测试结果。
• -report: 生成报告。
• -localsettings: 为团队服务器/报告中心/电子邮件报告(Team Server/Parasoft Report Center/mail reporting)传递高级设置。各个选项在 本地设置 (选项) 文件中有所描述。
注意:
测试时工作空间不能被占用,例如打开GUI界面,会报错。
导入项目时如果工作空间中的现有项目与导入的项目同名,则不会导入新项目。
1、Visual Studio 6.0项目
通过eclipse C++Test中的命令行工具cpptestcli执行
cpptestcli
-data "C:\Documents and Settings\Administrator\Parasoft\cpptest\workspace"
-dsp "D:\My Virtual Machines\SharedFiles\BugDetectiveTest1\BugDetectiveTest1.dsp"
-resource "BugDetectiveTest1"
-config "builtin://Crules"
-report "C:\report"
说明:
-data 指定工作目录workspace
-dsp 指定要导入的工程,对应VC6的项目文件.dsw,或工程文件.dsp
-resource 指定要测试的对象,可以是文件,工程,或者项目;可复用来指定多个测试对象。
-config 指定要采用的规则
-report 指定报告输出路径,或者输出文件名
2、VS2003/VS2005/VS2008项目
通过C++Test IDE版 如C++Test for visual studio 2008中的cpptestcli执行
cd C:\Program Files\Parasoft\C++test7.2VS2008Extension
cpptestcli.exe
-solution "C:\cpptest\Source\DebugTestVS9\DebugTestVS9.sln"
-resource "DebugTestVS9"
-config "user://BD"
说明:
-solution 指定要导入的项目.sln
-resource 指定要测试的对象,可以是文件,工程,或者项目;可复用来指定多个测试对象。
-config 指定要采用的规则
-report 指定报告输出路径,或者输出文件名
3、Makefile导入
首先,通过cpptestscan来构建数据文件.bdf
可用两种方法,
1.
C:\Documents and Settings\Administrator\Parasoft\cpptest\SRC\maketest>
nmake /f main.mak CPP="cpptestscan.exe --cpptestscanOutputFile=C:\MyProject.bdf --cpptestscanProjectName=MyProject cl.exe"
2.将makefile中,编译器选项替换(易出错)
"CXX=g++ "
替换为
"ifeq ($(BUILD_MODE), PARASOFT_CPPTEST)
CXX='C:\Program Files\Parasoft\C++test7.1\cpptestscan.exe' --cpptestscanOutputFile=./cpptestscan.bdf --cpptestscanProjectName=MyProject g++
else
CXX=g++
endif"
然后,像以前一样运行这个构建过程,为 make 指定新增的BUILD_MODE 变量:
make BUILD_MODE=PARASOFT_CPPTEST
将会构建代码和生成一个构建数据文件 (MyProject.bdf) 。 生成的构建数据文件将可以从 GUI 或从命令行中用作创建一个项目。
生成bdf之后,用C++test导入工程,执行测试。
C:\Documents and Settings\Administrator\Parasoft\cpptest\SRC\maketest>
cpptestcli
-data "C:\Documents and Settings\Administrator\Parasoft\cpptest\workspace"
-bdf "C:\MyProject.bdf"
-localsettings opts.properties
-resource "MyProject\maketest"
-config "builtin://BugDetective (License Required)"
-report "C:\report"
-localsettings opts.properties 指定项目构建配置
bdf.import.compiler.family=<family>
通过指定此项来选择编译器。
Opts.properties内容
bdf.import.compiler.family=vc_6_0
指定编译器为vc6
*生成指定格式报告
在localsetting properties文件中添加如下内容
report.format=custom
report.custom.extension=csv
report.custom.xsl.file=c:/csvreport.xsl