51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3281|回复: 0
打印 上一主题 下一主题

[资料] C++Test的使用说明

[复制链接]
  • TA的每日心情

    2014-11-21 09:47
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2006-9-15 15:06:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一. 安装说明
    第一步:
    打开安装源程序,同普通的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格式的报表。
    报表有多种类别和格式。 可以按照自己的需要来挑选。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-4 02:57 , Processed in 0.060620 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表