在谈这个问题之前,首先自然是要了解designer和tester之间的差别:简单的一句话,是designer is to construct the system, and tester is to break the system.

编程水平自然是越高越好,但编程水平高的人测试也不定可以,这一点也早有无数例子存在。所以我认为:

首先基本的要求自然是编程水平应该足以满足平时工作需要,在编写测试代码,开发测试工具的时候编程技术不应该是个瓶颈。C/C++博大精深,即便是的软件开发人员也不敢说完全精通,测试人员如果花太多时间去研究语言技巧,哪里还有时间精力去搞测试技术。况且太高深的编码页不利于维护,我一般不会对测试人员要求写出很完美的代码。我始终认为,测试人员的逻辑能力一定要强,思路一定要清晰,如果一定要给测试人员定义一个编程水平的要求的话,我会选择那本的数据结构作为考核内容。

至于测试技术的培养,无非是多看书,多注意平时使用的软件。通过看书来了解新技术,通过平时的积累来培养自己的usability方面的感觉,顺便说一下,很多人说usability的时候往往只是指那些图形界面的程序,但对于那些SDK之类的提供用户api作开发用的程序同样适用,不同之处只是在于,图形程序可见,用户可以是毫无编程经验的人,而SDK提供的是一个个的接口,面向的用户是各种各样的编程人员,usability应当更侧重于开发人员的感受。

测试人员的天赋有时候影响很大,有些人天生似乎是一个好的测试人员,而有些人怎么都不会去注意一些东西,那应该是各人看待事物的方式不同,没有天赋的只要保持努力,我相信也是完全可以成为一个的测试人员的。