2015-08-31 182 views
1

我正在为我的宁静应用程序进行广泛的功能测试,并且因为该应用程序遵循休息原则,所以开销很小。我想不出一个具体的原因,为什么我应该花时间和精力编写/测试单元测试。我错过了一个明显的观点吗?为什么进行单元测试和功能测试

+0

这个问题可能会更适合[程序员.SE](http://programmers.stackexchange.com/) –

+0

他们之间的目的很不相同。 –

回答

4

如果您的功能测试失败,您经常需要花时间浏览调用链来查找导致失败的代码块。当单元测试失败时,您可以立即知道故障发生的位置。这可以节省您的时间。

也许更重要的是,这可以节省你的队友时间。根据我过去三十年在许多不同团队工作的经验,当别人的功能测试失败时,我需要一段时间才能了解代码。单元测试OTOH通常非常小并且很容易理解。我通常可以根据单元测试失败快速解决回归问题,这比我在功能测试失败时可以快得多。另外,单元测试的运行速度通常比功能测试快得多,这为您提供了更加严格的反馈循环。

在一天结束时,您不会严格遵守其他人建立的教条而赢得奖励积分。你的目标是编写高质量的软件。如果你可以在你的特定情况下只写功能测试来做到这一点,那么就去做吧。单元测试在许多软件项目中是一个好主意,但它们不是万能的。

+0

单元测试也可以测试异常条件并确保错误得到正确处理。 – dkatzel

+1

@dkatzel我也有我的功能测试。例如在'failed_registration.json'中,我有测试检查未满足的验证规则的所有组合,并确保生成正确的错误(即使对返回响应的HTTP状态代码敏感)。 –

相关问题