其实总认为测试要会编程的人有两种:
一种是君子太器了,总停在器物层面,忘记了编程只是对工具的高效使用,也只是整个测试大环境中的一个螺丝钉,用个形像的比方,一个很牛P的开发人员,他是一直写代码么?当然不是,要知道牛P的开发人员一定是有一个核心,说大点儿是设计,说小点儿是算法,有了这个,你再懂什么设计模式,数据库,编程工具,语法,操作系统,办公软件,管理软件,建模软件,这些都是以设计为中心的外围,都是可以在流程中当成螺丝钉被分割出去的,那么回到测试,测试的核心是什么,是编程么?你要编程就去当开发嘛,真是的,讨厌,测试的本质是要保证质量,这就要求做测试的核心一定是方法,有了最良好最适合的方法才能保证质量,这个方法就考验出你在测试上的设计能力,由此为了这些方法的高效率与更好实施,你必须也有一个外围,他们是计算机知识(当然也包括编程,但这已经是一个螺丝钉了,有时可能编程都不用),统计学知识,为了选择适合的测试用例,可能要用到的工程方法,比如时间一紧,可能根据项目测试现状而选择正交测试法,由此用最少成本做到最大质量保证,有了这些方法,与工序流程,你再看每个工序中,是不是需要编程也提高效率,或者为了战略性原因定制自己的自动化代码库,这些都是在方法的基础上做的,都不过是螺丝钉。
二种则是在步入职业生涯时,一直对代码有一种情节,认为写代码的人牛P,而自己却做不到,所以选择测试这种他以为是简单的工作来做,做的过程中发现原来测试也是可以写代码的,于是就从原来的自卑中解脱出来,并以此为敖,也牛P起来,这其实从一个侧面反应出很多测试人员的自卑心理。
要知道我们做测试是一种职业,他不同于开发,不要动不动就去与开发人员比会不会写代码,不要用别人的职业上的标准当作自己职业的标准,你有见过一个汽车工程设计师因为泡不到MM而自卑,看到赛车手他就眼红,于是放下自己的设计方法,而去与一个赛车手比谁把车开得更快一些,飘移更漂亮一些吗?
说到底,不管是开发中的编码,还是测试中的编码,都是很初级的工作,都不是这个职业链中的高端,高端应该是对设计对方法的研究与创新,甚至引发自己所处职业的一种潮流!