程序员可能都认为质量很重要,但是很多项目质量都不是很高,原因可能是
我觉得提高质量,最重要的是提高质量意识,只要你肯花时间,零BUG也是很容易实现的,我所在的团队就成功实现了几次零BUG的项目,零线上故障,冒烟测试都是一次性通过。我们一个迭代的周期是两周,通过几个流程来保证质量:
需求评审(半小时)-设计评审(1小时)-单元测试(1天)-晨会(每日)-代码审查(1天)-冒烟测试(半天)-项目总结(半天)。
1: Code Review(代码审查)
在一次迭代中会进行四种Code Review:
代码审查的时间,按照情况有三个时间:每日(有时间的话),提测前2天(主要是这个时间)和提测后(如果项目比较紧,这个很少会出现,有些问题即时测试了也发现不了,必须通过Code Review)。
2: 单元测试
大家都知道单元测试是非常花时间的,所以我们把单元测试的时间主要花在测试业务逻辑上(Service)。在单元测试的过程中,根据不同的情况我们采用了以下四种方式:
我们追求的是单元测试的行覆盖率达到70%,目的是希望单元测试能覆盖大部分业务逻辑。
3:团队合作
很多时候质量低下,源于没有时间,比如团队中有的同学实现某个功能发生了延迟,那么他肯定没时间开写单元测试,帮别人做CodeReview,那么这个问题就应该在晨会的时候知会团队成员,由其他团队成员帮助你去完成这些事项,因为我们是一个团队。
4:冒烟测试
提测前我们会进行一次冒烟测试,目的是测试核心流程是否正常,因为我们要求冒烟测试必须一次性通过,所以在冒烟测试前,程序员必须按照测试的check List做最后一次检查,这样可以调动大家重视质量的积极性。
5:项目总结
在项目总结的时候,针对于BUG我们会做如下分析
我们使用一套闭环的方式来保证项目质量:
审查(按照checkList进行需求,设计和代码的审查)- 测试(自动化,冒烟和功能测试)-总结(总结出checkList)
那么再回答下开篇的几个问题
答:通过以上这些流程提高质量意识。
答:通过写自动化测试脚本来增加程序员的成就感。
答:通过团队合作来弥补某些成员没时间做测试的问题。