VisualUnit(C&ampamp;C++单元测试工具)30简明教程

上传人:缘*** 文档编号:333172773 上传时间:2022-09-01 格式:PDF 页数:71 大小:7.76MB
返回 下载 相关 举报
VisualUnit(C&ampamp;C++单元测试工具)30简明教程_第1页
第1页 / 共71页
VisualUnit(C&ampamp;C++单元测试工具)30简明教程_第2页
第2页 / 共71页
VisualUnit(C&ampamp;C++单元测试工具)30简明教程_第3页
第3页 / 共71页
VisualUnit(C&ampamp;C++单元测试工具)30简明教程_第4页
第4页 / 共71页
VisualUnit(C&ampamp;C++单元测试工具)30简明教程_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《VisualUnit(C&ampamp;C++单元测试工具)30简明教程》由会员分享,可在线阅读,更多相关《VisualUnit(C&ampamp;C++单元测试工具)30简明教程(71页珍藏版)》请在金锄头文库上搜索。

1、目 录刖 S.1第1章 安装与示例.21.1 运行环境与安装.21.1.1 下载与安装.21.1.2 运行环境.21.1.3 编译器.21.1.4 适用范围.21.2 示例工程介绍.21.2.1 打开示例工程.21.2.2 用于学习基本功能的示例.21.2.3 用于体验ETDD的示例.21.2.4 执行测试.31.3 快速体验VU2.3第2章 建立工程.42.1 示例说明.42.2 建立工程.42.2.1 打 开“新建工程向导”.42.2.2 模板选择.42.2.3 导入数据.52.2.4 常规信息.52.2.5 设定测试任务.62.2.6 指定头文件搜索目录.72.2.7 编译选项.82.2

2、.8 链接选项.102.2.9 高级选项.12第3章常见错误与解决.14II3.1 解析错误.143.1.1 解析错误:文件 xxx 包含的文件 xxx.h 未找到.143.2 编译错误.153 2 1 编译错误:文件未找到.163.2.2 编译错误分析.163.2.3 解决错误的途径.163.3 链接错误.193.3.1 符号未定义:.193.3.2 符号重定义错误.21第4章建立用例.244.1 生成用例代码.244.2 生成用例数据.25第5章测试输出及应用.295.1 测试输出窗口的操作.295.2 信息窗口.295.2.1 用例数与当前用例.305.2.2 速度测试结果.305.2.

3、3 白盒覆盖率.304.2.4 测试断言.305.2.5 测试状态.305.2.6 失败的测试.305.3 数据窗口.315.3.1 数据种类.315.3.2 显示格式.315.3.3 最大输出条数和数据筛选.325.3.4 切换用例.325.4 代码窗口.325.4.1 当前用例执行了哪些代码?.325.4.2 语句覆盖、条件覆盖、MC/DC标示.325.5 路径窗口.335.5.1 逻辑结构图构成.335.5.2 删除/恢复逻辑单位.335.6 测试输出的应用.345.6.1 快速排错.345.6.2 支持 ETDD.34第6章 解 决内部输入:底层模拟.356.1 底层模拟器的基本使用.

4、356.2 底层模拟器的高级使用.406.2.1 模拟复杂数据类型.406.2.2 多次调用同一子函数.416.2.3 设定输出参数.416.2.4 设定数组参数.426.2.5 设定成员变量、全局变量的值.426.2.6 解决难于自然取得的内部输入.426.2.7 解决局部静态变量的用例中控制.436.2.8 对库函数使用底层模.43第7章编辑测试代码.457.1 编辑方式.457.1.1 在用例代码窗口编辑.457.1.2 在测试文件窗口编辑.457.2 语法.457.2.1 固定变量名.457.2.2 字符串赋值.457.2.3 预期输出不能含有转定义双引号.467.3 预期输出代码及其

5、自动生成.467.4 表格化与取消表格化.487.3.1 表格化.487.3.2 取消表格化.48IV7.4 编辑公共初始化代码.497.5 编辑桩代码.49第 8 章高级用例技巧.508.1 打印内部输出.508.1.1 在 VU界面中指定.508.1.2 在产品代码中指定.528.2 判断内部输出.528.2.1 判断内部输出的步骤.528.2.2 判断内部输出的注意事项.538.2.3 判断子函数返回值.538.2.4 判断数组中的任意项.538.3 修改函数原形后匹配原用例.53第 9 章白盒覆盖与找出遗漏用例.559.1 白盒覆盖与标示.559.2 用例设计器使用方法.559.2.1

