• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2009-9-01 17:45 | 作者: 靳超 | 来源: 领测软件测试网 | 查看: 150次 | 进入软件测试论坛讨论

领测软件测试网

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

  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软件开发平台,就是以各种国际标准和开放平台为基础,为嵌入式系统软件产品的开发和生产过程提供了良好的开发速度和质量保证。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网