一. 安装说明
51Testing软件测试网Mq%R_ x.@Hj第一步:
51Testing软件测试网X1HN [0^OWL^打开安装源程序,同普通的windows应用程序一样,选择安装路径,完成安装。
51Testing软件测试网&]/G|0b"l\']O8e第二步:
#Pnr f n/f0从桌面或者菜单打开C++Test,将弹出类似于下面的一个窗口:这里的machine ID就是C++Test和主机绑定的信息。这个machine
ID需交给华唐公司,来申请license。而由于license的种类不同,可以分为local license(单机版)和net
license(网络版)。
?y
p3De0第三步:
\2Y@n&N&}T0b0将相应的license和expire date粘贴到相应的位置,如果信息正确,系统将提示license ok。如果信息不正确,系统将提示wrong license。输入正确的license,打开C++Test,就可以进入C++Test的用户界面了。
4yp1P/rIQ.x~ `09vKH R:[D$?6?p0二. 界面说明
51Testing软件测试网0\s!si U|w9E5Z1. 源代码
51Testing软件测试网)B}u\R.v^9b"Wo/^在源代码窗口可以看到我们所
测试的代码,界面非常友好,当选择代码时,被选择的代码也会以蓝色块的形式出现。并且,当我们进行了静态分析和动态分析时,这
里我们也可以非常直观的观测到静态分析和动态分析的结果。代码左侧的红色精灵帽表示静态分析时出现问题的所在,蓝色感叹号则表示动态分析时出现问题的所
在。点击相应的地方,会出现对问题的一个简单描述。
j6s:z;|3B"A0E)@|0SS(mp02. 静态分析
f4j
N0C['kg$M7l0在静态分析栏中的Results标签是对静态分析结果的一个罗列。每个红色精灵帽都代表一种违规行为,而它旁边的数字则代表测试代码中出现这种违规的次数。紧接着的字母表明违规行为的严重级别。再后面就是对这条规范的大致描述以及规则编号。
51Testing软件测试网vH0eK_Og)E而标签Rules Manager则是对这些规则的管理,当用户需要使用某条规则的时候,只需要在相应规则左侧的方框内打上勾就表明选择了该条规则。而当用户不需要某条规则检查的时候,只需要去掉相应规则的勾就可以了。
51Testing软件测试网ac!Mh$d \51Testing软件测试网/L
yY)|wI o:l3. 动态分析
xljA3M3?0在动态测试中的Test Case/Results栏中,主要是对测试用例的一个总体管理。在这里,所有的测试用例的状态都一目了然,绿色表示成功,红色表示失败。用户可以自己添加或修改测试用例。
51Testing软件测试网q8W)Lx
?E8OZ而Stub Tables栏则是对桩函数的管理,Suppressions则是对测试对象的一个管理。例如,上面的Data类有很多个成员函数,当用户并不想全部都测,而只是测其中的几个。这个时候就可以通过Suppressions进行选择。
-A5J!c.nR,r0除此之外,上面的Tree filter还提供强大的滤波器功能,可以让用户更好的关注他们的焦点,例如只看最近一次测试的失败用例。
51Testing软件测试网s!P:gDS.vGY51Testing软件测试网 OR]0bdw5c4. 过程进度
*SWN(WR cL0这栏就是在测试进行中,C++Test告诉用户进度的一个对话框。所有的测试都分成静态动态两部分。红X表示此次测试不进行的部分,绿勾代表此次测试进行了的部分。后面的数字则是对测试用例的统计。例如(6/7)表示,总共有7个测试用例,其中6个已经进行了测试。
51Testing软件测试网&LN"dQ4xP*S!W&{,I0?G0三. 操作
51Testing软件测试网qMr
cg:f2X8P{1.
建立测试环境
2k7@!Mr-se"\ @be}0(1) 打开C++Test,选择file/open file,选择C++Test安装目录下examples/cpptest_demo.cpp,这个cpp文件将出现在当前的project下。
t-qn~&{J0nw
gcx)zJ4}f7UZ0(2) 在当前project下,右击cpptest_demo.cpp,选择read symbols(读入符号表),此时C++Test将parse(剖析)这个源程序,分析出此文件的文件
结构。
F.[C(Lv0U3s
x#|s:H0(3) 右击cpptest_demo.cpp,选择build test,C++Test将自动的建立测试环境,包括测试驱动程序,桩模块。
'C%lWSA]BS&j051Testing软件测试网C0d$lU-A/fN2. 静态测试
7q9Dj H!n2VA1gh0单击静态测试的按钮,C++Test将自动完成对源代码的静态测试,也就是我们所说的代码走查,走查所用到的规范可以在静态测试标签的rule manage下看到。
/\%\"q%j-X4{0下图,右侧就是静态测试(代码走查)的结果。每条违规信息包括对违规的描述,该错误共发生的次数以及相对应的具体位置。而下面的rule
desription则是对这条规则的一个比较详细的描述。顶层的文件夹后面的“I=4 PV=1 V=33……”描述的是整个的对违规信息的统计。
51Testing软件测试网5A(g/J
f/sGA]| |I表示information,通知行为
51Testing软件测试网}
O6M%mLc eQ8~[*{PV表示possible violation,可能的违规行为
g
Z3D E"| Zn0V表示violation,违规行为
51Testing软件测试网3U}
W
Lp#[YxWPSV表示possible servere violation,可能的严重违规行为
7n$M5kv3y*hur;k0SV表示servere violation,严重违规行为。
51Testing软件测试网6?7K0J1C/sg,Y51Testing软件测试网t*jH/^f,M0E3. 动态测试(Native)
51Testing软件测试网(zS#df1?3H5M单击动态测试的按钮,C++Test将自动完成代码的动态测试。可以从各个层面上(单个测试用例,整个函数的测试用例,整个代码的测试用例)去看相对应代
码的覆盖率。操作的时候,只需要右击相应的层次(例如一个测试用例),选择show coverage,就可以看到对应的覆盖率了。
;B7P0rq_*sQ df"B0下图,右侧就是对动态测试的一个整体描绘。列举了所有的测试用例,并且用颜色来区分成功和失败的测试用例,绿色代表成功通过了的测试用例,而红色代表没有通过也就是失败了的测试用例,对于每个错误的测试用例都有一个大致的描述。
51Testing软件测试网%{anRL1{l每个测试用例或者各个节点上都做到了相应的覆盖率信息,包括了LC(语句覆盖),BBC(块覆盖),PC(路径覆盖),DC(决策覆盖),MCDC(多条件决策覆盖)以及CC(条件覆盖)。
51Testing软件测试网5Ua"s4F l I%l:Eu此外,上面的tree filter过滤器功能可以帮助用户迅速察看到自己关心的焦点或错误。
!ukO6Grn9si#Qf0