6、 用例设计器的用途及使用条件.559.2.2 白盒覆盖顺序.569.2.3 用例设计器的界面.569.2.4 工作原理.569.2.5 修改提示.579.2.6 使用方法.589.2.7 识别与删除不能覆盖的逻辑目标.589.3 用例设计器使用示例一.589.4 用例设计器使用示例二.629.5 实现彻底测试的方法.661,1 i.i-刖5这是Visual Unit 3简明教程,分为三个部分:第1章为第一部分,介绍VU3的安装与示例工程;第2-5章为第二部分,用演示方式一步一步介绍使用VU3建立工程、常见错误有解决、建立用例代码和用例数据、执行测试、以及测试输出及应用,建议对照介绍,一步一步进

7、行操作练习;第6-9章为第三部分,介绍底层模拟、用例代码编辑、高级用例技巧、以及白盒覆盖和找出遗漏用例。从第二部分开始,使用专为本简明教程准备的示例代码进行讲解。这些示例,是从VU示例工程抽取的一些文件,为了使实际工作中比较常见的问题得于出现,作了一些修改:使用了编译条件_MY_DEFINE;将cstr.c文件的源代码移到静态库中。您可以在以下目录拷贝这些示例代码:VU安装目录SamplesDem。2。掌握了本教程介绍的方法和技巧,基本上可以了解实际应用中将会遇到的问题及解决办法,但本教程着眼于“简明”,省略了一些比较不常见的问题及解决办法,如果遇到本教程未提及的问题,请参考详细教程或帮助,或

8、者与技术支持联系。使用这示例代码进行测试,不需要License,即演示版也可以支持。2第1章安装与示例1.1 运行环境与安装1.1.1 下载与安装可从httu:www.KaileS 下一步,即可完成安装。1.1.2 运行环境操作系统:Windows2000,Windows XR Windows Server 2003,Windows Vista,Windows 7。内存:128M,推荐256M。硬盘空间:200M。1.1.3 编译器目前支持的编译器包括:VC6.0、VC2003、VC2005,VC2008、VC2010,GCC4、G+4。1.1.4 适用范围适用于各类C、C+项目,如:使用VC

9、系列开发环境开发的项目;主流嵌入式开发环境的项目,如 CodeWarrior、Real View Tornado,CodeWarrior 等,Linux GCC/G+项目。1.2 示例工程介绍1.2.1 打开示例工程在“工程菜单”,点击“打开示例工程”,在弹出的子菜单中选择ID E,即可打开示例工程。1.2.2 用于学习基本功能的示例已测试的CMyClass类演示了 VU的主要功能及操作,未测试的拷贝类CMyClass2供对照练习;已测试的CStubDemo类演示了底层模拟的各种应用,未测试的拷贝类CStubDemo2供对照练习。1.2.3用于体验ETDD的示例EasyTDD.c文件准备了一些

10、不太复杂的字符串处理函数,代码未编写。可以分为两部分,一半用ETDD方式编写,半用传统方式编写,以体验ETDD及将ETDD与传统编程方式进行对比。体验方法:1)打开示例工程;2)用您的开发环境(如VC)打开以下文件:VU 安装目录SamplesDemoSourceC EasyTDD.c;3)选择一个函数,在VU中建立用例;4)在开发IDE中编写函数代码,每当编译当前文件通过后,VU都会自动执行测试并显示程序行为(什么输入执行什么代码产生什么输出);5)编写代码直到红条转换成绿条,开发和单元测试同步完成。1.2.4执行测试在VU主界面中选择要测试的函数,点 击 工具栏的即可执行测试。1.3 快速

11、体验VU21)打开示例工程,请参阅上一节。2)选中CMyClass2:_01_Pow(),右边会自动切换到“用例代码”窗口。如左边切换到“函数代码”窗口,则可看到预处理后的代码及功能说明。3)点击了三打开输入输出生成器,填写两个参数的输入(如g=0,e=0),和返回值的输出(如0)。VU会自动生成测试代码,并将数据移到表格中。4)切换到“用例数据”窗口,点击 汉I打开用例数据生成器,为参数分别设定多个值,还可以设定各个值的组合。生成用例后,要根据程序功能设定正确的预期输出。5)点击9,h行测试,然后就可以看到测试结果了。4第 2 章建立工程2.1 示例说明下面用示例方式介绍VU3的使用。这里使

