前言
UT(unit test)在软件开发中扮演着非常关键的作用,以前和朋友聊天时也有讨论过UT,但似乎对UT的重要性并没有那么强烈的认知。从我个人经验讲,我本人是从事java后端开发的工作,刚开始和很多人的认识一样,把UT看成一种应付,因为很多公司都特别强调UT覆盖率,我也见过很多团队为了应付老板制定的指标而一段时间内专门补UT,但是我认为对软件的最终质量并没有什么效果。
个人认为,关于UT存在以下事实与谬误:
1.UT应该是测试的工作。一般而言,测试人员更多地关注功能的测试和性能测试,而且很多测试用例是基于需求说明开发的,因此测试人员只需要对需求说明上的功能点进行测试。所导致的后果就是,目前很多项目没有需求说明,或需求说明不规范只包含部分关键功能,从而依靠开发或产品与测试人员进行交流,这种主观性极大增加了bug出现的几率。
2.UT增加了软件开发的工作周期。很多人想当然的认为,UT开发的时间延长了项目的deadline,通常UT的开发占用实际开发量的将近1/3,但项目实施中占用最多的并不是开发,而是需求、设计与后期的维护,因此,第一点:UT并不会占用更多的时间,第二点:UT减少了后续修复bug的成本(时间和金钱),UT将更多的问题暴露在前期。
前言讲述了UT的事实与谬误,希望更多的同行能从根本上意识到UT的重要性。言归正传,这次我主要希望与大家分享基于Groovy的UT。写过java的想必都应该使用过junit测试框架,那今天我给大家介绍另外一种基于groovy的框架Spock框架。其中的简