软件检查和软件测试是识别和发现软件产品中的缺陷和错误所需的两种基本和重要的技术或方法。这两种方法通常都能识别出可以被消除和修复的缺陷,以提高和改善软件产品的质量。但检查要方便得多,而且覆盖的开发阶段范围也更大。软件检查在软件质量保证中也起着非常重要的作用。

没有检查的软件开发生命周期(SDLC)
下图显示了在没有进行检查和没有纳入SDLC时的缺陷起源和缺陷发现阶段。但软件测试活动通常只识别和发现编码缺陷。软件测试没有发现其他缺陷。存在于需求、设计、文档、维护和测试中的缺陷通常在维护阶段被发现和识别。由于这个原因,在交付的时候会产生混乱。由于这种混乱,软件质量也会受到很大的影响。维修或修复缺陷的成本也会增加。
没有检查的软件开发生命周期(SDLC)

软件开发生命周期(SDLC)与检查
下图显示,软件检查不仅可以拯救我们,还可以使我们的产品避免所有的问题。当检查被纳入并应用时,在同一阶段就能发现缺陷,然后在同一阶段结束时进一步消除和修复缺陷。这基本上可以把我们从混乱地带拯救出来,并且在很大程度上减少解决缺陷的成本。
软件开发生命周期(SDLC)与检查

在识别各种类型的缺陷方面,软件检查也起着非常有效和重要的作用,而不是软件测试的作用。

错误的类型 软件检查 软件测试
模块层面上的接口缺陷
代码复杂度
附加功能
产品可用性缺陷
性能的错误
代码结构不良
缺少或错误的功能
边界测试时的缺陷

在这个表格中,在错误类型栏中,显示了软件产品中可能存在的不同类型的错误。其他两列,即检查和测试,只是显示了哪种错误类型将被检查、测试或两者同时识别。从上表中,我们可以说,在确定错误和缺陷方面,软件检查比软件测试更加有效和重要。