C++test(VS2010插件版)简明操作手册
更新时间:2024-06-12 07:00:01 阅读量: 综合文库 文档下载
- vs2010安装番茄插件推荐度:
- 相关推荐
目录
目录........................................................................................................................................... 1 C++test(VS2010插件版)使用文档 .................................................................................... 2 1编写说明 ................................................................................................................................ 2 2项目导入 ................................................................................................................................ 2 3 工程设置 ............................................................................................................................... 2 4静态测试 ................................................................................................................................ 3
4.1 静态测试配置 ............................................................................................................ 3 4.2执行静态测试 ............................................................................................................. 4 4.3 查看测试报告 ............................................................................................................ 5 4.4 查看质量任务 ............................................................................................................ 5 5.自动生成测试用例 ................................................................................................................ 6
5.1. 自动生成测试用例配置 ........................................................................................... 6 5.2 执行自动生成测试用例 ............................................................................................ 8 5.3 查看测试报告 ............................................................................................................ 8 5.4 查看自动生成的测试用例 ........................................................................................ 8 6.执行测试用例 ...................................................................................................................... 15
6.1. 执行测试用例配置 ................................................................................................. 15 6.2 执行测试用例 .......................................................................................................... 17 6.3 查看测试报告 .......................................................................................................... 17 6.4 查看生成的测试用例 .............................................................................................. 17 6.5 查看覆盖率 .............................................................................................................. 18 7.桩函数 .................................................................................................................................. 19
7.1 桩函数概述 .............................................................................................................. 19 7.2 自动生成桩函数 ...................................................................................................... 19 7.3 用户自定义桩函数 .................................................................................................. 20 8.关于测试用例 ...................................................................................................................... 21
8.1预置条件为形参的测试用例 ................................................................................... 22 8.2调用子函数获得输入 ............................................................................................... 24 8.3.成员变量获得输入,如下源代码: ....................................................................... 26 8.4. 全局变量获得输入及桩函数的联合使用 ............................................................. 27
C++test(VS2010插件版)使用文档
1 编写说明
Parasoft C++test是经广泛证明的最佳时间集成解决方案,它能有效地提高开发团队的工作效率和软件质量。本教程侧重点介绍单元测试的使用方法。
单元测试的定义是测试应用程序中最小的单元。单元测试提供了一种更有效的发现错误的方法,它将应用程序中的最小单元分离开来,使得测试更接近错误,只要简单地对每个最小单元进行独立测试,就很容易的使全面准确的找到程序中的错误成为可能,单元测试能帮助客户更准确更全面的找到错误,显著提高软件质量。 2 项目导入
1.如何导入一个已有项目
? 选择“File”>”打开”>”项目解决方案” ? 找到.sln文件,双击.sln文件 或者直接双击.sln文件。 3 工程设置
1. 导入项目完成后,右键点击项目名称>”属性” >”配置属性” >”常规”下的“配置类型“改为“动态库(.dll)”如图所示:
然后修改路径,双击C/C++>“常规“>”附加包含目录”,将当前工程下源代码路径添加进去,如图所示:
4 静态测试 4.1 静态测试配置
点击测试三角号右边的下拉菜单>”测试配置”如图:
点击用户自定义>“新建”
”
? 名称可根据不同的测试项目,及测试标准命名,这里为默认命名“静态测试” ? 点击静态,只启动MISRA C 2004的所有规则,如下图所示
? 其他选项暂不考虑,点击Apply>Close完成测试配置 4.2执行静态测试
? 可对整个项目进行静态测试,也可根据需要对某个.c文件单独进行静态测试,
不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。
? 点击工具栏中的“生成”选项>“生成解决方案”。
? 执行静态测试,点击右三角右边的下拉菜单,选中“静态测试”,如下图所示:
4.3 查看测试报告
点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:
4.4 查看质量任务
在工具菜单中选择“Parasoft”>“显示图示”>“质量任务”如图
结果如图所示:
双击“感叹号”可快速定位到源代码中的位置。
也可把鼠标箭头放到源代码小红帽处查看静态测试的详细信息,如图所示:
5测试用例生成 5.1自动生成测试用例 5.1.1 自动生成测试用例配置
点击测试三角号右边的下拉菜单>”测试配置”如图:
点击用户自定义>“新建”
”
? 名称可根据不同的测试项目及测试标准命名,这里为默认命名“自动生成测
试用例” ? 点击“静态”,取消勾选“启动静态分析” ? 点击“生成”,勾选“启动单元测试生成” ? 其他选项暂不考虑,点击Apply>Close完成测试配置
5.1.2 执行自动生成测试用例
? 可对整个项目执行自动生成测试用例,也可根据需要对某个.c文件单独执行
自动生成测试用例,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。 ? 点击工具栏中的“生成”选项>“生成解决方案”。
? 执行自动生成测试用例,点击右三角右边的下拉菜单,选中“自动生成测试
用例”,如下图所示:
5.1.3 查看测试报告
点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:
5.4 查看自动生成的测试用例
在工具菜单中选择“Parasoft”>“显示图示”>“测试用例浏览器”如下图所示,双击测试用例可查看测试用例源码。
5.2手动建立数据源测试用例 5.2.1建立数据源
例如以下函数:
在测试用例浏览器中新建数据源如图
选择excel表格,Finish
在弹出的窗口中给数据源命名,并给数据源添加路径:
在打开的窗口中右键空白处选择新建excel表格:
给新建的excel表格命名,选中该表格,点击打开:
点击OK,完成数据源的建立:
5.2.2手动建立数据源测试用例
在测试用例浏览器中新建测试用例:
给测试用例命名,点击next:
选中数据源,点击finish完成向导:
新建的数据源测试用例如下:
做如下修改:
此时就可以在新建的excel表格中添加测试用例了,注意红色圈圈要与测试用例中的双引号内的命名保持一致
6. 执行测试用例 6.1. 执行测试用例配置
点击测试三角号右边的下拉菜单>”测试配置”如图:
点击用户自定义>“新建”
”
? 名称可根据不同的测试项目及测试标准命名,这里为默认命名“执行测试用
例”
? 点击“静态”,取消勾选“启动静态分析”
? 点击“执行”,勾选“启动测试执行”, 插桩模式默认为“带有行覆盖的完
全运行时“,可修改此项以查看其它覆盖率,点击右边“编辑”选项,勾选覆盖率指标,如下图所示:
? 其他选项暂不考虑,点击Apply>Close完成测试配置
6.2 执行测试用例
? 可对整个项目执行自动生成测试用例,也可根据需要对某个.c文件单独执行
自动生成测试用例,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。 ? 点击工具栏中的“生成”选项>“生成解决方案”。
? 执行自动生成测试用例,点击右三角右边的下拉菜单,选中“自动生成测试
用例”,如下图所示:
6.3 查看测试报告
点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:
6.4 查看生成的测试用例
在工具菜单中选择“Parasoft”>“显示图示”>“测试用例浏览器”如下图所示,双击测试用例可查看测试用例源码。
到此为止分步骤完成了单元测试,也可在测试配置中依次选择“静态分析” “生成测试用例”“执行测试用例”自动化完成单元测试,程序源代码显示:
绿色部分为执行到测试代码,红色部分为未执行到的代码,为保证测试完整性,可通过建立桩函数或者自定义(修改)测试用例提高测试覆盖率,以满足测试覆盖率的要求,这样能有效的提高测试质量,避免设计无效用例。 6.5 查看覆盖率
在工具菜单中选择“Parasoft”>“显示图示”>“覆盖率”如下图所示:
7. 桩函数 7.1 桩函数概述
桩函数主要实现替代原函数的功能,使得单元测试过程中能将被测功能与外部依赖隔离。桩函数是单元测试的常用技术,它主要目的有二:
一是将不可控的、费时的实际系统隔离,例如访问网络、数据库、硬件等;二是将复杂的底层系统隔离,采用相对简单的模拟系统来代替。当被调函数不会影响当前测试函数的功能行为的时候,桩函数能够被使用,以使得单元测试的效率更高。
自定义桩函数可以带来的好处在于:调用原函数可能其返回值为一个固定值,不能返回一个期望值,以使得测试不同的代码分支。而桩函数的返回值,可由用户自由控制,因而具备更大的灵活性。这里有对桩函数较详细的解释
http://wenku.http://www.wodefanwen.com//link?url=J_RF4p5MXSfmS1tsJgd5dj3EqntIAtEAiVRZFnSa61SkWgzFZghjxE6mPZ3nzx-qPwZT7ndp_kUZcoG8zB_YVmw9QpQrCv4Ca6uL7zi-rTC
桩函数可自动生成,也可用户自定义,自动生成的桩函数与自定义的桩函数其主要差别在于:自定义的桩函数调用优先级别高于原函数,原函数的优先级别高于自动生成的桩函数。 7.2 自动生成桩函数
? 选中要生成桩函数的源文件,右键>Parasoft>测试执行>内建>Unit Testing>File Scope>Generate stub(file Scope)
? 选中要生成桩函数的源文件,右键>Parasoft>测试执行>内建>Unit Testing>File
Scope> Collect stub Information(file Scope) ? 在工程目录下我们可以看到自动生成的桩函数:
? 点击工具栏的Parasoft选项>显示图示>桩函数,可以看到:
7.3 用户自定义桩函数
如下图所示,在需要建立用户桩函数的函数上右键,选择“创建用户桩函数”
给用户桩函数命名之后点击完成。这个时候在工程目录下我们可以看到:
双击用户函数,这个时候就可以任意修改桩函数返回我们想要的结果了:
8.关于测试用例
对于函数测试来说,一个用例,就是设定输入,执行程序,判断输出是否符合预期。可能输入包括:参数、需读的成员变量、需读的全局变量、内部输入(调用子函数获得的输入);可能输出包括:返回值、输出参数、被写的成员变量、被写的全局变量,内部输出(在程序执行过程中判断的中间输出)、动作(例如需判断程序在某种输入下是否调用了某个函数)。简单来说,输入就是程序执行前或执行过程中读取的外部数据,输出就是程序所改写的数据。了解了这些,就不会对没有参数、没有返回值如何测试产生疑问了。测试没有参数的函数,它可能还有别的输入,例如全局变量,成员变量,或调用子函数获得的输入(这个要使用工具才能做到),只要函数需读取的,都应该设定初始值,如果完全没有,
没有输入也是一种输入,照样测试就是了。 同样道理,输出也不仅仅是返回值,没有返回值还可能修改了全局变量什么的,这些也是要判断的输出。但是,单元测试应该测试哪些比较复杂的程序,而不是只测试接口。 8.1预置条件为形参的测试用例 源代码如图:
自动生成的测试用例为
从例子中我们可以看出unsigned _a = 1; unsigned _b = 2为设定输入,之后执行程序unsigned char _return = data_deal(_a, _b);最后判定输出,对于本例我们只需根据需要修改a,b的值即可,也可建立数据数据源测试用例。根据测试需要也可手动添加其设定输入,如全局变量、成员变量等。
如何建立测试用例
选择所需用例的测试套件,右键>新建>测试用例使用向导
? 选择函数(如果只有一个函数就没得选择了,呵呵),给测试用例命名,点击
next
? 到这里点击Finish就完成了新建测试用例,这里我们选择新数据源测试用例
点击自动生成,这里我们选择“表”(也可新建csv或者excel数据源测试用例,选择表),点击OK>Finsh完成:
? 双击测试套件下的数据源,这个时候就很方便的建立大量测试用例了:
8.2调用子函数获得输入
对于以下函数:
sum函数只提供了一个出口,对于data_deal函数来说建多少测试用例都无法完全执行每条语句,so以上介绍的桩函数就派上用场了,对sum函数插桩,当执行data-deal的第一个测试用例时让sum函数返回10,当执行data-deal的第二个测试用例时让sum函数返回0,当执行data-deal的第三个测试用例时让sum函数返回5,这样就可以完全保证每条语句都执行一次了。这里介绍的只是用法,具体到实际应用时需保证测试质量前提下精心设计。
图中篮圈为自带API函数,红圈为data_deal的测试用例。这里只是保证了覆盖率,对于data_deal函数套件下的其他测试用例(这里测试用例不止3个)还是执行sum返回的值对应的判断语句(如上上图的if语句),这样造成测试不均匀的现象,个人愚见应该把所有测试用例都用到桩函数中,但这样又带来了大量的工作。
插桩后执行测试用例结果:
8.3.成员变量获得输入,如下源代码:
自动生成的测试用例为:
在这里我们可以直接添加预置条件:在测试用例1里添加:marry.report[0] = 95; 在测试用例2里添加:marry.report[0] =80;如图所示:
修改之后再次执行测试用例,结果如图:
8.4. 全局变量获得输入及桩函数的联合使用 源代码如图:
对于main函数,data_deal函数只提供了一个出口,那么问题来了,两个if语句只能执行一个,所以要通过建立用户自定义的桩函数,当执行不同的测试用例时可以让用户自定义的桩函数返回不同的值,以满足两个条件判断语句全覆盖。下图为自定义的的桩函数:
新建用户自定义桩函数之后,重新执行测试用例,可以观察到:
自定义桩函数后我们再执行单元测试,两个条件判断语句都有执行到了,但没执行到case语句,这是因为data_deal函数的桩函数返回10的时候测试用例的预置条件i不等于0,1,2。这个时候我们就要再次修改桩函数和新建测试用例或者修
改测试用例,以达到每条语句都至少执行一次的目的。
修改后的自定义桩函数如图所示:
这个时候还需要修改测试用例
把TestSuite_fun2_c_92e58086_test_main_2,TestSuite_fun2_c_92e58086_test_main_3,
TestSuite_fun2_c_92e58086_test_main_4,三个测试用例中的i依次改为0,1,2。再次执行单元测试,可以观察到:
正在阅读:
变压器微机差动保护的整定计算11-11
关于征用集体所有土地房屋拆迁宅基地区位补偿价标准的通知 武价房字 - 图文11-04
名教与自然 - 汉晋士风流变述略11-13
一网打尽销量最高的美妆品04-10
自学考试线性代数经管类试卷及答案03-28
大力开发直沽旅游资源,迎接大众旅游新时代03-08
2022-2022学年高中化学 第三章 有机化合物 第四节《基本营养物质04-10
第八版生理学名词解释--期末考试10-31
当代篆刻名家润格授权发布05-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 操作手册
- 简明
- 插件
- VS2010
- test
- 关于集团公司新建配电以满足车间用电需求的报告
- 水准测量习题参考答案
- 国际经济法综合小抄
- C10002上市公司并购重组法规解读 - 95分(14题选错是100分)—证
- 六年级英语上学期导学案
- 我国的旅游资源教案(高一地理)
- 山东省济南市市中区2014届中考数学二模试题 - 人教新课标版
- 刹那往生法
- 过桥项目需要的资料明细
- 用现代工业理念发展壮大“三粉”产业
- 三年级品社 找找学校的变化
- 方城县柳河乡第二敬老院项目报告
- 《建筑结构检测与鉴定》第04章在线测试
- 超声波检测技术在FOCKE包装机中的应用 - 图文
- 投标文件初步施组-8
- 初中七年级上册历史全册教案84页Word版
- 东乡县医院病历、病程书写格式
- 三国演义 试题
- 地下室梁模板支撑计算书
- 2018-2019-201X年党员争创规划-易修改word版(2页)