单元测试:简介
作者:网络转载 发布时间:[ 2012/3/31 10:28:16 ] 推荐标签:
什么是单元测试
如果你对单元测试已经有概念了,请跳过本章。
简单地说,单元测试是用代码测试代码。不同的语言有不同的库,提供了多种测试工具。PHP有PHPUnit、SimpleTest;Java有JUnit;.NET框架则有NUnit等等。
使用这些工具编写测试代码后,你可以非常方便地进行自动、重复的单元测试。通过编写单元测试代码,你可以保证所写的代码能够得到预期的运行结果。即使日后代码要做修改,只要重新运行单元测试并获得通过,则能说明新的代码是正确的。
Wikipedia上的一篇文章对单元测试作了非常好的定义,如果想深入了解的话可以去阅读。
何时使用单元测试
简单的回答是:永远。
稍长一点的回答是:这取决于项目的复杂度和生命周期。
如果是一个非常小型的项目,那花在编写单元测试上的时间更应该用在写项目上。因为如果项目比较简单,可以在编写代码的时候进行手工测试,这应该是比较容易的。
如果项目的生命周期较短,你肯定也不愿花大把时间用来写单元测试。因为生命周期较短的项目不会进行较大的改动,也不需要进行较多维护。这样一来,单元测试的价值体现不了了。
即便如此,如果你确实有时间和精力去为小型项目写单元测试的话,也可能是个不错的主意。这主要看实际情况如何,但是我上面提出的两种情况还是有代表性的。
写好单元测试
单元测试的目的是测试一段代码的运行结果是否正确。这段代码通常是某个类的某个方法。
通常来说应该给每个行为编写一个测试:给出正确的参数时的运行结果、非法参数的运行结果,对这两点的测试是一定要写的。根据实际情况,也许需要编写更多的测试。
代码覆盖率是用来衡量单元测试好坏的常用指标。也是说,有多少代码是被测试到的,各个分支结构和代码块是否都被运行过,各个函数是否都被调用过等等。
但是,代码覆盖率这个指标有时也会产生误导,因为即使全部的代码都被测试到了,也未必说明这些代码所得到的运行结果是正确的。
下周我会给你一些例子来说明这个问题。
小结
单元测试可以很好地提高代码质量,包括正确性以及模块化程度。因为,它会促使你写出可重用的、灵活的代码,否则将很难进行测试。
下周我会举具体的例子来说明如何进行代码测试,敬请期待。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11