ParasoftC++Test操作手册.docx
- 文档编号:1607783
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:68
- 大小:5.11MB
ParasoftC++Test操作手册.docx
《ParasoftC++Test操作手册.docx》由会员分享,可在线阅读,更多相关《ParasoftC++Test操作手册.docx(68页珍藏版)》请在冰豆网上搜索。
ParasoftC++Test操作手册
C++Test介绍
修订历史记录
日期
版本
说明
作者
C++Test6.0
C++Test原理,使用介绍,RuleWizard定制规则
第一章C++Test特性
C++Test是一个C/C++单元测试工具,自动测试任何C/C++类、函数或部件,而不需要您编写一个测试用例、测试驱动程序或桩调用。
C++Test能够自动测试代码构造(白盒测试)、测试代码的功能性(黑盒测试)和维护代码的完整性(回归测试)。
C++Test是一个易于使用的产品,能够适应任何开发生命周期。
通过将C++Test集成到开发过程中,您能够有效地防止软件错误,提高代码的稳定性,并自动化单元测试技术(这是极端编程过程的基础)。
特性
∙即时测试类/函数
∙支持极端编程模式下的代码测试
∙自动建立类/函数的测试驱动程序和桩调用
∙自动建立和执行类/函数的测试用例
∙提供快速加入和执行说明和功能性测试的框架
∙执行自动回归测试
∙执行部件测试()
优点
∙帮助您立即验证类功能性和构造
∙将您从编写测试驱动程序、桩和测试用例的繁重工作中解放出来
∙自动化极端编程和其它编程模式的单元测试过程
∙使得您能够实现和执行100%的代码覆盖性
∙支持紧急和短线开发项目
∙降低调试和维护时间
∙改善应用的可靠性
∙防止简单错误的扩大
系统要求
最小系统要求:
∙Pentiumclassprocessor800MHz
∙512MBRAM(1024MBisremended)
∙150MBfreediskspaceforC++Testinstallation
其他要求:
∙保留足够的磁盘空间供测试使用。
支持平台
Windows
•SupportedPlatforms:
WindowsNT,2000,XP
•Supportedpilers:
Microsoft®VisualC++®6.0,.NET®,or.NET2003®,GNUGCC2.95xor3.x.
CygwinGCC2.95.x,3.2.x,3.3.x
MingwGCC2.95.x,3.2.x,3.3.x
UNIX
•SupportedPlatforms:
Linuxkernel2.4(withSystemVIPC),glibc2.2,Pentiumprocessor
Solaris7,8,9,UltraSPARCprocessor
•Supportedpilers:
GNUGCC3.2.x,GNUGCC3.3.x,GNUGCC3.4.x
Sun®C++5.3®(SunForteC++6Update2forSPARCSolaris),Sun®C++5.5®(SunONEStudio8)
第二章C++Test使用
一.安装说明
1.Windows下安装
打开安装源程序,同普通的windows应用程序一样,选择安装路径,完成安装。
2.申请License
1.申请License
从桌面或者菜单打开C++Test,将弹出类似于下面的一个要求输入密码的窗口:
按“是(Y)”进入。
这里的machineID就是C++Test和主机绑定的信息。
或在进入C++Test主界面后,在菜单Help->License…可以同样打开下面的界面。
这个machineID需交给Parasoft代理商,来申请license。
而由于license的种类不同,可以分为locallicense(单机版)和netlicense(网络版)。
2.输入License
将相应的license和expiredate粘贴到相应的位置,如果信息正确,系统将提示licenseok。
如果信息不正确,系统将提示wronglicense。
输入正确的license,打开C++Test,就可以进入C++Test的用户界面了。
二.启动C++Test
1.从VC++里启动C++Test
安装VC++后,再安装C++Test,VC++工具条里会自动地增加使用C++Test的按扭。
可以启动C++Test界面,或进行C++Test静态和动态测试。
2.传统启动C++Test
开始->程序->C++Test,可以启动C++Test。
三.Linux下安装及启动
1.建议安装linuxredhat9.0及以上版本,建议安装开发工作站,同时需要图形界面支持
2.在图形界面下建立组gtest(或其他)
3.在图形界面下建立用户utest(或其他),并且属于组gtest。
utest主目录是/home/utest。
用bash。
4.在/home/utest/下建立目录cpptest,并且拷贝cpptest_linux_6.0.1.4.sh到cpptest目录下
5.在图形界面下用utest用户登录
6.在Terminaltool中进入/home/utest/cpptest目录
7.执行安装cpptest_linux_6.0.1.4.sh(或./cpptest_linux_6.0.1.4.sh)。
安装程序是脚本安装程序,没有图形安装界面。
C++Test将安装在/home/utest/cpptest目录下
8.进入/home/utest目录下。
在.bash_profile文件中给环境变量PATH行后面增加:
/home/utest/cpptest/bin。
然后保存
9.用户utest重新在图形界面下登录
10.在Terminaltool中输入c++test(或在图形界面下执行/home/utest/cpptest/bin/c++test程序)。
可以启动c++test
四.C++Test快速测试
1.打开被测文件
(1)打开C++Test,选择file/openfile,选择C++Test安装目录下examples/cpptest_demo.cpp,这个cpp文件将出现在当前的project下。
(2)在当前project下,右击cpptest_demo.cpp,选择readsymbols(读入符号表),此时C++Test将parse(剖析)这个源程序,分析出此文件的文件结构。
在源代码窗口可以看到我们所测试的代码,界面非常友好,当选择代码时,被选择的代码也会以蓝色块的形式出现。
并且,当我们进行了静态分析和动态分析时,这里我们也可以非常直观的观测到静态分析和动态分析的结果。
代码左侧的红色精灵帽表示静态分析时出现问题的所在,黄色小齿轮则表示动态分析时出现问题的所在。
点击相应的地方,会出现对问题的一个简单描述。
2.静态测试
在向右三角型旁边的下拉箭头,选择内置的编码规则项目。
C++Test将自动完成对源代码的静态测试,也就是我们所说的代码走查,走查所用到的规范可以在静态测试标签的rulemanage下看到。
在静态分析栏中的Results标签是对静态分析结果的一个罗列。
每个红色精灵帽都代表一种违规行为,而它旁边的数字则代表测试代码中出现这种违规的次数。
紧接着的字母表明违规行为的严重级别。
再后面就是对这条规范的大致描述以及规则编号。
而标签RulesManager则是对这些规则的管理,当用户需要使用某条规则的时候,只需要在相应规则左侧的方框内打上勾就表明选择了该条规则。
而当用户不需要某条规则检查的时候,只需要去掉相应规则的勾就可以了。
下图,右侧就是静态测试(代码走查)的结果。
每条违规信息包括对违规的描述,该错误共发生的次数以及相对应的具体位置。
而下面的ruledesription则是对这条规则的一个比较详细的描述。
顶层的文件夹后面的“I=4PV=1V=33……”描述的是整个的对违规信息的统计。
I表示information,通知行为
PV表示possibleviolation,可能的违规行为
V表示violation,违规行为
PSV表示possibleservereviolation,可能的严重违规行为
SV表示servereviolation,严重违规行为。
3.动态测试
在向右三角型旁边的下拉箭头,选择内置的白盒测试。
C++Test将自动完成代码的动态测试。
可以从各个层面上(单个测试用例,整个函数的测试用例,整个代码的测试用例)去看相对应代码的覆盖率。
操作的时候,只需要右击相应的层次(例如一个测试用例),选择showcoverage,就可以看到对应的覆盖率了。
在动态测试中的TestCase/Results栏中,主要是对测试用例的一个总体管理。
在这里,所有的测试用例的状态都一目了然,绿色表示成功,红色表示失败。
用户可以自己添加或修改测试用例。
而StubTables栏则是对桩函数的管理,Suppressions则是对测试对象的一个管理。
例如,上面的Data类有很多个成员函数,当用户并不想全部都测,而只是测其中的几个。
这个时候就可以通过Suppressions进行选择。
除此之外,上面的Treefilter还提供强大的滤波器功能,可以让用户更好的关注他们的焦点,例如只看最近一次测试的失败用例。
下图,右侧就是对动态测试的一个整体描绘。
列举了所有的测试用例,并且用颜色来区分成功和失败的测试用例,绿色代表成功通过了的测试用例,而红色代表没有通过也就是失败了的测试用例,对于每个错误的测试用例都有一个大致的描述。
每个测试用例或者各个节点上都做到了相应的覆盖率信息,包括了LC(语句覆盖),BBC(块覆盖),PC(路径覆盖),DC(决策覆盖),MCDC(多条件决策覆盖)以及CC(条件覆盖)。
此外,上面的treefilter过滤器功能可以帮助用户迅速察看到自己关心的焦点或错误。
4.生成报表
选择file/generatereport,根据对报表的需求,选择适当的报表内容种类(例如dynamicanalysis1,coveragestatistic1)。
生成一个HTML格式的报表。
第三章C++Test高级功能
一.导入VC++工程(ImportVC++project)
C++Test6.0可以直接导入VC++6.0project,VC++.Netproject和VC++.Net2003project文件。
菜单File->NewProject…出现下面的界面
1.选择ImportVC++6.0project
2.输入测试工程文件名称(projectname)
3.选择VC++6.0工程文件.dsp(VC++6.0projectfiles)
二.选择编译器(projectconfiguration)
如果你同时安装了VC++6.0和VC++.Net的话。
你必须选择你需要的编译器。
否则C++Test6.0会使用默认的编译器。
菜单Project->ProjectConfigurations…
选择VC++6.0为当前测试工程的编译器(下面界面默认的C++Test使用编译器是VC++.Net2003)
三.设置测试配置(testconfiguration)
C++Test6.0可以选择不同的测试配置选项对一个工程、文件进行测试。
测试配置:
是一系列编码规则、单元测试用例生成规则的组合,决定要测试什么编码规则,如何生成测试用例。
菜单Tests
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ParasoftC Test 操作手册
![提示](https://static.bdocx.com/images/bang_tan.gif)