Testbed静态测试使用指南V1.1_第1页
Testbed静态测试使用指南V1.1_第2页
Testbed静态测试使用指南V1.1_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OO目 录之答禄夫天创作时间:二O 二一年七月二十九日时间:二O 二一年七月二十九日1Testbed 功能介绍 1使用Testbed22附 录 A : 静 态 分 析 推 荐 规 则 使 用 说 明2功能介绍编程规则验证编程标准验证是高可靠性软件开发不成缺少的软件质量保证方法 ,使用LDRA TestbedDERA (欧洲防务标准),MISRA (汽车软件标准),LDRA Testbed依据此规则.LDRA Testbed陈说所有数据流分析LDRA Testbed图形显示、HTMLASCIITestbed如:没使用的函数参数;不匹配的参数;变量未赋初值就引用;代码中有过剩变量;给值传递参数赋值

2、;无返回值的函数路径;函数的实参是全局变量.控制流分析控制流分析检查以下内容:不成达代码;分歧理的循环结构;存在浮点相等比力;函数存在多个出口;函数存在多个入口.表达式分析表达式分析检查以下内容:表达式中的括号使用不妥;数组下标越界;存在被零除;SWITCHDEFAULT;CASEBREAK;存在混合运算;对指针进行逻辑比力;在逻辑表达式中使用赋值把持符.接口分析接口分析检查以下内容:实参和形参个数不匹配;实参和形参类型不匹配;函数参数界说的结构和调用的结构纷歧致.软件质量怀抱分析,软件质量的管理与监控是非常困难的且费时.LDRA Testbed 很好地解决了这一问题,使得管理者很容易.Tes

3、tbed 提供数据文件接口,用户可基于现行软件标准自行界说适合本系统或项目的软件质量模型.静态分析的软件怀抱元和相应的说明见表 1:5圈复杂度=10控制流图中边的数量与节点数量之间5圈复杂度=10控制流图中边的数量与节点数量之间的差值加 2.序号怀抱元指标要求说明1函数代码行数=20%代码的有效注释率.3函数参数=7函数参数个数.4Goto 语句0Goto 语句数.序号怀抱元指标要求6基本复杂度=47LCSAJ 密度=208控制流结点数=109基本结点数=510扇入怀抱=711扇出怀抱=7说明圈复杂度与流程图中结构化子图的数量之间的差值;基本复杂度高意味着非结构化水平高,难以模块化和维护. L

4、CSAJ说明圈复杂度与流程图中结构化子图的数量之间的差值;基本复杂度高意味着非结构化水平高,难以模块化和维护. LCSAJ 密度是一个描述软件可维护性的概念,对其它线性代码顺序和跳转的影响水平,值越年夜说明影响的测试路径相对越多,因此系统可维护性越低.控制流结点数暗示流程图中控制流相交的交点数.将流程图中的结构化部份简化成一个点,简化以后流程图的结点数是基本结点数.调用本函数的上层函数的个数.本函数调用下层函数的个数.LDRA Testbed 可通过编纂编码规则文件/实现编码规则的定制,介绍:确定测试需求在测试需求分析阶段确定:MSVC C C+C/C+混合文件.确定测试内容:确定静态分析规则

5、,可参考附录 A 则使用说明.System Group 分析(Group 时,分歧毛病代码进行集成测试,只是采纳批处置方式分析单个文件).建立测试工程Testbed,根据分析对象,选择测试工程类型.MSVC行分析,Create Set Based Upon MSVC v6 Project ;如分析对象是一个或多个CC+文件选择 Select/Create/Delete Set下面以在 Set 菜单下选择Select/Create/Delete Set选项为例进行说明.Select/Create Set输入框中输入“Demo”,点击【Create】按钮点击【System】按钮(Group时,分歧

6、毛病代码进行集成测试,纳批处置方式分析单个文件).Add】按钮,点击【Add】按钮后点【OK】按钮进行确认.定制代码分析规则Configure,Static Options 选项,现如下窗口,点击 Edit 按钮,依照提示编纂/cpppen.dat 后.若存在已编纂好的编码规则文件,dat 文件,3步可以省略.2 列,将对应编码规则置“0”或“1”,置“0该条编码规则无效,置“1”代表该条编码规则有效.Report选项Quality Report配置Configure,在下拉菜单中点击 Quality Report Options 选项, 将会呈现如下窗口,Programming Standa

