摘要:Eric Gunnerson 介绍了事先测试开发的思想,并提供了一个实用实例来演示如何在您自己的应用程序中应用它。
本专栏末尾有我的简介,如果您读过的话,就会知道我在担任程序经理之前曾出任 C# 编译器的测试组长,而在此之前是 C++ 编译器的测试组长。这些工作经历使我对分析和尽量避免软件错误特别感兴趣。
要减少软件中的错误数目,方法之一就是拥有一个专业的测试组,其工作就是尽一切可能使软件崩溃。不幸的是,如果拥有测试组,那么即使是经验丰富的开发人员,也会倾向于花费较少的时间来保证代码的可靠性。
软件界有一句俗语:“开发人员不应该测试他们自己的代码”。这是因为开发人员对自己的代码了如指掌,他们很清楚如何采用适当的方法对代码进行测试。尽管这句俗语很有道理,但却忽略了非常重要的一点 - 如果开发人员不对自己的代码进行测试,又如何知道代码能否按照预期的方式运行?
简单说来,他们根本无从得知。开发人员编写那种运行不正常或只在某些情况下运行正常的代码是一个严重的问题。他们通常只测试代码能否在很少的情况下正常运行,而不是验证代码能够在所有情况下均正常运行。
发现软件错误
发现软件错误的情况有很多:
1、由首次编写代码的开发人员发现。
2、由尝试运行代码的开发人员发现。
3、由组中的其他开发人员或测试人员发现。
4、作为产品大规模测试的一部分。