12、用的示例代码,是从VU示例工程抽取的一些文件。为了使建立工程过程中比较常见的问题得于出现,作了一些修改:使用了编译条件_MY_DEFINE;将cstr.c文件的源代码移到静态库中。您可以在以下目录拷贝这些示例代码:VU安装目录SamplesDem02。在这里,我把示例代码拷贝至D:VUStepStepDemo21,使用这示例代码进行测试,不需要License,即演示版也可以支持。建议按这里的介绍,一步一步进行操作练习。2.2 建立工程2.2.1 打 开“新建工程向导”在主工具栏单 击 闻J,或 在“工程”菜单单击“新建工程”,即可打开“新 建UDT工程向导”。2.2.2 模板选择先选择产品项目

13、的开发环境,这里选择的是Visual C+6,再在右边的模板列表中,根据项目特性选择合适模板,这里选择的是C+,如下图。UDT工程建立后,自动保存为模板,并出现在“或选择现有项目”框内,建立第二个或更多的UDT工程时,可选择先前的UDT工程作为模板,通常只需设定不同的被测文件和外围文件。新建UDT工程一模板选择产品项目开发环境 CodeWarrior 口V isual C+2005_JEVC 4.0(JV is u a l C+2008_ S+4 O V is u a l C+2010_JGCC 4 O V is u a l C+6.0_ K e il C J其他开发环境1 RealVi ew

14、1 TornadoV isual C+2003选择模板i 囿)cC+H DemoISSM_FBLAPPL_canbed理解U D T工程及测试工程删除以现有测试工程为模板I下一步堡)1 取消 I 帮助2.2.3 导 入 数 据对于VC项目,或有gcc/g+makefile文件的项目,可以这一步从工程文件导入数据,如果没有对应的工程文件,则可以跳过这一步。为了更好地描述建立过程,这里选择跳过。2.2.4 常 规 信 息点 击“浏览”,选择产品项目根目录,这里选择的是D:VUStepStepDemo2。填 写UDT工程名称,该名称可以使用任务简称、模块名称或工程师姓名。这里使用缺省,如下图。62.

15、2.5 设定测试任务如下图,按住s h i f t键,点击目录前的田,可以将文件全部展开。点击复选框,将需测试的源文件设为T,不需测试但可能要使用的底层或关联源文件设为N,其他文件(缺省设为X)将被隔离,必要时自动打桩。能够设为N的源文件不要设为X,即尽可能减少打桩。以后可从工程菜单打开“工程属性”,重设源文件类别或指定新加入的源文件的类别。2.2.6指定头文件搜索目录头文件分为库头文件和常规头文件,两者的区别在于,库头文件对应的源代码位于静态或动态库中,测试时直接链接这些库,不能打桩;常规头文件对应的源代码位于普通的源文件,如果符号未实现或被隔离(例如,函数的实现被隔离),VU会自动打桩。在

16、这个示例中,头文件位于Demo2lnclude目录下,该目录有三个子目录,Demo2lncludeC和Demo2lncludeC+目录下的头文件是有对应源文件的,属于常规头文件。如下图,点击对话框 中 的 上 个“添加”,将这两个目录添加到常规头文件目录。Demo2lncludeLib目录下的头文件,对应的源代码位于静态库中,点击下一个“添加”,将Demo2lncludeLib目录添加到库头文件目录。如果头文件目录一时难于指定,也可以暂不设定头文件目录,解析过程中,出现“找不到头文件”错误时,再打开工程属性的头文件页,使用搜索功能找出头文件目录。82.2.7 编译选项编译选项中,一般只需设置“预处理定义”一项,其他使用缺省。“预处理定义”是指会影响编译结果的编译条件,通常用于控制编译过程中忽略部分代码,可在产品项目的工程setting中查看。在本示例中,用VC6打开产品项目的工程文件:D:VLIStepStepDemo2ProjectVC6C+main.dsw,打开project setting,如下图,可以看到,除了自动添加的预处理定义外,还定义了“_MY_DEFINE,这就是用户设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号