什么是单元测试

       传统工业普遍重视“单元测试”。组装一台电视机之前,会对每个元件进行测试,这是保证质量,降低成本,提升竞争力的需要。不做“单元测试”,只测试整机可不可以?当然可以,但是,只测整机无法检验每个元器件在各种条件下是否工作正常,会有很多“死角”难于覆盖,从而造成整机质量低下,并且修复成本更高。

   软件的单元测试具有更重要的意义,因为代码由人工编写,并非流水线上按相同材料统一规格制作,包含的缺陷更多,且软件系统也比一般的工业产品更复杂,出现错误时,查找和修复难度也更高。

   软件的单元测试,就是针对代码单元的独立测试。这里有两个关键词:“单元”、“独立”。

“单元”是可以单独执行的最小单位,如函数、类或更高层次的代码单位。单元越大,复杂度越高,从实用的角度来说,以函数为单元是合适的。一个函数的测试,也可能很复杂。从目前的状况来看,能做好函数测试的企业并不多,更不用说以类为单元了。

  “独立”是指将代码从原始项目及其依赖的环境中隔离出来,针对各个单元单独进行测试。

即使从没听过单元测试这个词的程序员,也不会跟单元测试毫无关系。写了一个函数,除了极简单的外,总要执行一下,看看功能是否正常,有时还要想办法输出些数据,如弹出信息窗口什么的,这,也是针对代码单元的一种临时测试。也许会说这只是调试,但测试是指“验证是否有错”,调试是指“找出错误原因”,调试之前先有测试。可以说,软件开发离不开单元测试,差别仅在于,是临时的还是长效的、是随意的还是规范的、是片面的还是全面的、是低效的还是高效的。

   这里所讨论的单元测试,是指针对代码单元的长效、规范、全面、高效的测试,有确定的方法和形式,有可衡量的绩效,在产品的整个生命周期内都有效。单元测试通常是最早阶段的测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值