嵌入式系统软件的全过程质量保证

发表于:2009-9-10 15:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

  用正确的过程和平台实现质量

  IBM提供一个完整的方案以帮助开发团队构建更高质量的软件。这个开放和标准的平台包括IBM软件的许多工具,包括IBM Rational统一过程。在开发的每个阶段和每个流程都强调关注质量,帮助团队来识别开发生命周期中的早期问题。以下部分描述了RUP和IBM软件开发平台中的工具如何支持每个工作流程中的质量实践的。

  为减少重复描述,先将相关工具的功能统一简要描述。下面的所有工具都可以以插件的形式集成到开放的Eclipse平台上,为开发者提供集成环境:

  IBM Rational System Developer 用于系统建模和开发的集成环境;

  IBM Rational TestManager 用于计划、管理和报告任何测试工作要求;

  IBM Rational Manual Tester 用以提高手工测试工作的效率;

  IBM Rational Test RealTime

  用于嵌入式系统的静态度量、代码规则检查、单元测试、覆盖率分析、内存分析、性能分析、代码跟踪、线程分析、基于消息的分布式系统测试的跨平台解决方案。

  为了推动团队沟通、协作和合作,IBM Rational还提供多种额外的解决方案选项。

  分析

  根据统计得知,引起客户不满意问题的80%可以追溯到对需求的糟糕理解上。对于任何嵌入式开发项目,不论是新的系统开发,或遗留系统更新集成,质量开始于分析业务,以确保系统需求清晰且准确地反映了业务和客户需求。

  我们可以将被测系统置于其将运行的环境中,采用建模的方式,将最优确认的需求,用条目化的方式管理需求文档,实现从需求、到分析、到设计、到实现、到测试的双向跟踪,以实现测试中发现缺陷到各层次的跟踪,和影响范围的分析。

  设计

  在设计中,主要的质量集中在构架上,这是软件的“灵魂”。低质量的构架会引起大范围的质量问题,包括(软件)脆弱、缺乏升级、以及发现缺陷也难以修改。这些问题随着应用软件项目不断发展,变得越来越难以解决;并且随着应用软件从设计到开发、测试和部署,纠正缺陷的成本以指数在增长。如果软件开发人员可以有效地发现、隔离和解决设计和开发期间的结构上的不足,这项工作会在整个项目期间获得受益。

  开发

  平均起来,开发人员在他们写的每千行代码中会产生100到150个错误。当然,这个数量随着开发人员和项目的不同而不同。即使只有一小段代码,产生10%的错误也是很严重的。

  RUP倡导开发人员主动地测试和分析。尽管单元测试和运行分析已经变得更为主流,但是许多管理人员仍然有这样的误解,即这些过程使时间表中增加了不必要的时间。事实上,如果不采用这些措施,开发时间表通常会一样或更加延长,这是由于在质量保证或客户发现问题后,开发人员在生命周期中调试代码要花费更多的时间。

  测试

  管理系统级功能和性能测试是持续保证质量的一个主要部分。一个开发组织既不应当过分强调,也不应当减少系统测试的重要性。如前所述,保证质量不只是测试团队的职责,测试也不只是质量保证的唯一领域。某些测试可以并且应当由开发人员来运行,在某些情况下,可以由构架师来运行。大量的质量保证工作,在RUP的原则下是由其他开发角色构造的。

  支持保证质量的团队职责

  质量是开发团队中的每个人的职责,但是它也是团队作为一个整体的职责。在一个迭代的过程中,每个迭代确保了每个工件质量的持续的重新评估,这样,在迭代的方式下,经常可以保证提交质量更高的产品。有效的软件配置管理和变更管理是保证质量的一个基本工具;它帮助组织确保软件在每次构建时是可重复的和可靠的,并且保证缺陷和变更请求得到正确的管理。

  质量过程改进的步骤

  当我们考虑需要什么来构建任务关键和高安全性的系统软件,并涉及过程质量改进时,大家往往想到的是一个复杂的过程。其实,软件过程质量改进,如软件开发,可以是一个迭代的过程。你不需要一步就完成所有的事情。即使是小的变化,包括调整你的组织中对质量的看法,也会产生一个切实的改进。

  我们指出两条参考的改进的线路图,递进式的(或者本质的)和演进式的(反应式的)。递进式的更多考虑工作流程间的依赖性,做到先改善基础流程,再基于已有的改善基础,做进一步改进。而演进式的多来自于工作中感知到的问题和瓶颈,依据问题的表面做反应式的改进。基于改进后再发现新的问题,如此反复。当然,我们也在努力发现一种可以兼顾工作流程间依赖性,有可以快速显示改进效果的改进方式。

  我们可以把质量保证工作改善划分为以下几个方面:配置管理和变更管理、静态分析和单元测试、集成测试和系统测试、迭代开发和连续测试、全过程质量、组织级质量体系、架构分析、需求管理、项目管理。递进式和演进式的实施方式如图2和图3所示。

  获得软件高质量的高收益

  全过程的质量保证体系总是比忽略质量问题的成本要低。事实上,如果你正确地运用,提高产品质量基本上没有成本。

  在国际上,随着软件质量保证理论及应用研究工作的不断深入,针对软件质量保证工作的工作重点也经历了如下发展历程:

  1970年以前,采用特定(Ad-hoc)测试,与调试没有区分;

  1970年末到1980年中期,测试基础理论和实用技术形成,软件测试作为软件质量保证(SQA)的主要手段和职能;

  1980年代末到90年代中期,测试工具在质量和数量上不断增长,测试与SQA分离,注重于工具对测试效率的影响;

  1990年后期到目前,重新关注有效的过程管理对于软件测试的重要性,将软件工程视为软件测试的基础,或形成各种独立的测试模型、测试能力成熟度模型。

  现在高品质软件,需要完整的软件开发过程和整合的软件开发平台来共同铸就。IBM Rational软件开发平台,就是以各种国际标准和开放平台为基础,为嵌入式系统软件产品的开发和生产过程提供了良好的开发速度和质量保证。

相关阅读:

嵌入式黑盒自动化测试工具的一些想法与思路

嵌入式应用软件的测试策略

提高嵌入式软件质量的途径

嵌入式软件的基本测试方法

嵌入式软件测试的十条秘诀

嵌入式系统测试设计

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • iceriver999
    2009-9-16 11:34:30

    你们公司还真有钱的

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号