C++ Test

上一篇 / 下一篇  2008-10-20 15:41:43 / 个人分类:DownLoad

C++ Test是什么
    C++ TestParasoft公司出品的一个针对C/C++源代码进行代码风格测试,自动化单元测试的工具。
C++ Test能给我们带来什么?
        1.        可以帮助我们检查程序的编码情况,判断是否严格按编码规范进行开发。
        2.        C/C++源代码进行分析,自动生成相应的测试用例,对函数进行初步的测试。
C++软件介绍
      C++ Test的使用比较简单。可以自己新建一个工程,也可以根据一个VC工程生成一个工程。可以对整个工程进行全面的测试,也可以一次只对一个C/C++源文件进行测试。

        

1

1.        Command1:静态分析当前的文件。主要是对代码的风格进行检查。

2.        Command2:动态分析当前的文件。主要是自动生成测试用例,对函数进行测试。

3.        Command3:静态分析和动态分析。

4.        Tab1          显示源代码。

5.        Tab2          显示静态分析结果。

6.        Tab3          显示动态分析结果。

7.        Tab4          显示测试进度。

8.        Message Area  显示一些具体的信息。 

C++ Test的使用

让我们先来看看一段很简单的程序。

      #include "windows.h"

      int Sum(int *pNum1, int *pNum2)
      {
             return *pNum1 + *pNum2;
      }
      int main()
      {
             int nSum;

            int Num1,Num2;
        
      Num1 = 1;
               
Num2 = 2;
              nSum = Sum(&Num1,&Num2);
              return 0;
}

      够简单了吧?并且也许你也写过这些代码。但这些代码书写的风格如何?存在隐患吗?那就用C++ Test分析一下。

      先来看看代码风格如何。在上图中就显示出很多,大致可归纳为如下几种:

1.        如果不允许改变参数的内容,声明参数为const

2.        不要使用tab作为空格。

3.        全局函数或变量前使用::操作符。

4.        所有int型的变量都要以“i”开头。

5.        变量声明,但没有初始化。

6.        Return的值要使用括号。 

             有六条?不太相信自己的眼睛吧?我想要有好的风格,这些建议是比较好的,但在实际工作中可能规定的太细了。要想把一匹野马驯服,还是要慢慢来的。

      C++ Test可以设置、编辑、创建静态编译的规则。就让我们来设置一下。

2

      打勾的就是选择的规则,在静态分析时就会使用这些规则。在图1Message Area中第一行显示表示所有int型的变量都要以“i”开头属于User-110规则。如果你想取消这条规则,那你在图2中找到这条规则,把勾去掉就行了,重新静态分析一下,这条提示就没有了。

      那么动态分析能做什么呢?我们先来看看结果。

      

                                            图3
     
先看第一行,这就是分析结果的总结。它表明的意思是总共产生了51条测试用例,37条测试成功,14条测试失败。

      先分析第一条失败的测试用例(AUTO_14_A0),以pNum1 = NULLpNum2=NULL为参数输入,测试失败,这就表明在函数中没有对参数的有效性进行判定,这就是程序的一个隐患。当然用户可以对测试用例进行删除和更改,还可以添加自己的测试用例,以弥补自动生成的用例。

      上面提到可以创建用户自己的代码规则,我这里也就不多说了,因为C++ Test自带的帮助已经说的很详细了。

总结

        使用了一下C++ Test,初步的个人感受有以下三点:

1.         对项目的代码统一还是很有帮助的,同时也能让编程者慢慢养成好的编码习惯。因为通过静态分析,能强制你书写规范的代码。

2.         对项目的一些简单函数进行测试,特别是边界的测试,排除一些基本的错误或代码的隐患。

最好在项目的一开始就使用C++ Test,边编写代码边检查,这样就不会欠下太多的债。在试用中发现,如果项目比较大时,最好不要直接对一个工程进行自动测试,而应按文件一个一个地测试,否则可能会导致程序死掉。

TAG: DownLoad

 

评分:0

我来说两句

Open Toolbar