如今国内测试的发展阶段,其实很少有公司积极地去分析修复缺陷的成本,但随着测试的不断 成熟,以及测试度量体系的不断完善,我们就必须对缺陷修复成本进行分析,这样可以帮助我们改 进研发质量。
通常分析缺陷修复成本主要包括两个方面的内容:一是缺陷修复成本与研发阶段的关系;二是 缺陷修复成本的计算方法。
缺陷修复成本与研发阶段的关系 研发阶段可以分为:需求、设计、编码、测试和发布。在不同的阶段,缺陷修复的成本是不一 致的,并不是所有的缺陷在每个阶段所消耗的成本是一致的。一般来说,产品越是接近用户使用或 者说已经是在用户使用的阶段,那么修复缺陷的成本就越高。 缺陷修复成本与产品所处阶段的关系如图 9-6 所示。
需求、设计和测试是研发阶段,产品维护时产品已经发布了,也就是在维护的时候,客户已经 在使用该产品了。也就是说,如果产品已经到客户手上使用了,那么修复缺陷的成本可能会成指数 级的增长,甚至远远不止是 100 倍了。
例如:很早的一个国产奶粉的品牌——三鹿奶粉,这个奶粉配方中三聚氰胺超标,导致幼儿发 育不正常,当问题确定后,三鹿奶粉随即破产了。如果把奶粉配方中三聚氰胺超标看作一个缺陷的 话,那么这个缺陷直接导致该公司破产,这个缺陷修复的成本是无法估算的。 当然如果缺陷是在研发阶段发现的,那么修复成本其实是很低的,特别是如果在需求阶段发现 存在缺陷,那么修复的成本就更低,只需要修改需求文档就可以。所以在现在的研发体系中我们 提倡尽早测试就是这个道理,我们希望在研发阶段发现更多的缺陷,这样可以降低后期缺陷修复的 成本。 所以在测试时,需要尽量在研发阶段发现绝大多数缺陷,或者说最起码不应该将严重或致命的 缺陷遗留到客户使用的阶段,这样产品可能面临着很高的缺陷修复成本。 发现缺陷的阶段通常包括:需求、设计、编码、用户使用和错误的修改。各阶段发现缺陷的比例见表 9-3。