软件研发行业参考统计分析数据 1
CMM 汇总 1
不同CMM等级软件生命周期各阶段缺陷发现分布示意图 不同CMM等级软件生命周期各阶段缺陷分布示意图 1
CMM 级别与Bug 率 本来像软件这样的逻辑产品,开发过程中出现缺陷(BUG)不可避免,但随着CMM级别的提高,软件可靠性将有数量级的改进
目前业界通常的标准是: 每千行源代码所含的BUG 数,CMM1 级为 11
95 个, CMM2 级为 5
52 个, CMM3 级为 2
39 个, CMM4 级为 0
92 个, CMM5 级则只有0
也就是说CMM5 级的可靠性比CMM1 提高近40 倍
在 CMM1,大多数的BUG 通常都会在测试阶段出现,随着 CMM 级别的提高,BUG出现的高峰也随之提前,从而使软件开发的进度得到可靠的保证
在可靠性提高的同时,CMM5 的软件开发周期是CMM1 的36%,而生产成本是CMM1 的19%,平均每个软件开发人员的生产率会提高4 倍
交付后缺陷分布饼图 1
不同阶段消除一个缺陷的相对成本 1
经验:评审、测试与客户发现缺陷比例 1
识别缺陷的成效 测试的成效:最多识别软件所有缺陷中3 0 -3 5 %的缺陷 评审的成效:最多识别软件所有缺陷中 7 0 -7 5 %的缺陷 1
识别缺陷的成本 测试的成本:识别一个重要缺陷平均花费1 5 -2 5 小时 评审的成本:需求阶段识别一个重要缺陷平均花费 2 -3 小时; 设计阶段识别一个重要缺陷平均花费 3 -4 小时; 代码评审阶段识别一个重要缺陷 3 -5 小时; 测试计划评审识别一个重要缺陷3-5 小时 1
解决缺陷的成本 测试的成本:消除一个重要缺陷平均花费30-80 小时(包括识别缺陷时间) 在开发后期才能识别缺陷,成本较高 评审的成本:需求及设计阶段消