c++test实际操作图文解析.doc

上传人:wj 文档编号:84548 上传时间:2022-10-02 格式:DOC 页数:9 大小:464KB
下载 相关 举报
c++test实际操作图文解析.doc_第1页
第1页 / 共9页
c++test实际操作图文解析.doc_第2页
第2页 / 共9页
c++test实际操作图文解析.doc_第3页
第3页 / 共9页
c++test实际操作图文解析.doc_第4页
第4页 / 共9页
c++test实际操作图文解析.doc_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

c++test实际操作图文解析.doc

《c++test实际操作图文解析.doc》由会员分享,可在线阅读,更多相关《c++test实际操作图文解析.doc(9页珍藏版)》请在冰豆网上搜索。

c++test实际操作图文解析.doc

C++test

一、C++test介绍

C++Test是一个C/C++单元测试工具,自动测试任何C/C++类、函数或部件,而不需要您编写一个测试用例、测试驱动程序或桩调用。

C++Test能够自动测试代码构造(白盒测试)、测试代码的功能性(黑盒测试)和维护代码的完整性(回归测试)。

C++Test是一个易于使用的产品,能够适应任何开发生命周期。

通过将C++Test集成到开发过程中,您能够有效地防止软件错误,提高代码的稳定性,并自动化单元测试技术(这是极端编程过程的基础)。

功能描述:

·静态测试

C++Test内嵌了业界最出名的EffectiveC++(epcc)、MoreEffectiveC++(mepcc)、meyer-klaus(mk)以及UniversalCodeStandard(ucs)规范。

同时,它也集成了由parasoft累积出来的一些规范。

静态测试中,C++Test会对代码进行详尽的扫描,验证代码中是否存在和这些规范相冲突的地方,尽快的发现一些简单或低级错误,避免由它们带来的集成扩散。

·动态测试(白盒测试)

C++Test提供了一种有效并且高效的方法执行白盒测试。

C++Test完全自动执行所有的白盒测试过程,自动生成和执行精心设计的测试用例。

自动标记任何运行失败,并以一种简单的图示化结构显示。

然后自动保存这些测试用例,能够方便地用于以后的回归测试。

由于C++Test能够自动生成桩函数,或允许你加入自己的桩函数,因此它能够测试引用外部对象的类。

换句话说,C++Test能够运行任何一个或一组类,并自动生成和执行一组测试用例,它们被设计成能够发现尽可能多的错误。

C++Test允许你定制白盒测试用例的生成,和在什么层次上(项目、文件、类或方法)执行测试。

·动态测试(黑盒测试)

C++Test通过自动化黑盒测试的大部分操作,减轻了这类测试的负担。

你可以简单地输入测试用例输入,然后让C++Test运行测试用例并自动确定实际的输出结果。

如果结果正确,不需要其它动作。

如果结果不正确,你可以输入预期的输出结果。

这样比手工输入每个测试用例的结果更快更容易。

C++Test自动设计了一组广谱的白盒测试用例。

当使用这些测试用例在黑盒测试时,你只需简单地观察实际的输出结果,然后对任何不正确的结果输入预期的值。

当你需要输入或修改测试用例时,你可以在C++Test自动生成的测试用例框架种简单地键入相应的值。

这将显著地加快建立测试用例的过程。

·回归测试

C++Test完全自动化与回归测试有关的所有步骤。

C++Test首次测试某个类时,自动保存其测试和测试参数。

当需要执行回归测试时,你可以打开合适的项目和文件,运行所有原来的白盒和黑盒测试用例;C++Test会自动运行完全相同的测试用例和测试参数,并告之发现的任何问题。

这意味着你能够立即知道修改是否引入了任何错误。

二、下面给出了测试的例子

按照下面给出的操作步骤熟悉C++test这个测试工具。

(1)在VC下编写这个子函数,命名为1.c

(2)建立测试环境

打开C++Test,选择file/NewProject。

点击NewProject…,弹出对话框。

选择新Project的种类,有7种,我们可以选择EmptyProject或者是ImportVisualC++6.0,(建议选择EmptyProject,因为如果选择建立一个VC6.0的Project的话,如果Project太大,可能会造成机器假死。

)我们给Project命名个名字(例如11),点击OK,一个新的Project就建好了。

如图示,右键点击工程,弹出对话框,选择OpenFile,这时候就需要往工程里添加你想要添加的文件了,这个将出现在当前的project下(图示添加的文件为1.c)

