2、单元测试

  大家都知道单元测试是非常花时间的,所以我们把单元测试的时间主要花在测试业务逻辑上(Service)。在单元测试的过程中,根据不同的情况我们采用了以下四种方式:

  1)结对单元测试,由结对的人帮助你写单元测试。

  2)边实现边写单元测试,项目时间比较充裕的时候,自己在实现的过程中写单元测试。

  3)测试驱动。业务逻辑比较复杂的时候。

  4)补写单元测试,这出现在项目比较紧的时候,或者因单元测试没有覆盖的流程所引起的BUG。

  我们追求的是单元测试的行覆盖率达到70%,目的是希望单元测试能覆盖大部分业务逻辑。

  3、团队合作

  很多时候质量低下,源于没有时间,比如团队中有的同学实现某个功能发生了延迟,那么他肯定没时间开写单元测试,帮别人做CodeReview,那么这个问题应该在晨会的时候知会团队成员,由其他团队成员帮助你去完成这些事项,因为我们是一个团队。

  4、冒烟测试

  提测前我们会进行一次冒烟测试,目的是测试核心流程是否正常,因为我们要求冒烟测试必须一次性通过,所以在冒烟测试前,程序员必须按照测试的check List做后一次检查,这样可以调动大家重视质量的积极性。

  5、项目总结

  在项目总结的时候,针对于BUG我们会做如下分析

  ● 如果项目BUG比较多,那么大家一起分析原因。一般前端功能比较多的,BUG会多。后端功能,BUG会比较少。有的时候项目比较紧,以上有些流程没有完全走到,会引起很多BUG。

  ● 如果某个成员BUG比较多,那么由他自己先分析下BUG产生的原因,然后加到下次Code Review和自测的check List里。

  ● 重复BUG的分析,出现重复BUG是比较严重的问题,这一般都是由于重构引起的。

  ● 单元测试可避免的BUG分析。

  我们使用一套闭环的方式来保证项目质量:

  审查(按照checkList进行需求,设计和代码的审查)- 测试(自动化,冒烟和功能测试)-总结(总结出checkList)

  那么再回答下开篇的几个问题

  ● 问:程序员是乐观的,觉得自己写的程序没什么问题。

  答:通过以上这些流程提高质量意识。

  ● 问:程序员不愿意做测试,做测试没有成感。

  答:通过写自动化测试脚本来增加程序员的成感。

  ● 问:程序员没有时间做测试。

  答:通过团队合作来弥补某些成员没时间做测试的问题。