均为自己粗浅理解,如有纰漏愚见望指出,转载请注明引用,提高自身素质,从我做起。
一、介绍
一年多学习,对单元测试有较大进步的学习。主要是在框架、开发效率、代码质量、持续集成方面有较多学习。
单测是对最底层的代码进行测试,如果做好了,那么效果是最明显,而且收益相比其他层级的测试是更加明显的。主要体现在:定位成本低,快速反馈、持续开发。
二、单测的收益
单测的意义在于辅助开发人员,如果单测能够提高开发的效率,这是最好。比如,你可以通过简单的单测就可以确定某次的修改是不是OK的。成本极低。相反,如果让测试人员去做,那么还需要一段时间才能够得到结果。
定位成本低:对于好的单测,覆盖率将会很高,甚至在逻辑覆盖上都能够有很高的覆盖。然后,哪天有个新人修改了一句代码,看是没问题,但是有可能没修改完整。在实际环境中,可能报了个错误,你要定位这问题,可能花费很长的时间。而在单测中,调试不需要依赖环境,很快就可以定位出来。
快速反馈:case越多,收益越高。好的团队是频繁修改提交代码,怎么确定是否影响其他功能,单测就是很好的途径。单测的运行,就是代码的执行,速度很快,不像selenium速度会很慢。
持续开发:这个和定位成本低有关系,前人做好了测试的积累,后来修改代码可以很快确定修改的结果。开发效率当然会上去了。
可惜目前的团队角色划分特别明显,不能够亲自尝试开发,以后必要找小型的敏捷团队,亲自尝试TDD。对单元测试在TDD中的重要性,便不发表评论。