PHPUnit单元测试系列一 -- 单测的意义

均为自己粗浅理解,如有纰漏愚见望指出,转载请注明引用,提高自身素质,从我做起。

一、介绍

         一年多学习,对单元测试有较大进步的学习。主要是在框架、开发效率、代码质量、持续集成方面有较多学习。

         单测是对最底层的代码进行测试,如果做好了,那么效果是最明显,而且收益相比其他层级的测试是更加明显的。主要体现在:定位成本低,快速反馈、持续开发。

        

二、单测的收益

单测的意义在于辅助开发人员,如果单测能够提高开发的效率,这是最好。比如,你可以通过简单的单测就可以确定某次的修改是不是OK的。成本极低。相反,如果让测试人员去做,那么还需要一段时间才能够得到结果。


         定位成本低:对于好的单测,覆盖率将会很高,甚至在逻辑覆盖上都能够有很高的覆盖。然后,哪天有个新人修改了一句代码,看是没问题,但是有可能没修改完整。在实际环境中,可能报了个错误,你要定位这问题,可能花费很长的时间。而在单测中,调试不需要依赖环境,很快就可以定位出来。

         快速反馈:case越多,收益越高。好的团队是频繁修改提交代码,怎么确定是否影响其他功能,单测就是很好的途径。单测的运行,就是代码的执行,速度很快,不像selenium速度会很慢。

         持续开发:这个和定位成本低有关系,前人做好了测试的积累,后来修改代码可以很快确定修改的结果。开发效率当然会上去了。

可惜目前的团队角色划分特别明显,不能够亲自尝试开发,以后必要找小型的敏捷团队,亲自尝试TDD。对单元测试在TDD中的重要性,便不发表评论。

 

三、php的单测

每种语言都有对应的单元测试,目前,我接触过的有php及gtest两种。不同的语言,做的单测都是有点区别的。PHP注重在其框架,使用PHP的场景都是WEB应用,基本都是MVC的结构。对于此类的单测,便和C++方面的单测有不小的区别。
PHP的单测,注重与框架结合,还有强大的mock。

四、如何编写好的单测

本来没有这个章节,不过,还是要说明下。良好的代码编码风格,会让单元测试非常的简单。以我这一年多的经验,我单测工作的一部分时间,都纠结在一些非常恶心的代码编码风格。
代码写得好,单测就会更加的好写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值