新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 零缺陷软件开发工具ZDSD

零缺陷软件开发工具ZDSD

作者:上海创景 技术支持经理 周国勇时间:2008-04-14来源:电子产品世界收藏

  前言

本文引用地址:http://www.eepw.com.cn/article/81533.htm

  在航空、航天、国防、核工业、通信、汽车、医疗、金融等尖端产业,对应用软件的安全性、可靠性提出的苛刻标准。从事软件开发的专业公司中,英国LDRA公司(Liverpool Data Research Associates)由Mike Hennell教授在1975年创建,它的软件开发()调试和测试工具是拳头产品。下文对业界著名的嵌入式调试和测试工具作简要介绍。

  解决方案

  LDRA公司的ZDSD解决方案的层次模型如图1所示。在嵌入式系统开发项目中,层次模型包含了五个基本级别,随着对设计过程和项目的目标、中间产品和整体生产率的关注的不同,这些级别可以进行调整。

  级别1

  级别1是对一个将要开发的系统的确定性描述和需要满足的功能性标准,称为高级需求。这个级别可以是详细描述的,也可以不进行详细的描述,它的精确的定义可以推迟到级别2由设计人员,或者甚至级别3的系统概要设计阶段由实现人员去描述。级别1高级需求也叫做系统需求、用户需求、产品需求,或者其他相同含义的称谓。这些需求可以以数据库方式保存(如Telelogic DOORS)或者以文本方式保存(如Microsoft Word)。

  级别2

  级别2是对系统设计,包含对级别1所描述的系统设计的表示方法。这一级别在大多情况下称为低层需求,低层需求必须首先建立起和级别1的联接或者追踪关系。这个联接关系称为需求追踪矩阵(RTM)。图1的层次模型中的所有级别都直接或者间接的参与到RTM中。

  级别2一般可以采用三种典型设计过程之一来表示,第一用设计模型进行描述,如统一建模语言(UML)或者专用的建模工具(如Mathworks的Simulink和NI的LabView等)。第二作为选择,用设计规格说明进行描述。第三用体系架构概念来达到项目中的关键要求,而不采用正式的描述方式。

  级别3

  级别3是系统的实现,包含与级别2的描述保持一致的源代码或汇编代码的生成。在采用建模工具的自动代码生成的情况下,级别2和级别3之间的联接可以自动实现,确保两个级别之间的需求可追踪性。在通常情况下,使用嵌入式操作系统供应商(如Green Hills、Wind River或者LynxOS)提供的集成开发环境(IDE)中进行手工编码。

  级别4

  级别4专注于确认。这一级别将对嵌入式软件进行针对功能和针对结构的测试。可以采用自顶而下,自底而上,或者两种方法相结合的测试策略。这一级别可以采用模拟器、软件仿真器、测试驱动自动生成器以及测试用例自动生成器。如果要进行实际路径测试,那么结构测试中需要扩展使用在级别3中应用过的分析和断言形式的方法。不采用这些分析技术,缺陷的因果关系就不能有效的揭示出来。

  在级别4 RTM得到全面的扩展,将包含测试用例标识、测试规格说明和测试结果在内的相关确认产品项。级别4的重点是在目标机测试和系统集成测试之前更正缺陷。基于主机的测试是非常典型的一种节约费用的选择,因为它很好地提供了早期测试手段,并且它是不依赖于目标平台实现最底层功能的良好手段。

  级别5

  对嵌入式软件的确认,特别是安全苛刻性软件,最有代表性的是在级别5进行。然而,由于在这一级功能频繁的在硬件/软件之间变化,使得缺陷的确定比级别4更加困难。另外,一个层面的追踪,从源代码到目标码的追踪也必须被覆盖。

  功能测试是第5级中的核心工作。另外,结构覆盖作为用来度量功能需求和实现最终追踪关系。在级别4中使用的所有测试产品项都会在级别5中涉及。

  LDRA公司的ZDSD解决方案完全适合上文描述的ZDSD模型的要求。ZDSD解决方案在V型软件开发中的应用如图2所示。

  LDRA产品介绍

  LDRA工具套件主要包括Testbed/TBrun、TBreq以及RTInsight,套件能够辅助客户高效地实现ZDSD的开发流程。

  Testbed功能介绍

  LDRA开发的工具套件在达到团队软件开发和维护目标的过程中,对六项内容提供帮助,如图3所示。

  ·代码评审(检查编码规则);

  ·质量评审(分析代码的复杂度、密度和可测试性);

  ·设计评审(分析接口、变量使用和控制流等);

  ·单元测试(自动创建测试驱动和测试向量);

  ·测试验证(追踪测试执行和分析代码覆盖率);

  ·测试管理(测试用例管理和文档管理)。

  1.代码评审。通过使用工具提供的强大的(包括编码规则检查)分析功能以及工具提供的全面的报告,可以实现对传统代码评审工作的扩展。

  工具提供的代码评审功能的主要特点是,提供了一个自动化的、有效的、可重复的过程,这个过程既节省了时间和资源,又为开发者提供了详细的全面标准,这些是传统的手工技术不能与之相比的。

  2.质量评审。该功能使用质量度量方法快速确定软件的质量,使质量评审过程自动化。

  质量评审一个主要特点是全面的代码可视化、系统级的质量度量和代码的结构简化,帮助提高对整个代码的信心。

  3.设计评审。对源代码与最初的设计需求之间的一致性进行评估是很重要的。

  4.单元测试。在软件生命周期中,随着软件开发的进行,发现错误以及修正错误的成本越来越大,这是一个大家公认的事实。经验证明代码开发早期的集中测试可以减少相关的成本。

  单元测试在初始编码阶段提供了识别和改正错误的方法,帮助确认和维护软件单元/模块的一致性。单元测试工具使测试过程自动化,解决了传统的单元测试大量消耗时间和资源的问题。

  5.测试验证。在开发安全、商业和任务苛刻性软件的过程中,必须坚持最严格的标准。

  代码的分析、测试和维护占了软件开发生命周期的70%。快速查明被测试软件中不适当的部分,并且按照一个高的标准来测试并减少回头测试的成本,这是极为重要的。主要的目的是节省资源,提高产品质量,缩短上市时间。

  6.测试管理。因为充分理解一个系统可能需要花费很长的时间和大量的人力、物力。工具套件帮助开发者和测试工程师理解、归档、维护庞大的复杂系统。

  文档编制帮助达到质量标准(如ISO 9001:2000)。测试管理的一个主要特点是为评审提供整个系统的文档和版本控制,也帮助减少维护的成本。

  TBreq功能介绍

  TBreq包含了LDRA Testbed和TBrun(单元测试工具)的工具包集成, 能够提供一套完整的解决方案来帮助测试团队实现测试规格说明、单元测试场景、测试数据以及代码覆盖率验证,实现高层次的设计规格说明之间的映射。TBreq直接和管理工具(DOORS、ReqPro、Word、Excel)接口来保证在整个软件生命周期中,实现需求跟踪以及保证对于需求覆盖的完整性。

  在LDRA工具包里,TBreq根据需求直接生成测试规格说明和可执行的测试用例。测试结果直接自动的返回到需求管理工具,从而实现往返的需求跟踪验证。

  所有的这些特点使得TBreq成为当今市场上有效的针对需求管理的解决方案。TBreq是将需求、设计、开发、测试和验证工作与管理工具和设计开发工具链连接起来的较简单的解决方案。

  RTInsightPro嵌入式测试系统

  随着嵌入式实时系统的广泛应用,嵌入式软件可靠性越来越成为系统能否正常运行的关键,由于传统主机平台软件测试工具的局限性,给嵌入式平台软件测试带来很大的困难。

  RTInsightPro充分考虑到嵌入式软件实时性特点,结合使用LDRA公司静态分析与代码自动插装技术,可成功用于实时嵌入式系统集成与系统测试,提供代码覆盖率分析、函数性能分析、内存泄露分析、任务性能分析、变量监控、堆栈监控及系统跟踪功能。RTInsightPro测试系统如图4所示。

  通过采用LDRA公司Testbed软件测试工具静态分析与代码插装技术,以及RTInsightPro硬件,可实时地对嵌入式系统进行代码覆盖率分析与性能分析。由于采用代码插装,可准确地判断代码执行情况,同时由于采用RTInsightPro高速虚拟端口技术,使得代码插装量可控制在每个特征点(即函数入口、出口,程序分支点)一到两条指令或语句(代码增加量可控制在10%之内),大大减少插装代码增加对被测系统的影响。

  RTInsighPro提供代码覆盖率分析、函数性能分析、变量监控、堆栈使用监控、内存泄漏分析、任务性能分析及系统跟踪等功能。

  参考文献:

  1.  LDRA公司Zero Defect Software Development (ZDSD)_Manifesto Version 2.12



评论


相关推荐

技术专区

关闭