选择测试之路??路上的迷茫

  2010年12月31日,在网易从事了多年开发之后,依依不舍地离开,面临的是一个完全从零开始的全新职位:SQA,也是tester。

  当时对为什么被选择做软件质量保证,而不是继续在研发上进取,持有保留态度:凭什么要我转,不是别人?这个时候,多年的伙伴、领队??雷叔把我的优点暴露出来了:认真、心细、负责;好吧,基于以上几点,只有“我行”,只能给力了。

  从心底里,对质量管理、SQA等概念,我并没有多想,因为根本想不了,脑子里面没有太全面的认知,即使雷叔讲过一些,我还是觉得不够全面,不知道业界是如何做的?所以心里多多少少有点担心!

  几个人成立一个新团队,什么都是从零开始,关键还是要有一些流程,这几年开发中也积累了些经验,总结了些问题。在12月底,我提交了《软件质量保证第一季度计划》,这个计划后来也成为了整个质量保证体系的核心,大概 纲要如下:

  1、搭建项目管理平台

  2、搭建持续集成平台

  3、规范开发流程

  4、制定软件质量保证规范流程

  5、建立缺陷管理

  6、建立风险管理库、经验教训库(长远计划)

  2011年1月25日,苦于没有规范的流程,做起事来还是不够顺畅,在奋战多日之后,制定了《产品研发质保流程手册》,简单来说,划分了:需求、开发、发布三个阶段,每个阶段定义验收的产物。为什么要制定这个?必须有章可依,否则步伐不稳健,走的再远,也会乱。

  道路上,难免遭遇坎坷,要不断提升自己,也有三点切身体会:

  1、如电影《热血教练》中卡特教练所说,先把基本功练扎实了,才能有胜算。既然从零开始,不要被困惑不已的琐事所纠缠着,下决心突破,可以研读:质量管理、缺陷预防、软件测试、持续集成等书籍,并且通过互联网了解一些公司是如何开展测试和质量管理的方方面面。

  2、个人价值迎合团队价值,果断取舍,为团队利益着想。

  3、坚定信念,避免浮躁,把握远景,不要急于寻求成感。

  同时,在调研期间,我意识到持续集成很重要,并按照当前的需求,重点关注以下几点:持续测试、持续审查、持续反馈。

图:早期的开发、测试流程原型图

  无悔选择测试之路??路上的抉择、进取

  有了流程规范,接下来是实施和持续改进。这些规范运用在一个项目上,先做了三个月,不停地测试,编写功能测试用例,也走了2条弯路:

  1、用例花了大量时间编写,连打开浏览器、输入xx、点击登录,这些也记录了(这种是早期状况)。 我居然还请缨加入开发,因为看到一些任务完成不了。后来雷叔也指明,测试做测试应该去做的,如果我当时帮忙做开发,那么很多测试都完成不了,一样保证不了质量。

  2、所以,测试人员除了要了解业务,使用简单、清晰的语言结构来进行测试之外,还应该准确定位自己,明白自己在整个版本迭代中,控制质量的位置!

  事后想想,那段日子锻炼了什么?那三个月无法忘记,每天高强度测试,用的多的是:功能测试(边界值、场景法),白盒测试。其实是锻炼了测试的基础技能和流程管理。

  后来测试管理流程逐步建立起来,但是在测试过程中,应当如何提高代码质量?这个阶段我们参考了敏捷开发中高质量 Java 代码开发实践,做了一些适合团队的改进,见下图:

图:质量提升的模式

  这种迭代版本中java代码质量提升的模式,已经采用了将近一年,非常有效。

  同年Q2,我们对测试管理进行了改进,其中是受到段念《组织敏捷测试》影响,采用类似“一页纸计划”的测试文档(在此要感谢段念)在redmine进行管理。之前每次整理测试计划,发送给开发人员,实际上耗费了一些时间,并且成效不大,现在的任务:需求、开发、测试,全部交给redmine管理,所有事情一目了然,对任何人都是可见的,有没有完成,进度如何,非常清晰。