单元测试
作者:软件测试工程师 发布时间:[ 2010/8/30 14:01:44 ] 推荐标签:
1、什么是单元测试
单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
2、单元测试中的误区
系统开发中,我们有不少的测试误区,特别是对单元测试的误区,下面列出一些单元测试的误区,认识他们,了解他们,让我们系统开发中克服他们,让我们的程序变得更加稳定。
1)编写单元测试太花时间了
在开发时越早发现BUG,能节省更多的时间,降低更多的风险。如果不及时修改错误,一后期发现的错误,调试修改很困难,更浪费时间;二是维护越多,代码的结构越乱,甚至改变当初的实际思路。
2)运行测试的时间太长了
合适的测试是不会让这种情况发生的。实际上,大多数测试的执行都是非常快的,因此你在几秒之内可以运行成千上万个测试。但是有时某些测试会花费很长的时间。这时,需要把这些耗时的测试和其他测试分开。通常可以每天运行这种测试一次,或者几天一次。
3)测试代码并不是我的工作
工作是保证代码能够正确的完成,恰恰相反,测试代码是不可缺少的工作。
4)不清楚代码的行为,所以也无从测试
如果实在不清楚代码的行为,那么估计现在并不是编码的时候。如果并不知道代码的行为,那么你又如何知道你编写的代码是正确的呢?
5)但是这些代码都能够编译通过
代码通过编译只是验证它的语法通过,但并不能保证它的行为一定正确。
6)项目进度吃紧时少做些测试,时间富裕时多做测试
这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。
7)软件测试是没有前途的工作,只有程序员才是软件高手
项目的成功往往靠个别全能程序员决定,他们负责总体设计和程序详细设计,认为软件开发是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试很不受重视,软件测试人员的地位和待遇自然很低了,甚至软件测试变得可有可无。随着市场对软件质量的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。
3、为什么要使用单元测试
认识到测试中的误区,那为什么要进行单元测试呢?编写代码时,一定会反复调试保证它能够编译通过。如果是编译没有通过的代码,没有任何人会愿意交付给自己的老板。但代码通过编译,只是说明了它的语法正确;却无法保证它的语义也一定正确,没有任何人可以轻易承诺这段代码的行为一定是正确的。幸运,单元测试会为我们的承诺做保证。编写单元测试是用来验证这段代码的行为是否与我们期望的一致。有了单元测试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。
相关推荐
更新发布
功能测试和接口测试的区别
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