下载此文档

C++Test操作手册.doc


文档分类:外语学习 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
该【C++Test操作手册 】是由【夜紫儿】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【C++Test操作手册 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。A-SPICEC++test操作手册撰写部门:手写算法组发行范围:-6-11张文涛2017-10-,张文涛2017-10-30王杰2017-10--MISRA-:创建、修改(+修改说明)、删除(+删除说明)C++test操作手册目录1C++TEST介绍..........................................................................................12C++TEST安装..........................................................................................13静态分析....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................34单元测试......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................105附录MISRA-C2012规则.......................................................................10C++test操作手册C++test介绍ParasoftC++test是一个集成解决方案,用于使一系列被广泛证明可改进软件开发团队生产力和软件质量的最佳实践得以自动化处理。通过C++test,可进行编码策略增强、静态分析、综合代码复审、单元测试和组件测试、以及运行时错误检测,以此向团队提供一种确保C和C++代码达到其预期功能的实用方法。C++test安装第一步:打开安装源程序,同普通的windows应用程序一样,选择安装路径,完成安装。第二步:;:运行程序,打开许可证页面,许可证:网络版本:定制版定制:全选确定,至此完成安装过程静态分析在静态分析栏中的Results标签是对静态分析结果的一个罗列。每个红色精灵帽都代表一种违规行为,而它旁边的数字则代表测试代码中出现这种违规的次数。紧接着的字母表明违规行为的严重级别。再后面就是对这条规范的大致描述以及规则编号。测试配置中的“静态”标签则是对这些规则的管理,当用户需要使用某条规则的时候,只需要在相应规则左侧的方框内打上勾就表明选择了该条规则。而当用户不需要某条规则检查的时候,只需要去掉相应规则的勾就可以了。,开发人员在做静态测试时启用的规则为MISRAC2012[MISRA2012],规则详情参见附录C++test操作手册MISRA-C2012中内容。MISRA-C2012检查项分为两大类,一类称为[指导(Directives)],另一类称为[规则(Rules)]。汉王项目要求选择全部规范进行静态分析检查。->内建->StaticAnalysis->MISRA-C2012,即可开始运行测试程序。如需自定义启用禁用规则,可在测试配置中复制内建测试配置,然后再用户自定义中修改即可(内建项均为默认配置,不可修改,如需修改必须建自定义项),最后依次选择测试执行->用户自定义->“MISRA-C2012自定义名称”。C++,点击“proceed”来生成测试报告文档,结果保存在htlm中,可点击“configure...”设置生成路径,并可在首选项中按自己需求设置报表内容和保存格式等。C++test操作手册开发人员根据静态分析报告显示的问题修改代码,修改后再次利用静态分析工具进行分析,得出分析结果。对于静态分析检查出来的问题,如果不予修改,给予放行,要经过项目经理批准,最终对放行的问题给出放行说明,开发人员负责编写项目静态分析结果说明《MISRA-C2012检查结果说明》,即对放行的问题进行说明。不能放行的规范条目如下序号指导:MISRAC2012Directives[MISRA2012-DIR]1嵌入汇编程序时嵌入的过程应该是纯汇编程序[MISRA2012-DIR-4_3-3]序号规则:MISRAC2012Rules[MISRA2012-RULE]字面量零(0)不得用作空指针常量(null-pointer-constant)2[MISRA2012-RULE-11_9_a-3]3用NULL来代替字面零(0)作为空指针常量[MISRA2012-RULE-11_9_b-3]4不应该使用逗号运算符[MISRA2012-RULE-12_3-4]5初始化器列表不应该包含持久的副作用[MISRA2012-RULE-13_1_a-3]逻辑&&或者||运算符的右边操作数不应该包含副作用6[MISRA2012-RULE-13_5-3]sizeof操作符的参数不应该是含副作用的表达式7[MISRA2012-RULE-13_6_a-2]不应该在sizeof操作符的操作数中访问由一个不稳定的数值指定的对象8[MISRA2012-RULE-13_6_b-2]9函数调用不得是sizeof运算符的操作数[MISRA2012-RULE-13_6_c-2]10不应该使用goto语句[MISRA2012-RULE-15_1-4]goto语句应该跳转到随后在同一个函数中声明的标签11[MISRA2012-RULE-15_2-3]任何由goto语句引用的标签应该声明在同一个模块中,或者在一个包围goto语12句的模块中[MISRA2012-RULE-15_3-3]对于任何循环语句,不要有超过一个break或goto语句用于循环终止13[MISRA2012-RULE-15_4-4]'switch','while','do...while'或'for'语句的主体应该是复合语句14[MISRA2012-RULE-15_6_a-3]15在'if'和'else'之后应该紧跟着复合语句[MISRA2012-RULE-15_6_b-3]16所有的'if...else-if'结构中应该由'else'分支结束[MISRA2012-RULE-15_7-3]C++test操作手册只能当最接近的封闭复合语句是switch语句主体部分时才能使用switch标签17[MISRA2012-RULE-16_2-3]无条件的break语句应该作为每一个非空case子句的结尾18[MISRA2012-RULE-16_3_a-3]无条件限制的break语句应作为所有非空default条件的终结。19[MISRA2012-RULE-16_3_b-3]20需要为switch语句提供default分支[MISRA2012-RULE-16_4_a-3]'default'标签在结束'break'之前应该有一个语句或者一个注释21[MISRA2012-RULE-16_4_b-3]如果存在一个'default'标签,应该作为switch语句的第一个或最后一个22switch标签[MISRA2012-RULE-16_5-3]23每一个switch语句应该含有至少两个switch子句[MISRA2012-RULE-16_6-3]24switch的表达式中不能出现有效的布尔类型值[MISRA2012-RULE-16_7_a-3]25switch表达式不应该表示一个有效的布尔值[MISRA2012-RULE-16_7_b-3]26函数原型应该总是对函数调用可见[MISRA2012-RULE-17_3-2]非void返回类型的函数的所有退出路径应该有一个明确的包含表达式的返回27语句[MISRA2012-RULE-17_4-2]函数参数对应的数组类型参数应该包含合适数量的元素28[MISRA2012-RULE-17_5-4]29应该使用具有非void返回类型的函数返回值[MISRA2012-RULE-17_7_a-3]30不得使用一个非void返回类型函数返回的值[MISRA2012-RULE-17_7_b-3]31不应该修改函数参数[MISRA2012-RULE-17_8-4]32对象的申明需要包含不超过2成指针嵌套[MISRA2012-RULE-18_5-4]33不得声明灵活的数组成员[MISRA2012-RULE-18_7-3]34不得使用可变长数组类型[MISRA2012-RULE-18_8-3]35禁止使用预处理操作符#和##[MISRA2012-RULE-20_10-4]一个紧跟在#操作符的宏参数不应该在其后紧跟或在其前加上##操作符36[MISRA2012-RULE-20_11-3]一个被用作#或者##操作符的操作数的宏参数,并且它本身受制于进一步的宏替换,那么它应该只能被用作这些操作符的操作数37[MISRA2012-RULE-20_12-3]预处理指令即使被预处理器排除也必须有语法意义38[MISRA2012-RULE-20_13-3]在同一个文件中#else,#elif和#endif必须对应有#if或#ifdef预处理指令39[MISRA2012-RULE-20_14-3]40字符',",/*或//不得出现在头文件的名称中[MISRA2012-RULE-20_2_a-3]41字符\不得出现在头文件的名称中[MISRA2012-RULE-20_2_b-3]#include指令后面应当添加<filename>或是"filename"42[MISRA2012-RULE-20_3-3]43C90中规定宏不应该与关键字定义为相同名称[MISRA2012-RULE-20_4_a-3]44C99中规定宏不应该与关键字定义为相同名称[MISRA2012-RULE-20_4_b-3]45禁止使用#undef[MISRA2012-RULE-20_5-4]46类似函数的宏的参数不应该包含类似预处理命令的标识C++test操作手册[MISRA2012-RULE-20_6-3]47不得使用标准头文件<>[MISRA2012-RULE-21_11-3]48不得使用<>中的异常处理功能[MISRA2012-RULE-21_12-4]49禁止使用动态内存分配[MISRA2012-RULE-21_3-3]50禁止使用setjmp宏和longjmp函数[MISRA2012-RULE-21_4_a-3]51不要使用标准头文件<>[MISRA2012-RULE-21_4_b-3]52禁止使用标准库文件<>中的处理函数[MISRA2012-RULE-21_5_a-3]53禁止使用信号处理文件<>中的处理函数[MISRA2012-RULE-21_5_b-3]54不得使用标准的库的input/output函数[MISRA2012-RULE-21_6-3],atoi和atol[MISRA2012-RULE-21_7-3],exit,getenv和system56[MISRA2012-RULE-21_8-3]57函数不应该包含未使用的标签声明[MISRA2012-RULE-2_6-4]58禁止在C语言风格的注释中使用/*字符序列[MISRA2012-RULE-3_1_a-3]59字符序列//不得被用于C语言风格的注释中[MISRA2012-RULE-3_1_b-3]字符序列/*不得被用于C++语言风格的注释中60[MISRA2012-RULE-3_1_c-3]61不得在//注释中使用行合并[MISRA2012-RULE-3_2-3]62八进制和十六进制转义序列将被终止[MISRA2012-RULE-4_1-3]63禁止使用三字母词[MISRA2012-RULE-4_2-4]64由signed整型命名的位域应该有超过一位的长度[MISRA2012-RULE-6_2-3]65八进制常量(除了0)不应该被使用[MISRA2012-RULE-7_1-3]66使用大写'L'而非小写'l'来指定long类型[MISRA2012-RULE-7_3-3]67不能修改窄字符串字面量[MISRA2012-RULE-7_4-3]68内联函数应该声明为静态存储类[MISRA2012-RULE-8_10-3]在一个列举列表内,含蓄指定列举常数的值应该是唯一的69[MISRA2012-RULE-8_12-3]70不得使用严格的类型限定符[MISRA2012-RULE-8_14-3]带有内部链接的对象和函数应使用静态关键字进行定义和声明71[MISRA2012-RULE-8_8-3]可以放行的规范条目如下序号MISRAC2012Directives[MISRA2012-DIR]使用多重包含保护机制[MISRA2012-DIR-4_10-3]1禁止使用动态内存分配[MISRA2012-DIR-4_12-3]2所有汇编程序的使用应该被注释说明[MISRA2012-DIR-4_2-4]3代码段落不应该被“注释掉”[MISRA2012-DIR-4_4-4]4函数应该优先于类似函数宏的使用[MISRA2012-DIR-4_9-4]5序号MISRAC2012Rules[MISRA2012-RULE]

C++Test操作手册 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人夜紫儿
  • 文件大小210 KB
  • 时间2024-03-24