利用C++Test进行单元测试一、安装C++Test1、首先获取C++Test的安装压缩包Parasoft.C.Plus.Plus.Test.v6.0.0.5.rar;将其解压后,会得到三个文件:C++Test-60.Win32.exetoolkit.dllagain.nfo其中again.nfo文件不用去管它。C++Test-60.Win32.exe文件是安装包,toolkit.dll文件是破解文件。双击C++Test-60.Win32.exe安装C++Test到指定目录。安装完成后,将安装路径下的C++Test\\bin目录中toolkit.dll文件用破解文件覆盖。启动C++Test,到help\\license菜单下,在locallicense选项中expiretime框中输入2009-01-01,password框中输入123456。Check完成后,点击OK,关闭该对话框。安装过程结束。2、为了能使用C++Test测试linux下的C/C++程序,还必须安装cygwin。首先获取包含GCC3.3.x版本的cygwin本地安装包。安装过程中选择从本地安装:安装过程中建议选择全部安装(install),而非缺省安装(default)。另外,与编译器相关的选项全部选3.3.x版本(因为C++Test目前最高支持到GNU3.3.x版本)。二、建立OLT软件的测试工程利用C++Test的NewProjectwizard建立新的工程:其中编译器选GCC3.3.x,如下:工程建立后,利用ProjectConfigure,可以更改工程设置,OLT的测试工程各选项如下:编译器设置选项:INCLUDE路径选项:链接库选项:工程相关参数设置完成后,可向工程中加入需测试.c文件,进行单元测试。三、建立ONU软件的测试工程ONU的测试工程由于与PAS6201的库需要链接,因此比要复杂些。首先看一下工程的各配置项:INCLUDE路径选项,还需包含PAS6201Project的INCLUDE:链接选项中使用libPASONU.a:另外,由于PASSAVE的头文件pasosal_ucos_expo.h中有些数据类型的定义与cygwin中有重复,因此,需要使用cygwin.h头文件替代pasosal_ucos_expo.h:/*#include
*/#include(在测试完成后,仍需改回原来的头文件)四、基础单元测试步骤C++Test支持自动测试,也就是说单元测试用例可以自动产生,并自动执行。针对某个.c文件的测试步骤如下:首先,通过openfile菜单将被测文件加入工程;其次,利用buildtest菜单,对被测文件进行插桩及编译插桩后的文件;编译没有错误,则output窗口输出如下:随后,直接点击工具条中的test按钮即可开始代码静态分析及单元测试:五、高级测试功能通过以上描述,可以看出利用C++Test来进行单元测试是非常的简单。但有时自动产生的测试用例并没有达到我们的预期,则我们需要手工增加或调整测试用例。另外,C++Test还有很多高级的功能,可以帮助我们提高测试质量和效率,需要大家在测试过程中深入总结和研究。C++Test的帮助文件可以通过他的Help菜单来打开。大家可以看看它的在线帮助,应该会有用处。