好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Testbed静态测试使用指南设计V1.1.doc

19页
  • 卖家[上传人]:博****1
  • 文档编号:449161660
  • 上传时间:2023-08-03
  • 文档格式:DOC
  • 文档大小:525KB
  • / 19 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • word目 录1Testbed功能介绍11112222使用Testbed 进展编码规如此的定制和检查2222223结果分析与测试报告编写2222附录A:静态分析推荐规如此使用说明2 / 1 Testbed功能介绍1.1 编程规如此验证编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRA Testbed 自动地验证应用软件是否遵循了所选择的编程规如此编程规如此由软件项目管理者根据自身项目的特点并参考现有的成熟的软件编程标准制定,如DERA〔欧洲防务标准〕,MISRA〔汽车软件标准〕,LDRA Testbed依据此规如此搜索应用程序,并判断代码是否违反所制定的编程规如此LDRA Testbed报告所有违反编程规如此的代码并以文本方式或图形反标注的方式显示测试人员或编程人员可根据显示的信息对违反编程规如此的代码进展修改1.2 数据流分析LDRA Testbed分析软件中全局变量、局域变量与过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级 通过 Testbed数据流分析功能,可方便地分析出软件中一些可能的程序欠缺,如:1. 没使用的函数参数;2. 不匹配的参数;3. 变量未赋初值就引用;4. 代码中有多余变量;5. 给值传递参数赋值;6. 无返回值的函数路径;7. 函数的实参是全局变量。

      1.3 控制流分析控制流分析检查以下内容:1. 不可达代码;2. 不合理的循环结构;3. 存在浮点相等比拟;4. 函数存在多个出口;5. 函数存在多个入口1.4 表达式分析表达式分析检查以下内容:1. 表达式中的括号使用不当;2. 数组下标越界;3. 存在被零除;4. SWITCH语句缺少DEFAULT;5. CASE语句缺少BREAK;6. 存在混合运算;7. 对指针进展逻辑比拟;8. 在逻辑表达式中使用赋值操作符1.5 接口分析接口分析检查以下内容:1. 实参和形参个数不匹配;2. 实参和形参类型不匹配;3. 函数参数定义的结构和调用的结构不一致1.6 软件质量度量分析对于软件开发工程师、项目负责人与高级管理者来说,软件质量的管理与监控是非常困难的且费时LDRA Testbed很好地解决了这一问题,使得管理者很容易地收集正在开发的软件系统的相关信息并判断软件是否满足软件质量标准要求,从而达到对软件项目的质量跟踪与控制Testbed 提供数据文件接口,用户可基于现行软件标准自行定义适合本系统或项目的软件质量模型静态分析的软件度量元和相应的说明见表1:表 1 软件质量度量元说明序号度量元指标要求说明1函数代码行数<=200函数包含的语句数。

      2注释度量>=20%代码的有效注释率3函数参数<=7函数参数个数4Goto语句0Goto语句数5圈复杂度<=10控制流图中边的数量与节点数量之间的差值加26根本复杂度<=4圈复杂度与流程图中结构化子图的数量之间的差值;根本复杂度高意味着非结构化程度高,难以模块化和维护7LCSAJ密度<=20LCSAJ 密度是一个描述软件可维护性的概念,它是指当改变一行代码时,对其它线性代码顺序和跳转的影响程度,值越大说明影响的测试路径相对越多,因此系统可维护性越低8控制流结点数<=10控制流结点数表示流程图中控制流相交的交点数9根本结点数<=5将流程图中的结构化局部简化成一个点,简化以后流程图的结点数是根本结点数10扇入度量<=7调用本函数的上层函数的个数11扇出度量<=7本函数调用下层函数的个数2 使用Testbed 进展编码规如此的定制和检查LDRA Testbed可通过编辑编码规如此文件实现编码规如此的定制,下面将具体介绍:2.1 确定测试需求在测试需求分析阶段确定:1. 确定测试对象:整个MSVC工程还是文件集合;纯C文件、纯C++还是C/C++混合文件2. 确定测试内容:确定静态分析规如此,可参考附录A所示静态分析推荐规如此使用说明。

      3. 确定测试“类型〞:确定是进展击System分析还是Group分析〔选择Group时,不对代码进展集成测试,只是采用批处理方式分析单个文件〕2.2 建立测试工程1. 启动Testbed,根据分析对象,选择测试工程类型如需对整个MSVC工程进展分析,选择Create Set Based Upon MSVC v6 Project;如分析对象是一个或多个C、C++文件,选择Select/Create/Delete Set…下面以在Set菜单下选择Select/Create/Delete Set…选项为例进展说明 2. 在Select/Create Set输入框中输入“Demo〞,点击【Create】按钮3. 点击【System】按钮〔选择Group时,不对代码进展集成测试,只是采用批处理方式分析单个文件〕4. 点击右上侧【Add】按钮,选择好要分析的文件,点击【Add】按钮后点【OK】按钮进展确认2.3 定制代码分析规如此1. 点击菜单栏中的Configure,在下拉菜单中点击Static Options 选项,将会出现如下窗口,点击cpen.dat/cpppen.dat后的Edit 按钮,按照提示编辑cpen.dat/cpppen.dat后。

      假如存在已编辑好的编码规如此文件,可按旁边的浏览键直接指定该dat 文件,如此下面第3步可以省略2. 编辑第2列,根据实际需求,将对应编码规如此置“0〞或“1〞,置“0〞代表该条编码规如此无效,置“1〞代表该条编码规如此有效2.4 配置Report选项1. Quality Report配置点击菜单栏中的Configure,在下拉菜单中点击Quality Report Options 选项,将会出现如下窗口,在Programming Standard 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只列出有违反的〕2. Metrics Report配置点击菜单栏中的Configure,在下拉菜单中点击Metrics Report Options 选项,将会出现如下窗口,根据测试需求配置metpen,dat与Kiviat.dat文件。

      2.5 分析执行与结果查看1. 点击菜单栏中的Analysis,在下拉菜单中点击Select Analysis,将会出现如下窗口,选择前3 项,点击Start Analysis 按钮,开始进展静态分析2. 静态分析完毕后,点击菜单栏中的Individual /System Results,选择下拉菜单Text Results 中的Quality Report(HTML),查看质量报告3 结果分析与测试报告编写3.1 质量度量信息的获取度量度量信息可通过以下几种方式获取:1. 查看规如此审查报告:点击菜单栏中的Individual Results/System Results,选择下拉菜单Text Results 中的Quality Report (HTML)度量元指标查看位置具体说明注释度量>=20%在Quality Report(HTML)中的 Global Basic Information获取可执行代码行总数与注释行总数注释行总数/〔注释行总数+可执行代码行总数〕函数代码行数<=200System Results菜单下选择Text Results子菜单中的Quality Report(HTML)函数代码行超过200行函数参数<=7函数参数超过7个Goto语句0使用goto语句圈复杂度<=10圈复杂度超过10LCSAJ密度<=20LCSAJ密度超过202. 查看质量度量报告:点击菜单栏中的Individual Results/System Results,选择下拉菜单Text Results 中的Metrics Report (HTML)。

      度量元指标查看位置具体说明圈复杂度<=10Metric Report中plexity MetricsCyclomatic plexity,根本复杂度<=4Essential Cyclomatic plexity控制流结点数<=10Knots根本结点数<=5Essential KnotsLCSAJ密度<=20LCSAJand UnreachabilityMaximum LCSAJ Density扇入度量<=7Dataflow InformationFan In 扇出度量<=7Fan Out3. 查看图形化报告:点击菜单栏中的System Results,选择下拉菜单Graphical Results 中的Static Bar Charts度量元指标查看位置具体说明圈复杂度<=10System Results菜单下Graphical Results子菜单中的Static Bar ChartsCyclomatic plexity根本复杂度<=4Essential Cyclomatic plexity控制流结点数<=10Knots根本结点数<=5Essential Knots以圈复杂度为例:选择Static Bar Charts子菜单下的“Essential Cyclomatic plexity〞,弹出如下所示柱状图,在该界面,将Graph菜单下的Show Bar ponents选中,可查看函数根本圈复杂度具体信息。

      3.2 程序质量度量报告单表 2 程序质量度量报告单度量元指标说明违反个数所在软件具体描述函数代码行数<=200函数包含的语句数注释度量>=20%代码的有效注释率函数参数<=7函数参数个数Goto语句0Goto语句数圈复杂度<=10控制流图中边的数量与节点数量之间的差值加2根本复杂度<=4圈复杂度与流程图中结构化子图的数量之间的差值LCSAJ密度<=20LCSAJ 密度是一个描述软件可维护性的概念控制流结点数<=10控制流结点数表示流程图中控制流相交的交点数根本结点数<=5将流程图中的结构化局部简化成一个点,简化以后流程。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.