C++Test的使用说明

发表于:2008-09-17来源:作者:点击数: 标签:TESTTesttest
一.安装说明 第一步: 打开安装源程序,同普通的 windows 应用程序一样,选择安装路径,完成安装。 第二步: 从桌面或者菜单打开C++Test,将弹出类似于下面的一个窗口:这里的machineID就是C++Test和主机绑定的信息。这个machineID需交给华唐公司,来申请lic

一. 安装说明
第一步:
打开安装源程序,同普通的windows应用程序一样,选择安装路径,完成安装。
第二步:
从桌面或者菜单打开C++Test,将弹出类似于下面的一个窗口:这里的machine ID就是C++Test和主机绑定的信息。这个machine ID需交给华唐公司,来申请license。而由于license的种类不同,可以分为local license(单机版)和net license(网络版)。
第三步:
将相应的license和expire date粘贴到相应的位置,如果信息正确,系统将提示license ok。如果信息不正确,系统将提示wrong license。输入正确的license,打开C++Test,就可以进入C++Test的用户界面了。

二. 界面说明
1. 源代码
在源代码窗口可以看到我们所测试的代码,界面非常友好,当选择代码时,被选择的代码也会以蓝色块的形式出现。并且,当我们进行了静态分析和动态分析时,这里我们也可以非常直观的观测到静态分析和动态分析的结果。代码左侧的红色精灵帽表示静态分析时出现问题的所在,蓝色感叹号则表示动态分析时出现问题的所在。点击相应的地方,会出现对问题的一个简单描述。

2. 静态分析
在静态分析栏中的Results标签是对静态分析结果的一个罗列。每个红色精灵帽都代表一种违规行为,而它旁边的数字则代表测试代码中出现这种违规的次数。紧接着的字母表明违规行为的严重级别。再后面就是对这条规范的大致描述以及规则编号。
而标签Rules Manager则是对这些规则的管理,当用户需要使用某条规则的时候,只需要在相应规则左侧的方框内打上勾就表明选择了该条规则。而当用户不需要某条规则检查的时候,只需要去掉相应规则的勾就可以了。

3. 动态分析
在动态测试中的Test Case/Results栏中,主要是对测试用例的一个总体管理。在这里,所有的测试用例的状态都一目了然,绿色表示成功,红色表示失败。用户可以自己添加或修改测试用例。
而Stub Tables栏则是对桩函数的管理,Suppressions则是对测试对象的一个管理。例如,上面的Data类有很多个成员函数,当用户并不想全部都测,而只是测其中的几个。这个时候就可以通过Suppressions进行选择。
除此之外,上面的Tree filter还提供强大的滤波器功能,可以让用户更好的关注他们的焦点,例如只看最近一次测试的失败用例。

4. 过程进度
这栏就是在测试进行中,C++Test告诉用户进度的一个对话框。所有的测试都分成静态动态两部分。红X表示此次测试不进行的部分,绿勾代表此次测试进行了的部分。后面的数字则是对测试用例的统计。例如(6/7)表示,总共有7个测试用例,其中6个已经进行了测试。

三. 操作
1. 建立测试环境
(1) 打开C++Test,选择file/open file,选择C++Test安装目录下examples/cpptest_demo.cpp,这个cpp文件将出现在当前的project下。

(2) 在当前project下,右击cpptest_demo.cpp,选择read symbols(读入符号表),此时C++Test将parse(剖析)这个源程序,分析出此文件的文件结构。

(3) 右击cpptest_demo.cpp,选择build test,C++Test将自动的建立测试环境,包括测试驱动程序,桩模块。

2. 静态测试
单击静态测试的按钮,C++Test将自动完成对源代码的静态测试,也就是我们所说的代码走查,走查所用到的规范可以在静态测试标签的rule manage下看到。
下图,右侧就是静态测试(代码走查)的结果。每条违规信息包括对违规的描述,该错误共发生的次数以及相对应的具体位置。而下面的rule desription则是对这条规则的一个比较详细的描述。顶层的文件夹后面的“I=4 PV=1 V=33……”描述的是整个的对违规信息的统计。
I表示information,通知行为
PV表示possible violation,可能的违规行为
V表示violation,违规行为
PSV表示possible servere violation,可能的严重违规行为
SV表示servere violation,严重违规行为。

3. 动态测试(Native)
单击动态测试的按钮,C++Test将自动完成代码的动态测试。可以从各个层面上(单个测试用例,整个函数的测试用例,整个代码的测试用例)去看相对应代码的覆盖率。操作的时候,只需要右击相应的层次(例如一个测试用例),选择show coverage,就可以看到对应的覆盖率了。
下图,右侧就是对动态测试的一个整体描绘。列举了所有的测试用例,并且用颜色来区分成功和失败的测试用例,绿色代表成功通过了的测试用例,而红色代表没有通过也就是失败了的测试用例,对于每个错误的测试用例都有一个大致的描述。
每个测试用例或者各个节点上都做到了相应的覆盖率信息,包括了LC(语句覆盖),BBC(块覆盖),PC(路径覆盖),DC(决策覆盖),MCDC(多条件决策覆盖)以及CC(条件覆盖)。
此外,上面的tree filter过滤器功能可以帮助用户迅速察看到自己关心的焦点或错误。

4. 动态测试(Source)
单击动态测试的按钮,
C++Test将自动完成代码的动态测试(Source)。

5. 生成报表
选择file/generate report,根据对报表的需求,选择适当的报表内容种类(例如dynamic analysis1,coverage statistic1)。然后就会生成一个HTML格式的报表。
报表有多种类别和格式。 可以按照自己的需要来挑选。

原文转自:http://www.ltesting.net