1、Testbed静态测试使用指南V11Testbed静态测试使用指南V1.11 Testbed功能介绍1.1 编程规则验证编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRA Testbed 自动地验证应用软件是否遵循了所选择的编程规则。编程规则由软件项目管理者根据自身项目的特点并参考现有的成熟的软件编程标准制定,如DERA(欧洲防务标准),MISRA(汽车软件标准),LDRA Testbed依据此规则搜索应用程序,并判断代码是否违反所制定的编程规则。LDRA Testbed报告所有违反编程规则的代码并以文本方式或图形反标注的方式显示。测试人员或编程人员可根据显示的信息对违反编
2、程规则的代码进行修改。1.2 数据流分析LDRA Testbed分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级。 通过 Testbed数据流分析功能,可方便地分析出软件中一些可能的程序欠缺,如:1. 没使用的函数参数;2. 不匹配的参数;3. 变量未赋初值就引用;4. 代码中有多余变量;5. 给值传递参数赋值;6. 无返回值的函数路径;7. 函数的实参是全局变量。1.3 控制流分析控制流分析检查以下内容:1. 不可达代码;2. 不合理的循环结构;3. 存
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 Test
4、bed很好地解决了这一问题,使得管理者很容易地收集正在开发的软件系统的相关信息并判断软件是否满足软件质量标准要求,从而达到对软件项目的质量跟踪与控制。Testbed 提供数据文件接口,用户可基于现行软件标准自行定义适合本系统或项目的软件质量模型。静态分析的软件度量元和相应的说明见表1:表 1 软件质量度量元说明序号度量元指标要求说明1 函数代码行数=20%代码的有效注释率。3 函数参数=7函数参数个数。4 Goto语句0Goto语句数。5 圈复杂度=10控制流图中边的数量与节点数量之间的差值加2。6 基本复杂度=4圈复杂度与流程图中结构化子图的数量之间的差值;基本复杂度高意味着非结构化程度高,
5、难以模块化和维护。7 LCSAJ密度=20LCSAJ 密度是一个描述软件可维护性的概念,它是指当改变一行代码时,对其它线性代码顺序和跳转的影响程度,值越大说明影响的测试路径相对越多,因此系统可维护性越低。8 控制流结点数=10控制流结点数表示流程图中控制流相交的交点数。9 基本结点数=5将流程图中的结构化部分简化成一个点,简化以后流程图的结点数是基本结点数。10 扇入度量=7调用本函数的上层函数的个数。11 扇出度量=20%在Quality Report (HTML)中的 Global Basic Information获取可执行代码行总数与注释行总数注释行总数/(注释行总数+可执行代码行总数
6、)函数代码行数=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中Complexity MetricsCyclomati
7、c Complexity,基本复杂度=4Essential Cyclomatic Complexity控制流结点数=10Knots基本结点数=5Essential KnotsLCSAJ密度=20LCSAJ and UnreachabilityMaximum LCSAJ Density扇入度量=7Dataflow InformationFan In 扇出度量=7Fan Out3. 查看图形化报告:点击菜单栏中的System Results,选择下拉菜单Graphical Results 中的Static Bar Charts。度量元指标查看位置具体说明圈复杂度=10System Results菜
8、单下Graphical Results子菜单 中的Static Bar ChartsCyclomatic Complexity基本复杂度=4Essential Cyclomatic Complexity控制流结点数=10Knots基本结点数=5Essential Knots以圈复杂度为例:选择Static Bar Charts子菜单下的“Essential Cyclomatic Complexity”,弹出如下所示柱状图,在该界面,将Graph菜单下的Show Bar Components选中,可查看函数基本圈复杂度具体信息。3.2 程序质量度量报告单表 2 程序质量度量报告单度量元指标说明违反个数所在软件具体描述函数代码行数=20%代码的有效注释率函数参数=7函数参数个数Goto语句0Goto语句数圈复杂度=10控制流图中边的数量与节点数量之间的差值加2基本复杂度=4圈复杂度与流程图中结构化子图的数量之间的差值LCSAJ密度=20LCSAJ 密度是一个描述软件可维护性的概念控制流结点数=10控制流结点数表示流程图中控制流相交的交点数基本结点数=5将流程图中的结构化部分简化成一个点,简化以后流程图的结点数是基本结点数。扇入度量=7调用本函数的上层函数的个数扇出度量=7本函数调用
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1