使用LDRATestbed对代码进行静态分析静态分析的主要操作:①分析对象选择②分析前的设置③分析项的选择与分析过程④分析结果的查看详细操作如下:一、分析对象的选择,即如何选择你的分析对象(被分析的文件);有两种方式:单个文件分析和以集(set)的形式分析,以集的形式分析可每次分析多个文件1.单个文件分析选择打开程序LDRATestbed,点击Testbed的菜单Fileselectfile通过文件浏览窗口打开文件要分析的文件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c。
点击select之后,可以在工具快捷按钮栏的下方看见目前选择的文件2.以集(set)的形式分析选择①创建集合(set),设置集合属性打开程序LDRATestbed,点击Testbed的菜单SetSelect/Create/DeleteSets弹出set创建窗口在图中上部的Select/CreateSets区域写入set的名字,然后点击下部的Create按钮创建set,此时会弹出set的属性设置对话框,有两种属性可以设置”Group”和”System;”此两种属性的区别:Group只是把set中的多个文件孤立的分析,不会分析文件间代码的相互关系,可作为批量分析使用。
System把set中的多个文件作为一个工程来分析,能够分析文件间的代码的关联,一般都会采用此种属性。
Set创建之后可在窗口中确认如下:其中demo为set的名字,system为set的属性,(0files)代表set中目前没有文件②向集合中添加文件点击Testbed的菜单Set→List/Add/RemoveFilesinSets弹出添加文件窗口点击图中的Add按钮,通过文件浏览窗口可添加多个文件到set中。
二、分析前的设置在分析前需要对工具进行简单的设置,主要包括用户头文件的设置和编码规则集的设置。
目录1Testbed功能介绍(1)1.1编程规则验证(1)1.2数据流分析(1)1.3控制流分析(1)1.4表达式分析(2)1.5接口分析(2)1.6软件质量度量分析(2)2使用Testbed进行编码规则的定制和检查(3)2.1确定测试需求(3)2.2建立测试工程(3)2.3定制代码分析规则(6)2.4配置Report选项(7)2.5分析执行及结果查看(8)3结果分析及测试报告编写(9)3.1质量度量信息的获取(9)3.2程序质量度量报告单(11)3.3静态分析质量报告单(12)附录A:静态分析推荐规则使用说明(1)1Testbed功能介绍1.1编程规则验证编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRATestbed自动地验证应用软件是否遵循了所选择的编程规则。
编程规则由软件项目管理者根据自身项目的特点并参考现有的成熟的软件编程标准制定,如DERA(欧洲防务标准),MISRA(汽车软件标准),LDRATestbed依据此规则搜索应用程序,并判断代码是否违反所制定的编程规则。
LDRATestbed报告所有违反编程规则的代码并以文本方式或图形反标注的方式显示。
测试人员或编程人员可根据显示的信息对违反编程规则的代码进行修改。
1.2数据流分析LDRATestbed分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级。
通过Testbed数据流分析功能,可方便地分析出软件中一些可能的程序欠缺,如:1.没使用的函数参数;2.不匹配的参数;3.变量未赋初值就引用;4.代码中有多余变量;5.给值传递参数赋值;6.无返回值的函数路径;7.函数的实参是全局变量。
1.3控制流分析控制流分析检查以下内容:1.不可达代码;2.不合理的循环结构;3.存在浮点相等比较;4.函数存在多个出口;5.函数存在多个入口。
使用LDRATestbed对代码进行单元测试单元测试的主要操作:⑴被测对象选择⑵编译器的确认与切换⑶单元测试模块Tbrun的打开⑷测试序列(Sequence)的创建⑸测试用例的创建⑹测试用例的IO值设定⑺测试用例中桩的设定⑻测试用例的执行⑼测试结果的查看⑽测试用例的保存⑾测试用例中增加用户全局变量⑿测试用例创建向导中对全局数组和指针的处理详细操作如下:一、测试对象的选择在Testbed中C码中的“单元”就是一个函数,每次对一个函数的代码进行测试,测试时每次打开一个源文件。
打开程序LDRATestbed,点击Testbed的菜单Fileselectfile通过文件浏览窗口打开文件要分析的文件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c。
点击select之后,可以在工具快捷按钮栏的下方看见目前选择的文件二、编译器的确认与切换在使用TBrun进行单元测试前需要先确认当前使用的编译器是否是正确的,如果不是正确的编译器可以切换为正确的编译器,其操作如下:1.确认编译器是否为目标编译器在Testbed中右上角的”OptionsWindow”中要确认”CurrentCompiler”和”DefaultCompiler”所显示的内容,需要注意两点,“Current”和“Default”是否是目标编译器“Current”和“Default”是否是一样的,应该相同才可以2.切换编译器如果编译器不是用户想要的目标编译器需要切换,切换方法如下:点击Testbed菜单Configure—>SwitchCompiler,在弹出窗口的编译器列表中选择目标编译器,然后点击Select按钮即可。
如果编译器选项中的”CurrentCompiler”和”DefaultCompiler”不一致,也需要设置为一致的,设置方式为点击Testbed菜单Configure—>SwitchCompiler,在弹出窗口中点击ResetCurrentSet按钮来设置。
Testbed汇编功能介绍LDRA公司是专业性软件测试工具与测试技术、咨询服务提供者,成立于1975年,具有丰富的软件测试经验,其总部位于英国利物浦。
其旗舰产品Testbed/TBrun功能强大、功能全面、易于使用,不仅适合于主机平台软件测试,同时适合于嵌入式软件测试,已成功地应用于国内各大研究机构、软件测试部门。
LDRATestbed汇编语言版本软件测试产品功能介绍一、静态分析功能1、编程标准验证编程标准验是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRATestbed自动地验证应用软件是否遵循了所选择的编程规则。
LDRATestbed报告所有违反编程规则的代码。
2、软件度量分析、质量标准验证对于软件开发工程师、项目负责人及高级管理者来说,软件质量的管理与监控是非常困难的且费时。
LDRATestbed支持下列主要软件度量元分析:*控制流结点度量(ControlFlowKnots);*LCSAJ密度度量(LCSAJDensity);*扇入/扇出度量;*循环深度度量;*McCabe圈复杂度;*Halstead软件科学度量;*McCabeEssential复杂度;*注释行度量;*代码可达性度量;*等等。
3、静态数据流分析LDRATestbed分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级。
研究结果表明这种技术,即为软件测试工程师所熟知的数据流分析技术(DataFlowAnalysis),是查找软件错误最有效的途径或方法之一。
Testbed静态测试使用指南V1.1目录1Testbed功能介绍(1)1.1编程规则验证(1)1.2数据流分析(1)1.3控制流分析(1)1.4表达式分析(2)1.5接口分析(2)1.6软件质量度量分析(2)2使用Testbed进行编码规则的定制和检查(3)2.1确定测试需求(3)2.2建立测试工程(3)2.3定制代码分析规则(6)2.4配置Report选项(7)2.5分析执行及结果查看(8)3结果分析及测试报告编写(9)3.1质量度量信息的获取(9)3.2程序质量度量报告单(11)3.3静态分析质量报告单(12)附录A:静态分析推荐规则使用说明(1)1Testbed功能介绍1.1编程规则验证编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRATestbed自动地验证应用软件是否遵循了所选择的编程规则。
使用LDRATestbed对代码进行静态分析静态分析的主要操作:①分析对象选择②分析前的设置③分析项的选择与分析过程④分析结果的查看详细操作如下:一、分析对象的选择,即如何选择你的分析对象(被分析的文件);有两种方式:单个文件分析和以集(set)的形式分析,以集的形式分析可每次分析多个文件1.单个文件分析选择打开程序LDRATestbed,点击Testbed的菜单file通过文件浏览窗口打开文件要分析的文件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c。
LDRA公司是专业性软件测试工具与测试技术、咨询服务提供者,成立于1975年,具有丰富的软件测试经验,其总部位于英国利物浦,中国设有总代理上海创景计算机系统有限公司。
LDRATestbed/TBrun软件测试产品功能介绍一、静态分析功能1、编程标准编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRATestbed自动地验证应用软件是否遵循了所选择的编程规则。
目录1Testbed功能介绍11.1编程规则验证11.2数据流分析11.3控制流分析11.4表达式分析21.5接口分析21.6软件质量度量分析22使用Testbed进行编码规则的定制和检查22.1确定测试需求22.2建立测试工程22.3定制代码分析规则22.4配置Report选项22.5分析执行及结果查看23结果分析及测试报告编写23.1质量度量信息的获取23.2程序质量度量报告单23.3静态分析质量报告单2附录A:静态分析推荐规则使用说明21Testbed功能介绍1.1编程规则验证编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRATestbed自动地验证应用软件是否遵循了所选择的编程规则。
1.4表达式分析表达式分析检查以下内容:1.表达式中的括号使用不当;2.数组下标越界;3.存在被零除;4.SWITCH语句缺少DEFAULT;5.CASE语句缺少BREAK;6.存在混合运算;7.对指针进行逻辑比较;8.在逻辑表达式中使用赋值操作符。
1.基本的静态设置,包含头文件和编译宏设置。
在Testbed菜单configurecodereviewreportoptions点击,弹出codereviewreport对话框.在选项卡ReportbasedConfiguration中”ProgrammingStandardsModel”区域中选择你要生成编码规则检查结果报告所使用的规则集的名字;在”AdditionalDetailforeachStandardsViolation”区域中设定在代码评审结果报告是否包含原代码行号和格式化后的代码行号。
在选项卡DataFiles中可以实现对编码规则集的定制,在”StandardsModelEditor”区域点击按钮”LaunchEditor”可以打开编码规则图形化定制的画面其中列代表的是具体的规则条目,行代表的是规则集的名称,通过选择框的选择可以把某条规则包含或剔除到规则集内。
3.质量评审报告设定在Testbed菜单configure→qualityreviewreoportoptions点击,弹出qualityreviewreport对话框,在”Metpenconfiguration”区域可以设定质量评审报告中每个度量元的上下限的阈值,即可定制质量模型以便生成质量评审报告,点击”C:\LDRA_Toolsuite\metpen.dat”后的”Edit”按钮,可打开质量模型配置文件,修改此文件中度量元的上下限阈值即可修改质量模型。
4.数据对象分析报告设定。
在菜单configure→dataobjectanalysisreoportoptions点击,弹出dataobjectanalysisconfiguration对话框,设定数据对象分析报告中显示的对象范围。
三、分析项的选择与分析过程在Testbed菜单analysisselectanalysis点击,弹出selectanalysis对话框,在此对话框中选择要执行的静态分析项:mainstaticanalysis、complexityanalysis、staticdataflowanalysis、crossreference、informationflowanalysis、dataobjectanalysis,然后点击startanalysis按钮进行分析。
四、分析结果(报告)查看1.单个文件结果查看点击Testbed菜单Individualresults可看到下拉项Sourcecode、Textresults、Graphicalresults分别显示了分析结果,这三个下拉项均可展开,便于用户查看详细的分类结果。
文本化的分析结果:图形化的分析结果2.集(set)的结果查看点击Testbed菜单Setresults可看到下拉项Textresults、Graphicalresults分别显示了分析结果,每个下拉项均可展开,便于用户查看详细的分类结果。