6.  测试速度要快

  当在构建软件时,我们永远都在追赶后的交付期限。我们的测试应该帮助我们实现这一目标,而不是耗时和延迟。

  如果写测试用例花费太长时间,在后期限到来之前,团队可能不会再花时间写测试。如果在运行测试上花费太长时间,团队可能不会在每次更改代码后都运行它们。

  7.  不要忽略失败的测试

  如果你的团队对第1次失败的测试不在意,那么他们对第2、3、4次失败的测试也不会太在意。这种情况下,测试套件反馈的问题将会被忽略,测试也不会对软件质量有太大帮助。

  8.  结对编程有助于团队应用TDD

  当我们首次试图采用TDD时,或者终交付期限临近时,我们可能会忘了写测试,而只顾写生产代码。结对编程可以阻止这种偷工减料的现象,强制团队成员编写测试。

  9.  保持你的测试代码整洁

  为了提高工作效率,我们的测试代码可能不会像生产代码一样整洁。由于软件发生改变时,测试代码也必须改变,测试代码也会越积越多,这样一来,会导致终测试代码也很难维护。

  10  测试应该有且只有一个失败的理由

  这个理由是发现bug。如果你的测试代码有大量的断言,你需要小心。如果生产代码中的函数和类只有一个响应,那我们的测试代码也应该只测试这一个事件。通过这种方式,将很容易找出失败的测试,并弄清楚什么地方出问题了。

  11.  编写单元测试将节省调试时间

  通常在调试代码、寻找bug时会花费大量的时间,一旦你编写了单元测试,你将会在代码的每一块得到一个实时反馈,这将让你更容易找到bug,节省调试时间。

  12.  持之以恒

  应用TDD可以改变我们的心态。对于部分开发者而言,开始写测试很难,而在写生产代码之前写测试更难了。重要的是,要持之以恒地写测试,一旦你的团队完全适应了这种方法,生产效率会成倍提升。