单元测试优先级,工具,指标

时间:2011-01-09 23:35:22

标签: unit-testing

想象一下,我们的程序中有1000个函数。我们需要测试所有这些吗?

我们能否为这些功能提供一些优先级,我们可以在此之后测试其中一些但不是全部吗?

为此我们可以使用哪些工具和指标?

3 个答案:

答案 0 :(得分:2)

最好测试一切不太明显的东西,跳过琐碎的东西,比如getter和setter。

但是你可能想要衡量cyclomatic complexity并担心更复杂的功能。

答案 1 :(得分:2)

  

我们需要测试所有这些吗?

没有。首先,值得关注的是bug。每个新bug都应以至少一个单元测试结束演示结束。 理想情况下,您可能希望改进合理的自动化测试套件。 Crap4JClover可以让您了解从哪里开始。 Clover有 Project Risks Quick Wins 云(基本上是关于圈复杂度和测试覆盖率的观点),它将对应该测试什么以及什么将有助于保持道德提供一些指导起来。

答案 2 :(得分:1)

在理想的世界中,您的解决方案中的每个方法(或函数)都有多个单元测试。实际上,这通常不会发生,尤其是在处理现有系统时。

由于每个软件解决方案都不同,因此没有自动化的方法来确定应该对哪些方法进行单元测试的优先级。我将专注于作为解决方案核心的方法和类,并尝试在这些方法上获得尽可能多的单元测试覆盖率。然后专注于代码的其他部分。

单元测试工具因您的语言和环境而异。 Visual Studio包括基本单元测试,另外还有NUnit for .NET测试。对于Java,有JUnit。