软件质量预测与评估方法探究(2)

发表于:2016-10-04来源:IBM developerWorks中国作者:IBM developerWorks中国点击数: 标签:质量
但同时也会因为由于过于频繁的需求变化,而导致软件自身质量风险急剧增大。 所以在市场的实践中,需要充分利用 Agile 的优势,并小心抑制随之带来的

但同时也会因为由于过于频繁的需求变化,而导致软件自身质量风险急剧增大。

所以在市场的实践中,需要充分利用 Agile 的优势,并小心抑制随之带来的风险。

1.2 软件质量与成熟度模型

软件能力成熟度模型集成(CMMI),将现有的实施以及未来的各种能力成熟度模型进行了集成,目的就是增强并改进软件过程,以最低的成本最高的效率,开发出最符合客户需求的高质量软件。

目前通用的成熟度模型有五级:

  • 初始级:混乱无序的软件过程,成功与否完全依赖于个人的努力。
  • 可重复级:有基本的项目管理过程去跟踪项目进度、成本等。
  • 已定义级:具有过程的文档化、标准化。
  • 量化管理级:软件质量和过程有的详细度量数据支持,并有定量的控制。
  • 优化管理级:过程量化,并定量反馈信息,可持续改进。

从以上分析可以看出,成熟度越高,软件的质量将有更准确的信息去追踪、度量和改进,软件在质量上的风险也就越低。所以对软件过程不断优化,保持较高的成熟度水平,将在早期发现软件弱点,甚至达到预防缺陷的目标,这将从根本提高了软件的质量。

1.3 评估软件质量的方案讨论及意义

在传统的软件质量评估体系中,一般会有测试团队根据测试覆盖率等指标做出的内部质量评估,然后交给部分用户进行 alpha/beta 测试,得到部分外部质量评估后,最终投放市场才能够得到用户使用中质量的评估。而恰恰对于软件质量影响最大的过程是开发过程,很少有质量评估。

在传统的开发模型下,软件开发团队对于软件质量的预测通常根据内部质量评估与外部或者使用中质量评估对比的历史经验进行,与最影响质量的开发过程脱节。 有时,内部质量评估与外部质量最终差异较大,开发团队通常需要等待很长时间才能够得到外部的质量反馈,在此之前,软件产品质量的提升通常靠经验和猜测进行。

原文转自:http://www.ibm.com/developerworks/cn/devops/1609_liuy_quality/