James Bach博客(http://www.satisfice.com/blog/archives/893)中的一篇总结测试人员类型的文章,其中提到了7种类型的测试人员,分别是administrative tester, technical tester, analytical tester, social tester, empathic tester, user, and developer,并且就每种类型的测试人员给出了忠告。觉得对自己测试生涯的定位比较有参考价值,所以分享出来一起学习吧!


▌Administrative Tester-管理型Tester

该类型的Tester主要是完成task或者卡片(敏捷项目中的Story卡),目标就是把手上的工作完成。

低水平的管理型Tester主要就是跑case这类的手工测试。

高水平的管理型Tester是协调者,例如测试经理,测试lead,主要工作是获取资源,更新Dashboard等。


James大叔的忠告:不要只关注测试流程而忽略了测试本身。


这种类型的Tester在外包公司很常见,外包公司的测试会有很多沟通交流的工作,真正用在测试上的时间并不多,且测试的东西大多很简单。。。


▌Technical Tester - 技术型Tester

该类型的Tester擅长构建和使用工具,喜欢从代码⻆角度考虑问题。因为他们说着程序员的语言,所以很倡导可测试性。在Google和Microsoft,这类人叫做SDET。

James大叔的忠告:太着迷于工具,从而会避免测试那些不容易使用工具测试的东西,更倾向学习工具而不是测试。

可测试性对于TDD来说很重要。合适的工具也很有用,自动化测试不都是使用工具么。。。很多公司还会开发自己的测试工具。虽然James大叔有点极端,但是,工具只是辅助手段,工具服务于测试,核心还是测试本身。就像很多人会觉得自动化测试比手工测试高级,就测试本身来说,自动化可以代替重复的工作,提高效率,构建安全网。手工测试能充分发挥测试人员的主观能动性,能在自动化节省出的那些时间里,更加深入,全面的探索。好的手工测试人员是很有价值的。


▌Analytical Tester -分析型Tester

该类型的Tester喜欢使用模型,数学成绩很好。很会运用各种图,矩阵,表等,喜欢做组合测试。


James大叔的忠告:倾向于规划瘫痪(我:过于追求计划的意思么?)常常梦想最优而不是最合适的测试集(我:太追求完美么?


测试是需要经过思考和设计的,不是有些人想的那样,测试只是上来就点点点。我们有很多帮助测试设计的方法和模型(如边界值,判定表,组合测试等)。Tester都知道,测试用例是无法穷举的,那些方法和模型能帮助我们在无尽的测试用例中挑选出覆盖率最优的测试集。


▌Social Tester - 社交型Tester

社交型Tester需要你(来自James大叔的呐喊)!社交型Tester擅长发现所有能帮助他们的人,并且更愿意在一个团队而不是单独工作。他们明白并不是所有人都需要想一个整体解决方案,其他人通常已经完成了需要完成的工作。他们也知道测试不一定需要编程,但编程肯定有帮助。一个好的社交型测试会培养社交资本,为他人提供可信赖的服务。

James大叔的忠告:他们可以偷懒,看上去老是游手好闲。并且牺牲工作时间过度社交。

话说我们公司貌似很欢迎这类型的Tester啊~Tester确实需要很好的沟通交流能力。需求不明确,要和BA和客户沟通;发现Bug了,要和Dev沟通;自己不会写代码,要发动Dev们来写。。。作为一个Tester,需要充分利用团队可利用的资源,来协助自己更好的完成测试工作,而不是一个人闷头在那默默的把所有事都做了。。。


▌Empathic Tester - 投入型Tester

很有同理心,很能体会用户的需要。他们和用户专家不太一样。因为做一个模拟用户的测试和做测试的用户是不一样的。没有技术背景的测试通常采用这种方式。James大叔表示他之前一直没有承认也没有尊重过这种方式。


James大叔的忠告:投入型Tester通常很难描述清楚他们做了什么以及怎么做的。


听起来很像易用性和可用性测试这类非功能测试范畴,确实不好描述和度量。。。


▌User Expert -用户专家

也称为领域专家或者主题专家。他们不认为自己是测试,但是却作为潜在的帮助测试的用户。


James大叔的忠告:没有被定义为Tester,没有趋向学习和开发测试技能。


人家本来就不是Tester,但Tester也需要这种Sense。


▌Developer - 开发

开发也经常测试。他们的理想位置是单元测试,同时也设计可测试的产品。技术型测试可以同时作为开发,当开发进入测试,也通常作为技术型测试

James大叔的忠告:没有被定义为Tester,没有趋向学习和开发测试技能。

懂测试的开发绝对比不懂测试的开发受欢迎~如James大叔所说,产品代码都是开发写的,如果开发在写代码的时候能考虑产品的可测性,将大大减轻测试工作的难度。


你团队的测试人员,都属于哪一类型呢?