|
LDRA Testbed®主要用于在软件编程、软件测试与软件维护阶段,以提高软件产品的质量。
在软件开发中,LDRA Testbed® 可让每个软件开发人员与管理人员都关心如下的问题:
采用统一的工具,遵循同样的编程规则,运行有效的测试;
项目负责人与质量工程师使用工具定期检查整个工程是否达到了预期的质量目标。
软件维护在整个软件开发活动中困难大、开销高。LDRA Testbed® 提供了一个强有力的理解软件的逆向工程工具以及让用户了解修改程序中的某一部分对整个应用的影响的评估工具。
采用LDRA Testbed®可以用来清晰地定义所编软件达到的级别和所要接受的测试。 使用LDRA Testbed®可提高软件产品开发效率、缩短开发周期,这主要归功于:
在编程阶段可检测和修改软件的错误与缺点;
在测试阶段,实时显示测试覆盖率,提供调整测试方案和优化软件测试的必要信息;
在软件维护阶段,提供了理解软件的逆向工程工具。
通过使用LDRA Testbed,可改进软件产品开发过程,提高软件产品质量:
其分析采用了国际上使用的基于软件度量(Mccabe,Halstead,等等)的质量模型,其软件编程规则综合了众多软件公司的编程经验;
可使用代码覆盖率检验软件测试效率;
项目负责人或管理者可定期检查软件并确保开发出的软件可靠且易于维护;
支持DO-178B(A,B,C级)、ISO-9001、IEC/W9、Tick/IT等众多软件标准验证;
LDRA产品本身通过软件标准验证
编程标准验证 预防软件错误的发生;
数据流分析 检测软件中错误,辅助代码审查;
软件度量分析 客观度量并跟踪控制软件质量;
调用关系、控制流程分析 直观了解程序结构;
代码覆盖率分析 优化软件测试,提升软件质量。
编程标准验证(Coding Standards Verification)
编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRA Testbed 自动地验证应用软件是否遵循了所选择的编程规则。编程规则由软件项目管理者根据自身项目的特点并参考现有的成熟的软件编程标准制定,如DERA(欧洲防务标准),MISRA(汽车软件标准),LDRA Testbed依据此规则搜索应用程序,并判断代码是否违反所制定的编程规则。LDRA Testbed报告所有违反编程规则的代码并以文本方式或图形反标注的方式显示。测试人员或编程人员可根据显示的信息对违反编程规则的代码进行修改。
数据流分析--错误检测(Error Detection)
LDRA Testbed分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级。
研究结果表明这种技术,即为软件测试工程师所熟知的数据流分析技术(Data Flow Analysis),是查找软件错误最有效的途径或方法之一。
通过 Testbed数据流分析功能,可方便地分析出软件中一些可能的程序欠缺,如:
1、用错的局部或全局变量;
2、不匹配的参数;
3、遗漏的标号或代码;
4、未定义的变量;
等等,其中经常会发现程序中有未定义的变量情况发生。
软件度量分析
对于软件开发工程师、项目负责人及高级管理者来说,软件质量的管理与监控是非常困难的且费时。LDRA Testbed很好地解决了这一问题,使得管理者很容易地收集正在开发的软件系统的相关信息并判断软件是否满足软件质量标准要求,从而达到对软件项目的质量跟踪与控制。Testbed 提供数据文件接口,用户可基于现行软件标准自行定义适合本系统或项目的软件质量模型。
LDRA Testbed 支持下列主要软件度量元分析:
控制流结点度量(Control Flow Knots);
LCSAJ 密度度量(LCSAJ Density);
扇入/扇出度量;
循环深度度量;
McCabe 圈复杂度;
Halstead软件科学度量;
McCabe 基本圈复杂度;
注释行度量;
代码可达性度量;
等等。
质量报告生成
LDRA Testbed自动生成各种质量报告供测试人员分析,包括代码规则检查报告、软件度量报告、数据流报告、交叉索引报告,报告形式可以为ASCII文本或HTML超文本,报告支持文件级与系统级。
上海创景公司在LDRA Testbed基础上成功开发中文质量报告生成工具TBreporter,使用此工具用户可定义报告模板,TBreporter自动生成中文质量报告,报告格式为微软公司WORD格式。
代码可视化显示
Testbed提供调用图与控制流程图,显示被测系统的调用关系及每个子程序的控制流程。使用此功能用户可快速理解被测软件系统,并方便软件维护。
静态与动态显示调用关系、控制流程关系;
图形与程序之间索引浏览功能;
控制流程图中反标注分支条件,帮助理解软件执行流程;
Testbed功能介绍
--------------------------------------------------------------------------------
编程标准验证 预防软件错误的发生;
数据流分析 检测软件中错误,辅助代码审查;
软件度量分析 客观度量并跟踪控制软件质量;
调用关系、控制流程分析 直观了解程序结构;
代码覆盖率分析 优化软件测试,提升软件质量。
代码覆盖率分析
如果在进行软件测试时不对代码覆盖率进行监控,有可能在未被执行的代码中遗留软件错误,因此在软件测试过程中有效地监控代码覆盖率是提高软件测试有效性的一项重要途径。
通过对被测软件进行自动源程序插装(Source Code Instrumentation),LDRA Testbed可报告被测软件在测试执行时代码覆盖情况,从而可快速识别遗漏的测试数据。
LDRA Testbed可提供如下代码覆盖率指标:
· 语句覆盖(Statement);
· 分支判定覆盖(Branch/Decision);
· LCSAJ覆盖(Linear Code Sequence and Jump Segments);
· 过程/函数调用覆盖(Procedure/Function Call);
· 分支条件覆盖(Branch Condition);
· 分支条件组合覆盖(Branch Condition Combination);
· 修正条件/判定覆盖(Modified Condition/Decision);
· 动态数据流覆盖(Dynamic Data Flow)。
通过LDRA Testbed对被测软件进行代码覆盖率指标分析,可制定出相应的软件测试策略以达到期望的代码覆盖率要求。这将大大提高对被测软件(或代码)的信心。
宿主机/目标机环境测试(Host/Target Testing)
由于LDRA Testbed开放的结构,除了在宿主环境下使用外,同时适用于宿主机/目标机环境,包括:
· 嵌入式系统(Embedded System);
· Mainframe系统;
· 仿真系统(Simulator,Emulator)。
支持实时操作系统有:
· VxWORKS;
· pSOS;
· VRTX;
· OSE
· 用户自行设计的RTOS。
Testbed/TBrun支持众多流行的嵌入式开发环境,可与嵌入式开发环境高度集成,方便测试人员的使用,Tesstbed/TBrun支持的嵌入式开发环境有:
· Tornado I/II VxWorks
· Multi/pSOS
· TI DSP Code Composer
· AD SHARC
· SingleStep
· CADUL
· KEIL51
· IAR51
· CodeWarrior
· EST VisionClick
· MRI XRAY
· 各种仿真器
· 其他 |
|