7、代码重构时也对测试代码进行重构
软件工程师必知的12个单元测试技巧" src="https://www.ltesting.net/attachments/2008/09/54376_200809051731357c0Tb.jpg"> |
你只有对测试工作真正投入,它才会发挥更大的作用。你不仅仅要编写测试,你还需要确保它们及时更新。当为一个组件增加一个新方法时,你需要同时增加一个或更多的相应测试。同样,如果你要删除无用代码的话,也要删除已经不再有用的测试。
在进行大量重构工作的时候单元测试尤其有用。利用重构可以大大提高我们的编程效率,不过对代码完成了重构后,别忘了也对测试进行相应的修改,并要重新运行一下所有相关测试,以确保在进行程序改动的时候没有出现错误。
8、针对发现的程序漏洞编写测试
在减少漏洞方面,单元测试是一个非常有用的武器。当你发现了代码中的问题后,在对其进行修复以前,先编写一个测试来让这个问题可以在测试的时候暴露出来。这样,如果这个问题在其它地方重新出现的话,你就可以在测试的时候轻松发现它们。
这是一个非常有用的经验,因为你不可能总是马上就编写出能发现所有问题的测试代码。当你增加了针对某种漏洞的测试后,实际上你的测试代码距离完美又靠近了一步。
9、使用单元测试来确保性能
除了确保代码的正确性之外,单元测试还可以帮助我们确保代码的性能不会随时间而下降。在很多系统中存在这个问题,随着系统开发工作的继续进行,被加入了越来越多的代码,会变得越来越慢。
要想编写性能测试,你需要在你的测试基类中增加start和stop功能函数。在单元测试阶段就开始考虑性能测试是非常必要的,这样在代码发生改变或者对代码进行了优化时就能看出这些改变是否会影响到性能,能尽早的发现代码变更对性能的影响。
一个系统的性能如果拆分来看,可以看成若干单元性能的一个有机结合,单元的性能势必也会对整个系统的性能产生影响,所以尽早考虑性能测试是很必要的,当然这需要很好的分析和设计了。
10、为并发代码创建测试
并发代码通常不容易控制,通常是许多漏洞的源头。因此对它们进行单元测试是非常重要的。实现方法是使用一个休眠和锁定机制。如果你需要等待一个特定的系统状态,你可以在你的测试中 使用休眠调用功能。
尽管这并不是一个完全正确的解决办法,但是在很多情况下它已经够用了。
如果要在一个更加复杂的场景中模拟并发性,你需要围绕你测试的对象进行锁的传递。这样你可以模拟并发系统,不过它是线性的。
文章来源于领测软件测试网 https://www.ltesting.net/