添加完成后,右键点击添加的文件(1.c),选择ReadSymbols,这时候C++Test会读取这个文件,分析出此文件的文件结构。

右击添加的文件(1.c)选择buildtest,C++Test将自动的建立测试环境,包括测试驱动程序,桩模块。

(3)代码检查

点击菜单中的Test,选择TestUsing,选择Configurations,选择Built-in,选择CodingStandards,选择CRules,将会进行代码规则的检查。

其中:

CRules:

c语言的规则

MustHaveRules:

必须有的规则

NiceToHaveRules:

最好有的规则

SecurityRules:

安全的规则

ShouleHaveRules:

应该有的规则

ShouleHaveRulesWithPortability:

应用移植性应该有的规则

上图,右侧就是代码走查的结果。

每条违规信息包括对违规的描述,该错误共发生的次数以及相对应的具体位置。

而下面的ruledesription则是对这条规则的一个比较详细的描述。

顶层的文件夹后面的“I=0PV=0V=7……”描述的是整个的对违规信息的统计。

I表示information,通知行为

PV表示possibleviolation,可能的违规行为

V表示violation,违规行为

PSV表示possibleservereviolation,可能的严重违规行为

SV表示servereviolation,严重违规行为

分析上述的的静态测试结果,并修改静态分析后的错误。

(4)、在UnitTesting(Native)中添加测试用例

首先用快捷菜单,点击GenerateTestcases,这时系统自动生成一部分测试用例。

下图,右侧就是对动态测试的一个整体描绘。

列举了所有的测试用例,并且用颜色来区分成功和失败的测试用例,绿色代表成功通过了的测试用例,而红色代表没有通过也就是失败了的测试用例,对于每个错误的测试用例都有一个大致的描述。

其中:

OK:

函数返回正确的值或者函数执行后对象的条件满足。

Failed(FLD):

函数返回值不正确或者函数执行后对象的条件不满足。

Error(ERR):

使用者或系统出现异常导致错误。

Tested(TST):

实际执行的测试用例个数。

Total(TOT):

总的测试用例个数。

每个测试用例或者各个节点上都做到了相应的覆盖率信息,包括了LC(语句覆盖),BBC(块覆盖),PC(路径覆盖),DC(决策覆盖),MCDC(多条件决策覆盖)以及CC(条件覆盖)。

此外,上面的treefilter过滤器功能可以帮助用户迅速察看到自己关心的焦点或错误。

我们如果要添加自己的测试用例,点击Add,则出现下面的界面,供用户输入测试用例。

其中:

.参数(Arguments):

函数的入口参数。

.参数出口条件(ArgumentsPost):

函数执行完成时入口参数的状态。

.返回值(Return):

函数的返回值。

选中“Arguments”下的“参数”或“Return”预期结果时,在左上角会出现一些可供选择的值,这些值通过点击就可以被选用。

如果没有符合的值,则可以通过选择“Arguments”或“Return”,在出现的编辑框中输入设定的值。

添加完成点击OK后会出现如下图提示,我们选择是(Y)就可以了。

关于此对话框的一点说明:

这个对话框在C++Test中经常出现,提示Donotshowthisdialogagain最好不要勾选,以免遇到一些类似执行单个测试用例时所有测试用例消失的情形。

编写新的测试用例后,右键弹出快捷菜单,选择PlaySelectedTestCase(s),执行测试用例。

(5)、查看覆盖率

选择一个测试用例,比如说第一个,点击Coverage,选择ShowCoverage,我们可以查看这一个测试用例的详细地覆盖率。

点击各个,会显示每一个逻辑语句相应的覆盖率。

第一个显示的是整体的覆盖率。

如下图所示。

(6).生成报表

选择file/generatereport,根据对报表的需求,选择适当的报表内容种类(例如dynamicanalysis1,coveragestatistic1)

然后就会生成一个HTML格式的报表。

要求:

按照上面的步骤来练习C++Test测试软件的应用,分别用静态测试和动态测试对代码进行测试分析。

(1)分析测试结果,分析静态测试结果找出的缺陷并进行修改。

(2)学习动态测试过程,分析动态测试的结果,自己添加测试用例到C++Test测试软件中。

(3)将所有测试结果分析写在word文件中(找出的缺陷和测试结果的分析),命名为“学号+姓名”交到ftp上。

9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1