7、rd Model 下拉框中选择“No Model all standards”.C、C+混合类型,.C 和.CPP 文件,选中对应文件后选择在 Programming Standard Model 下拉框中选择“No Model all standards”.Optional Configuration Violation Summaries 选中“All”,Report Violations Only(Quality Report 只列出有违反的).Metrics Report配置点击菜单栏中的 Configure,在下拉菜单中点击 MetricsReport Options 选项将会呈现如

8、下窗口,metpen,dat Kiviat.dat 文件.分析执行及结果检查点击菜单栏中的 Analysis,在下拉菜单中点击 Select Analysis,下窗口,3 项,Start Analysis按钮,开始进行静态分析.静态分析结束后,Individual /System Results,TextResults Quality Report(HTML),检查质量陈说.结果分析及测试陈说编写质量怀抱信息的获取怀抱怀抱信息可通过以下几种方式获取:Individual Results/System Results,Text Results Quality Report(HTML).怀抱元指标

9、检查位置具体说明注释怀抱在 Quality Report(HTML) 中的 Global Basic Information 获取可执行代码行总数与注释行总数注释行总数/(注释行总数+可执行代码行总数)函数代码行数=200System Results 菜单下选择 函数代码行超越200行函数参数函数参数Goto圈复杂度=70=10=20TextResultsQuality Report(HTML)7使用 goto 语句10LCSAJ 密度LCSAJ20Individual Results/System Results,Text Results Metrics Report (HTML).怀抱元怀

10、抱元指标检查位置具体说明圈复杂度=10Cyclomatic Complexity,基本复杂度=4=10=5=20=7=7MetricReport中Essential Cyclomatic Complexity控制流结点数Complexity MetricsKnots基本结点数Essential KnotsLCSAJ 密度扇入怀抱LCSAJand UnreachabilityMaximum LCSAJ DensityFan In扇出怀抱Dataflow InformationFan Out检查图形化陈说: 点击菜单栏中的 System Results,选择下拉菜单Graphical Result

11、sStatic Bar Charts.怀抱元怀抱元指标检查位置具体说明圈复杂度基本复杂度=10=4=10=5Cyclomatic ComplexitySystemResults菜 单 下Essential Cyclomatic Complexity控制流结点数Graphical Results 子菜单中的 Static Bar ChartsKnots基本结点数Essential KnotsStatic Bar Charts 子菜单下的“Essential Cyclomatic Complexity”弹出如下所示柱状图 ,将 Graph 菜单下的 Show Components 选中,可检查函数

12、基本圈复杂度具体信息.法式质量怀抱陈说单怀抱元指标说明违反怀抱元指标说明违反个数所在软件具体描述函数代码行数=20%函数参数=7代码的有效注释率函数参数个数Goto语句0圈复杂度=10基本复杂度=4Goto 语句数控制流图中边的数量与节点数量之间的差值加 2圈复杂度与流程图中结构化子图的数量之间的差值LCSAJLCSAJ 密度=20是一个描述软件可维护性的概念控制流结点控制流结点数=10基本结点数=5扇入怀抱=7扇出怀抱=7控制流结点数暗示流程图中控制流相交的交点数将流程图中的结构化部份简化成一个点简化以后流程图的结点数是基本结点数. 调用本函数的上层函数的个数本函数调用下层函数的个数静态分析

13、质量陈说单陈说单中列出的审查内容根据测试需求确定,其中部份怀抱指标在质量怀抱陈说中会重复呈现,此表可以不列出.审查结果根据根据 Quality Report 确定.表3静态分析质量陈说单审查项目测试内容审查结果是否存在不成达代码是否存在循环条件不成达函数是否包括无限循环(无终止条件) 是否存在无限循环结构是是是是 否 否 否 否控制流分析在循环语句中是否有多个控制变量是否存在浮点相等比力是是 否 否使用 goto 语句函数是否存在多个入口是是 否 否数据流分析函数是否存在多个出口是否存在标识名重用是否存在没使用的函数参数是是是 否 否 否函数不是所有的路径上都有返回值是 否函数的实参是全局变量

