




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XKCV ST 0901密 级:公开 分类号:西南科技大学机器视觉团队项目文件 C+Test使用说明书项目名称:软件测试工具推广 项目编号:09cv001 附 件 无 页 数 共 67页 发布时间 2009年 11月 15日文件版本 V1.1西南科技大学机器视觉团队 E-mail:cvchina文件编号:XKCV-ST-0901文件名称:C+Test使用说明书软件测试工具推广使用项目名称项目编号 09cv001编 制 软件测试组 年 10月 27日 校 对 软件测试组 年 11月 10日 审核软件测试组 郭庆 2009年 11月 14日会签标准化质量保证组 杨振中 年 月 日批准西科视觉团队
2、范勇 年 月 日编制说明1 文件应用范围C+Test使用说明书 是该软件的英文使用说明书为主要依据而编写的项目技 术文件,其主要目的是指导西科机器视觉团队成员如何利用该软件进行静态代码走查 和单元测试,以提高软件代码的编写质量等。2 编写依据C+Test英文使用说明书3 其它需要说明的事项无文档变更说明修订内容项目 内容 详细说明 备注C+test 6.7版本的使用说明书,版本号改变2. 增加了 Unit test(using source test case内容 针对于该 C+test 6.7版本, 对新增的 Unit test(using source test case部分做了扩充南,对
3、版本结构进行了优化,新增 ATM 机案例4. 增加了安装 注意事项备 注 针对大家在安装时遇到的问题, 进行了一些说明的补充,细化了安装过程补充说明:由于是在应用于 6.5版本的基础上对其进行修改的, 所以难免会出现一些衔接上的错误; 另外由于整合较为仓促,可能对于文档中的一些错误未得到修正。 鉴于水平有限, 对于文档中语句描述模糊的地方望见谅, 有什么不同的理解, 欢迎讨论。 该版本只是一个针对使用入门的版本,并未覆盖高级功能。 目录 编制说明 . . 2文档变更说明 . . 3目录 . 4一. C+Test概述 . . 6二、安装说明 . 7三、界面说明 . 91. 菜单栏:. . 9Fi
4、le 菜单 . . 9Edit 菜单 . 10Project 菜单 . 10Tests 菜单 . . 10Coverage 菜单 . . 12Settings 菜单 . . 13Tools 菜单 . 14Help 菜单 . 152. 工具栏 . . 153. Project Tree 区 . 154. Main GUI Panel 区 . 165. Output/MessagePanel 区 . . 176. Test tab . 17Source Code Tab . . 17Coding Standards Tab . . 18Unit Testing Tab . 19Test Progr
5、ess Tab . 21四、测试操作 . 221、建立测试环境 . . 222、 Project Configurations和 Test Configurations. 232.1、建立一个自定义工程配置的方法 . . 232.2、了解一个工程配置 . . 242.3、 Test Configurations . . 253、 Coding Standards (代码走读 . 253.1、静态检测 . . 253.2、探索与修正静态测试违规项 . . 263.3、屏蔽部分静态测试规则 . . 293.4、 Test Configuration (配置用户自定义的单元测试规范 . . 304、
6、 Unit testing (Source 单元测试 . . 324.1、准备工作:. . 334.1.1. 覆盖范围:. . 334.2.2. 事先准备条件:. . 344.3.3. 调试器的整合:. . 344.2、单元测试具体操作:. . 354.2.1:自动生成源单元测试 . . 354.2.2:检查结果 . 354.2.3:分析测试覆盖 . . 374.2.4:使用用户自定义的测试用例提高覆盖率 . . 394.2.5:检查和核实函数结果 . . 434.2.6:使用断言宏 . . 454.2.7:使用 setup(和 teardown(函数 . 464.2.8:使用和配置桩 . .
7、 484.2.9:使用测试单元 . . 514.3、生成 HTML 格式的报告文件 . 555、 Unit testing (Native 单元测试 . 575.1执行单元测试(Native 异常测试 . 575.2解决异常检测中报告的异常 . . 595.3对某些函数进行单独的测试配置 . . 605.4执行单元测试(Native 生成回归测试套件 . 615.5分析测试覆盖 . . 665.6增加覆盖率 . . 675.7生成 HTML 测试报表 . 67一. C+Test概述C+Test是一个 C/C+单元测试工具,自动测试任何 C/C+类、函数或部件,而不需要 您编写一个测试用例、 测
8、试驱动程序或桩调用。 C+Test能够自动测试代码构造 (白盒测试 、 测试代码的功能性(黑盒测试和维护代码的完整性(回归测试 。C+Test是一个易于使 用的产品, 能够适应任何开发生命周期。 通过将 C+Test集成到开发过程中, 您能够有效地 防止软件错误,提高代码的稳定性,并自动化单元测试技术(这是极端编程过程的基础 。 支持平台:Windows2000,WindowsNT,Linux支持编译器:VC 6.0 GNU,VC7.0 GNU(Windows2000/NTGCC(Linux功能描述:静态测试(Coding StandardsC+Test内嵌了业界最出名的 Effective
9、C+(epcc、More Effective C+(mepcc、 meyer-klaus(mk以及 Universal Code Standard(ucs规范。同时,它也集成了由 parasoft 累积出来的一些规范。静态测试中,C+Test会对代码进行详尽的扫描,验证代码中是否存 在和这些规范相冲突的地方, 尽快的发现一些简单或低级错误, 避免由它们带来的集成扩散。 动态单元测试(Unit TestC+test可以执行所有的单元测试类型,测试的水平和范围都能够通过用户来自定义。 单元测试支持两种相对独立的测试案例, 即源测试案例 (Source 和本机测试案例 (Native 。 所谓的源测
10、试案例, 即对可修改的源代码进行测试, 并在原编译器中进行修改; 而本机 测试案例是在C+Test专用的设计性测试环境下进行测试与修改, 可以自创建和审阅、 编辑。 一般情况下我们推荐使用源测试案例分析, 这主要适用于那些不习惯在其他环境下编译代码 的人, 还有就是如果有外部数据需要被调用的时候, 以及一些应用接口无法被合并的情况下。 源测试案例就是测试用例的代码部分可以随时修改或添加, 这些测试用例使用的格式与 普通的CppUnit格式一致。 C+test源测试提供比 CppUnit 更广泛的功能,包括测试 C 语言代 码的能力,并在测试框架内提供编程访问,来访问私有和保护的变量和成员函数。
11、本机测试案例是在 c+test软件的环境中对代码进行测试、分析和修改。本机测试非常 适合于那些不愿再代码上下功夫修改, 希望通过软件对代码进行修改和编辑的人。 在你使用 本机单元测试情况下,你可以使用 c+test中的图形化的编辑窗口和对象库添加和编辑测试 用例。这样可以允许你扩展你的测试组件而不必对代码进行编辑。您还可以自定义 c+test中的测试条目和生成测试用例的数目以及从外部调用的数据。C+Test提供了常用测试配置。当然为了对代码进行不同的测试策略,这些测试配置你 也可以自己定义。 回归测试C+Test完全自动化与回归测试有关的所有步骤。C+Test首次测试某个类时,自动保 存其测试
12、和测试参数。 当需要执行回归测试时, 你可以打开合适的项目和文件, 运行所有原 来的白盒和黑盒测试用例;C+Test会自动运行完全相同的测试用例和测试参数,并告之发 现的任何问题。这意味着你能够立即知道修改是否引入了任何错误。二、安装说明在安装 C+Test之前,一定要先安装好 Microsoft Visual C+ (6. 0或 . NET。并且关 闭 Microsoft Visual C+。1、 安装 insure+ 7.0.6以上版本,安装过程傻瓜式,安装完后,用注册机进行破解 注:注册机的使用见下图,分为两步:1、点击 patchPubkey2、在Insure+Control Pane
13、l 里 面将注册码拷贝进去,应用确定即可 2、安装 C+test 6.7,同样是傻瓜式安装,安装过后重启电脑(一定要重启 ,运行注 册机破解,然后在 licence 里面填入注册码,方法同上(可以使用破解补丁破解,但是建议 都用注册机 C+Test安装完毕后, 自动和 Microsoft Visual C+集成, 如图 2 1所示, 在 Microsoft Visual C+工具栏上显示包含如下选项:图 2 1其中:Launch C+TestGUI :打开 C+Test界面; Coding standards(File:执行代码检查; Unit Testing (File:执行动态测试、回归测
14、试; Complete Analysis (File:自动导入 Microsoft Visual C+当前打开的文 件到 C+Test, 编译测试用例, 执行静态和 动态测试; Complete Analysis (Project:自动导入 Microsoft Visual C+当前打开的工程到 C+Test,编译测试用例,执行静态和动态测试; Stop :停止测试 三、界面说明启动 C+Test:可以从 Microsoft Visual C+上的 Launch C+TestGUI 按钮启动 C+Test, 也可以 直接启动 C+Test,启动后,进入 C+Test界面如图 3 1。图 3 1
15、1. 菜单栏: 图 3 2File 菜单 New Project :创建新的测试项目。 Open Project :打开项目。 Close Project :关闭项目。 Save Project :保存项目。 Save project As :项目另存为。 Open File(s:打开文件。 Close File(s:关闭文件。 Close All File(s:关闭所有的文件。 Import :从其它项目、用户或第三方库导入测试用例或测试对象。 Export :导出测试用例或测试对象到其它项 目、用户或第三方库。 Print Report :打印测试报告。 Print Preview :打印
16、预览。 Print To File :打印到文件 Generate HTML Report :生成 HTML 文件格式的报告。 Recent Files :最近打开的文件。 Recent Project :最近打开的项目。 Exit :退出。 图 3 3Edit 菜单Edit source :打开项目树面板中选中的文件。以何种编译器打开需要在下面设置 Find :搜索。 Refresh :当代码修改后,点此菜单更新 C+Test中的代码。 Project 菜单Project Configuration :对项目进行设置,应用于项目中所有的 C+Test测试。 (一般我们主要是对 Linker
17、options 和 Ignore paths 进行设置。另外还有些设置未进行详究 Update Project :更新当前测试的 C+工程文件 Create Test Unit :创建测试单元,我们可以把多个文件放在测试单元中一起测试。 Tests 菜单Read Symbols :读入符号表。此时 C+Test将 parse(剖析这个源程序,分析出此文件 的文件结构,生成桩函数Build Test :C+Test自动建立测试环境,包括测试驱动程序。Re-read Symbols :重新读符号。Rebuild Test :重新编译。Test Using:进行测试,在测试之前要选择所用的规则Tes
18、t Configuration:测试设置Import Result:导入结果Stop: 结束测试关于测试设置的几点说明:1. 规则范围的设置。选择 tests testconfigurations 进入规则设置界面,这里可 以进行静态代码检查规则的设置,如图 3 4。 图 3 4这里我们可以看到,这里包含了 c+test中所有的规则集所包含的范围,我们可以自己 设置规则的范围。 2、本机单元测试 Unit Testing (Native 的设置。这里可以对项目或项目下的单个文件进行 参数设置。如果要为某个文件、类或方法定制测试参数,在项目树中用右键或菜单选择。 单元测试的设置由四部分组成:值、
19、 类型、 测试用例生成和浮点类型精度配置。 A、 自动测试设置值 Value Groups (图 3 5 图 3 5图 3 6这些设置描述在动态分析测试时分配给变量的值一般是如何确定的:Parent Values :Values are defined only in the parents context 。 Standard Values :在测试参数中预先定义的标准值。 Heuristic Values :在自动生成测试用例时采用“智能参数推测 (Smart Argument Guessing ” 技术一种内建的专门为测试设计的智能系统,可以根据代码中的上下文关系生成更好的输入值。 Us
20、er Defined Values :用户自定义的特殊值。 B、 自动测试设置类型 Types (图 3 6 C+Test在测试每种类型的变量(布尔 /字符 /整数等时将要分配的值。你可以使用或禁用 某些值,或增加自己的特定值。 C+Test还提供了指定一组值的能力。 C、 自动测试设置测试用例生成 Test Case Generation (图 3 7 图 3 7这里是用来控制动态分析测试的测试用例生成:Max. Count of Generated Test Cases:对一个被测函数可能生成的最大测试用例的数量。 Max Depth of Field Inspection:对分层或嵌套的
21、类可能生成的测试用例的最大深度。 Timeout (inseconds for Test Case Execution:一个测试用例执行的最长时间(秒数 ,超过这 个时间, C+Test将给出一个信息并终止当前测试用例的执行,转到下一个测试 用例执行。 Max. Dynamic Allocation Size:对于一个给定的变量,当动态分配内存(该变量类型时,分 配的元素的最大数量。 该参数避免分配过量的内存, 而你在当前测试时并不需要, 例如数组。允许任何大于 0的整数。 Object Initialization Mode:你可以自由选择地初始化对象,有三种方法:1 Use Constru
22、ctors 使用构造函数, 2 Using Member Wise 在成员函数中直接初始化, 3 Use Object Repository 使用对象库中保存的自定义对象。可以组合 使用这些方法。注意只使用构造函数时,产生的测试用例可能比预期的要 少。 D、 自动测试设置浮点类型精度 Float Types Precision (图 3 8 图 3 8这里主要是对浮点数单独进行设置:其中包括 float 、 double float 、 long double 三种类型。 Coverage 菜单Show Coverage :启动覆盖率窗口显示覆盖率信息。可以实时显示覆盖率信息。见图 3-9这里
23、用灰色包含的就是覆盖的语句。 图 3-9Clear Coverage :清除覆盖率信息。 Enable Cumulative Coverage :生成累计的覆盖信息, 选中此菜单可以看到每条语句被执行 的次数。 Coverage Source :覆盖信息来源 Any:来源于任何测试用例 Own:只来源于自身函数产生的测试用例 External:来源于其他函数产生的测试用例调用所产生的覆盖率 Settings 菜单Customize :通用测试参数设置,应用于整个 c+test操作。点击之后会出现如图 3 10所示 的信息。 图 3 10Change Toolbar :定置工具条 Show To
24、oltips :显示工具条的提示 Tools 菜单Rule Wizard :进入静态规则编辑(这里可以看到所有的自带规则 。见下图 3 11 图 3 11Help 菜单Contents :点击可以打开用户手册,在其中可以选择查看 Index :点击此处会弹出一个索引表里面包含了所有的在 c+test中出现的英文单词或词组。 图 3 12Context help :背景帮助。这里主要是对界面的介绍 Tutorial :使用指南 Forum :论坛 license :许可证 Technical Support :技术支持 2. 工具栏图 3 13从左边起:Open File (s 、 New Pr
25、oject 、 Open Project 、 Close Project 、 Save Project 、 Test Using Active Configuration 、 Stop 、 Import Test Object (s 、 Export Test object(s、 Import Test Case (s 、 Export Test Case (s 、 Customize 、 Context Help 。 各功能见菜单栏说明。 3. Project Tree区刚刚导入文件之后或出现如下图所示的未读入的符号表。 图 3 14(未读入符号表 点击鼠标右键 Read Symbol 之后
26、,文件树区会变为如下的一度如的符号表。 图 3 15(已读入符号表 4. Main GUI Panel区这里显示的就是 C+test软件的整个使用界面。 西南科技大学机器视觉团队 E-mail:cvchina5. Output/Message Panel 区图 3 16这里就是各种信息输出的窗口。包括程序执行过程、错误类型以及解决方法等。 6. Test tabSource Code Tab图 3 17在源代码窗口可以看到我们所测试的代码,当选择代码时,被选择的代码也会以蓝色块 的形式出现。 并且, 当我们进行了静态分析和动态分析时, 这里我们也可以非常直观的观测 到静态分析和动态分析的结果。
27、 代码左侧的红色精灵帽表示静态分析时出现问题的所在, 黄 色齿轮则表示动态分析时出现问题的所在。 点击相应的地方, 会出现对问题的一个简单描述。 图 3 18快捷菜单:在 Source Code区单击鼠标右键,出现快捷菜单。 Edit Source :进入代码编辑。 Search :搜索代码。 Refresh :更新。 View Coding Standards Resulits :切换到代码走读 页查看静态分析结果。 View Unit Testing(SourceResulits :切换到单元测 试(Source 页查看动态分析结果。 View Unit Testing(NativeRes
28、ulits :切换到单元测试 (Native 页查看动态分析结果 Show Coverage :查看覆盖率。 Text Properties :代码颜色显示设置。 图 3 19Coding Standards Tab图 3 20在静态分析栏中的 Results 标签是对静态分析结果的一个罗列。每个红色精灵帽都代表一种违规行为, 而它旁边的数字则代表测试代码中出现这种违规的次数。 紧接着的字母表明 违规行为的严重级别。再后面就是对这条规范的大致描述以及规则编号。 而当用户只需要某条规则检查的时候,只需要选择相应规则的就可以了。 具体操作如下 图。这样可以使用户方便的按类(违反规则的级别分别显示结
29、果。 图 3 21快捷菜单: 在 Coding Standard 框中单击鼠标右键。就会出现此快捷菜 单。 Launch RuleWizard :进入规则编辑界面。 Show Rule Description :显示规则描述。 Sorting Mode :按照某种规则排序。 Edit Source :进入编辑器对代码进行编辑。 Suppress :抑制某条规则。 Unsuppress :释放抑制项。 Printer Report :打印报告。 Generate HTML Report :生成 HTML 文件报告。 图 3 22Unit Testing Tab在动态测试栏中,主要是对测试用例的一
30、个总体管理。在这里,所有的测试用例的状态都一目了然,绿色表示成功,红色表示失败,问好显示的是测试用例无效。用户可以自己 添加或修改测试用例。 图 3 23其中:OK :函数返回正确的值或者函数执行后对象的条件满足。 Failed (FLD :函数返回值不正确或者函数执行后对象的条件不满足。 Error (ERR :使用者或系统出现异常导致错误。 Tested (TST :实际执行的测试用例个数。 Total (TOT :总的测试用例个数。 LC (LineCoverage :语句覆盖。 BBC (BasicBlock Coverage :块覆盖。 PC (PathCoverage :路径覆盖。
31、 DC (DecisionCoverage :决策覆盖。 MC/DC(ModifiedCondition/DecisionCoverage :多条件决策覆盖。 CC (ConditionCoverage :条件覆盖。 添加修改测试用例:(针对于 Native test case 其中:. 参数(Arguments :函数的入口参数。 . 参数出口条件(Arguments Post :函数执行完成时入口参数的状态。 . 返回值(Return :函数的返回值。 . 对象前置条件(Pre ConditionsThis :测试开始前对象的条件。 . 对象后置条件(Post ConditionsThis
32、 :测试执行后对象的条件。 . 前置条件(Pre ConditionsExternals :测试开始前全局变量的条件。 . 后置条件(Post ConditionsExternals :测试执行后全局变量的条件。 图 3 24而 Stub Tables 栏则是对桩函数的管理,桩函数可以是 C+Test自动生成,也可以是由用 户自己编写,还可以使用原始的库。我们可以在这里定制桩函数。 Suppressions 则是对测试 对象的一个管理。例如,上面的 Data 类有很多个成员函数,当用户并不想全部都测,而只是测其中的几个。这个时候就可以通过 Suppressions 进行选择。 在桩函数上双击鼠
33、标左键,就可以对桩函数进行编辑。通过 stub type for selected function 来选择桩函数的类型。 除此之外,上面的 Tree filter 还提供强大的滤波器功能,可以让用户更好的关注他们的 焦点,例如只看最近一次测试的失败用例。 快捷菜单: 图 3 25图 3 26Play Selected Test Cases :运行所选的测试用例。 Debug Selected Test Cases :调试所选的测试用例。 Add :增加测试用例。 Delete :删除测试用例。 Edit :编辑测试用例。 Clear Results :清除结果。 Import :导出测试用例
34、。 Export :导入测试用例。 Tree Settings :设置。 Print Report :打印报告。 Generate HTML Report :生成 HTML 文件报告。 Edit User Stub Source :编辑桩函数。 Edit Source :编辑代码。 Test Progress Tab这栏就是在测试进行中, C+Test告诉用户进度的一个对话框。所有的测试都分成静态 动态两部分。 红 X 表示此次测试不进行的部分, 绿勾代表此次测试进行了的部分。 后面的数 字则是对测试用例的统计。 例如 (6/7表示, 总共有 7个测试用例, 其中 6个已经进行了测试。 图 3
35、 27四、测试操作这一章我们具体演示一下一个简单的测试流程。 1、建立测试环境(1打开 C+Test,选择 file/New Project创建一个新的测试项目,选择 File/Open file,选择 C+Test安装目录下 examples/cpptest_demo.cpp,这个 cpp 文件将出 现在当前的 project 下。 图 4 1(2 在当前 project 下,右击 cpptest_demo.cpp,选择 read symbols (读入符号表 ,此时C+Test将 parse(剖析 这个源程序,分析出此文件的文件结构 (3 右击 cpptest_demo.cpp, 选择 b
36、uild test, C+Test将自动的建立测试环境, 包括测试驱动程序,桩模块(图 4 2是桩模块的生成配置 图 4 22、 Project Configurations和Test Configurations2.1、建立一个自定义工程配置的方法1project-Project Configurations2 我们看到里面 built-in 里面有一些现成的工程配置, 右键一个默认的工程配置, 选 择 Copy to User |Project|TeamTips: Project:这个工程配置保存在当前的工程User:工程配置保存在本地驱动器,独立于当前工程Team:应用于 TCM(TCM的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省九校联盟2024-2025学年高三下学期第二次联考化学试卷
- 2025陕西西安交通大学第一附属医院肾移植科招聘派遣助理医生笔试模拟试题及答案解析
- 小学二年级数学100以内三数加减混合运算同步练习训练题带答案
- 重症患者输液管理制度
- 透析护士个人年终总结
- 部编版三年级语文下册-荷花(内附生字课件)
- 人教河南 九年级 下册 语文 第三单元《 课外古诗词诵读》习题课 课件
- 人教陕西 九年级 下册 语文 第四单元《 驱遣我们的想象》习题课 课件
- 车间物料员培训
- 沪教版高中语文第四册陈情表 同步练习 注音
- 2025年南京科技职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 引水隧洞施工中通风计算
- 八年级物理(上册)知识点整理 (2)
- 高中物理万有引力定律知识点总结与典型例题
- 吊装平台施工方案
- 欧姆定律-中考复习课件
- 中学语文课程标准研究最新试题及答
- 检验科停电应急预案通用版(共4页)
- 如何激发学生学习物理的兴趣PPT课件
- CRH2 第5章 转向架
- 2020年第32届中国化学奥林匹克竞赛(江苏赛区)初赛试卷
评论
0/150
提交评论