作为一名学后台开发的人,实习期间作为Java开发实习生,参与了自动化测试平台的建设,而在实际工作中,我走向了测试开发的岗位。当然具备开发能力的测试相对来说还是蛮有竞争力的,尤其是进入大公司,这是一个很重要的能力,我曾一度觉得开发测试工具才是一名测试开发工程师(而非测试工程师)的真正意义所在,真正体现了测试与开发两项能力,然而回想我的实习经历,在自动化测试平台开发过程中,参与开发的全部都是普通的后台开发人员而已,哪有什么测试方向的同事一起coding,顶多是作为使用者提提建议或者BUG,今天偶然看到一篇文章摘录如下:
工具开发和自动化测试开发的积累无法打造不被开发人员替代的测试核心竞争力。如果一个测试架构师50%的时间都去写代码做测试工具开发了,那么就是在浪费测试架构师好不容易积累起来的测试经验,其实也是在浪费公司的测试知识资产。测试架构师应该做测试领域中无法被他人替代的工作,测试工具和自动化测试框架的实现是可以被开发工程师或其它有一定开发能力的测试人员替代做的。测试架构师可以基于如何提高测试覆盖率,如何提高测试效率和测试质量的角度提出测试工具和自动化测试框架的开发需求,甚至一些实现的指导就可以了。在我们公司有几十名测试开发人员帮助我们实现测试工具,让我们聚焦测试技术,而非聚焦开发技术。
这段话是针对测试架构师这种高端职业来说的,测试架构师不能局限于测试工具的开发,去“秀”自己的开发能力,因为这种能力完全可以被开发工程师替代。对于普通的测试开发来说,不能否定开发测试工具是对我们能力的一个重要评价,不然大公司为何觉得是加分项、为何这些能在工作期间有效提升KPI?然而这段话对我也产生了警醒,因为目前我的状态有些过于倾向开发能力的培养了,忘记了测试的核心意义所在,测试开发的工作很多很杂,测试左移、右移等各种名词其实都在体现着一种要求我们在项目中扮演积极主动的角色,以项目高质量上线为目标,在过程中,发现工具的开发能有效提高效率和质量,那就去做开发,而不是为了开发而开发,按实际情况来做有意义的行动才是根本。
这个职位,工作很多很杂,各项都要兼顾的刚刚好,否则不会成为一名优秀的测试开发工程师。