14、是否代码中有过剩变量是否变量未赋初值就引用是否参数与期望的作用不匹配是否给值传递参数赋值是否标识符超越 31 个字符是否函数界说无相应原型是否存在潜在的无限循环是否指针在使用之前没有进行非空检查是否往没有翻开过的文件中写是否文件指针在退出时没有关闭是否表达式中使用是否存在数组下标越界是否存在被零除是否SWITCH 语句是否为空是否SWITCH 语句只含DEFAULT 情况是否SWITCH 语句缺少DEFAULT是否表达式分析CASE 语句缺少BREAK是否返回类型为VOID 的函数呈现在表达式中是否函数中是否存在Return 语句为空是否存在混合运算是否对指针进行逻辑比力是否在逻辑表达式中使用

15、赋值把持符是否表达式中使用空函数是否实参和形参个数不匹配(C+无)是否接口分析实参和形参类型不匹配是否函数参数界说的结构和调用的结构纷歧致是否其它循环体缺少括弧函数参数列表为空是是否否函数参数列表申明纷歧致函数参数列表申明纷歧致是 否基本模块中使用#define界说是 否SWITCH 结构含多个(年夜于 1)DEFAULT是 否函数返回类型纷歧致是 否函数和函数的原型的返回纷歧致是 否函数和函数的原型的形参纷歧致是 否7是 否10是 否LCSAJ20是 否200是 否O 二一年七月二十九日数据流分析数据流分析2M标识名重用#Label name reused.41M存在没使用的函数参数#Unu

16、sed procedure par审查项目Line级别测试内容对应英文规则审查项目Line级别测试内容对应英文规则控制流分析362M存在不成达代码#UnreachableCodefound.58C函数存在多个入口#Procedure has more th59C函数存在多个出口#Procedure has more th42M函数不是所有的路径上都有返回值# Function does notpaths.43M函数的实参是全局变量#Actualparameterprocedure.184#Construct leads to185C存在循环条件不成达#Infeasible loop cond4

17、0M函数包括无限循环(无终止条件)#Procedure contains27M存在无限循环结构#Infinite loop used.204M在循环语句中有多个控制变量#More than one contro78M存在浮点相等比力#Equality comparison13M使用 goto 语句#goto detected.时间:二 O 二一年七月二十九日O 二一年七月二十九日127127M函数界说无相应原型characters.# Procedure definition137M存在潜在的无限循环prototype.# Potentially infinite361M指针在使用之前没有进行

18、非空检查# Pointer not checked380M往没有翻开过的文件中写# Attempt to write to381M文件指针在退出时没有关闭# File pointer not clo44M代码中有过剩变量# Variables were44M代码中有过剩变量# Variables were decla45M变量未赋初值就引用# UR data flow anomal51M参数与期望的作用不匹配# Parameters do not ma54M给值传递参数赋值# Attempt to change pa12M31 个字符# Identifier exceeds *表达式分析192

19、M表达式中的括号使用正确:#Curly brackets used i表达式中使用71M存在数组下标越界# Array bound exceeded264M存在被零除# Divide by 0 found.82MSWITCH 语句是否为空# Empty switch stateme83MSWITCH 语句只含DEFAULT 情况# Switch contains defa72MSWITCH 语句缺少DEFAULT#No default case in swO 二一年七月二十九日84MCASE 语句缺少BREAK84MCASE 语句缺少BREAK#Switch Case not termi86M返回类型为VOID 的函数呈现在表达式中# Void procedure used88M函数中是否存在Return 语句为空# Function with empty153M存在混合运算#Use of mixed mode ari149M对指针进行逻辑比力#Logical comparison o176M在逻辑表达式中使用赋值把持符#Assignment operato

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论