- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CTest实验指导1
实验一 C++ Test静态测试
实验目的
(1)理解和掌握C++ test执行静态测试的基本原理和方法。
(2)掌握C++ Test静态测试的操作步骤。
实验要求
(1)区分编码标准规则的严重等级。
(2)能够利用自建的标准配置进行静态测试。
3、实验步骤
C++test实现对源码的静态分析来确定它是否符合一组指定的编码标准规则。这组规则在测试配置中指定。如之前课程中讨论的,C++test包含一些内置的测试配置和预先定义的编码标准相应的集合。你可以定义你自己的测试配置,来包含只和你的工程最相关的编码标准。
每个C++test编码标准规则都有一个严重等级。严重等级指出这种违规引起一个严重的结构缺陷(一个会引起的问题编码结构,如性能下降、内存泄露、安全漏洞等)的几率。可能的严重等级(严重性从低到高)为:
信息:Information(I)
可能违规:Possible Violation(PV)
违规:Violation(V)
可能严重违规:Possible Severe Violation(PSV)
严重违规:Severe Violation(SV)
练习1:用预定义的标准配置
在这个练习中,会检测一个ATM工程源文件有多符合测试配置规则集中预定的MustHaveRules的编码标准。这组标准包括严重违规规则,它能找出程序中很容易引起bug的缺陷。
检测ATM.cxx源代码是否符合MustHaveRules规则集:
在C++test GUI左上的工程树种选择ATM.cxx。
点击工具条中的Test Using按钮(绿三角图标)。选择这将会用活动配置(你以前设置为Built-inMustHaveRules)中的测试参数运行一个测试。
严重违规将会在Coding Standards选项卡的Results子选项卡中报告
练习2:探索和改正违规
举例说明如何探索和改正违规的例子:
通过点击加号图标,展开第一个违规(违反init-06规则)
这是一个普遍出现的缺陷,开发者在构造函数中忘记初始化一个变量。遵守这条编码标准帮助我们预防读取一个未初始化的成员变量,这有可能导致程序崩溃。
选择Constructors do not initialize....消息结点,查看GUI底部的Output选项卡的内容。
特别地,对于每个违规,Output选项卡会显示如下信息:
违规的描述
违规位置的可点击的链接(文件和行号)
到该规则说明的一个链接
发现违规的代码片段,违规所在行被强调显示
点击“Coding Standards rule for this message”下的链接。C++test将会打开规则描述文件的对话框。这些文件提供了规则的描述和它的好处,一个有缺陷的代码的例子,一个改正后代码的例子和对规则来源的引用。
练习3:创建自定义标准配置
C++test内置了700余条编码标准,他们可以简单地被自定为用户设置。而且,规则向导模块允许你创建新的自定义分析规则或修改已存在的规则来更好的适应你的需要。自定义和修改的规则可以通过Parasoft的团队配置管理器(Team Configuration Manager)被一个工程团队的成员共享。在大多数情况下,团队选择他们自己的编码标准集合,甚至为不同的工程选择不同的编码标准集。
一个自定义的编码标准的配置可以通过复制内置配置和适当修改来建立。
选择Tests Test Configurations来打开测试配置对话框。
选择User MustHaveRules(MustHaveRules是已经设置为用户配置)
把现在Name区域的名字替换为你项目组的名字Standards(如,ACME Standards)
点击Apply。
在Analysis Flow选项卡,确认只有Enable Coding Standards复选框被选中。
打开Analysis Settings Coding Standards选项卡
该选项卡包括所有内置的配置选项,也有用户定义添加的规则
探索规则树
规则按组分类。规则可以被独立选中,也可以按组选中。规则默认按规则名存储,但是你也可以按规则号或规则严重性存储。右击规则树的任何区域,然后从快捷菜单中选择Sorting Mode [preferred sorting method]来修改存储方式。
打开Effective C++规则目录,它包含基于Scott Meyer’s的Effective C++书中的规则,然后右击ecpp-29规则结点,从快捷菜单中选择Show Rule Description。
这条规则的说明将会被打开。
这些规则说明对用户来说是一个可用的内置知识库。
在规则树中,右击Effective C++结点,然后从快捷菜单中选择Enable All。
这会选中该组
您可能关注的文档
- 当个伴娘居然有这么多鬼要求.docx
- Easyui validatebox修改.doc
- 健身动作中英文对照.docx
- 拉丁舞基本步的名子.doc
- CAD命令及常见问题处理.doc
- 备注知识点(思科).docx
- 审计一种整合方法试题.doc
- Tasc+教程 (karen).doc
- 英语美文四级.docx
- 剑桥少儿英语每课总结复习汇总(三级).doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)