最近读了James大叔的一篇总结Tester类型的文章,获益良多。原文叫做Seven Kinds of Testers(链接:http://www.satisfice.com/blog/archives/893)。

可爱的James大叔还对每种类型的Tester给出了忠告。其实后最三种并非专职的Tester,而是做着和Tester相关工作的其他工种。

  • 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大叔所说,产品代码都是开发写的,如果开发在写代码的时候能考虑产品的可测性,将大大减轻测试工作的难度。

我也一直在思考Tester的发展方向的问题,最常见的就是Tester-》Senior Tester-》Test lead-》Test Manager这条路。James大叔从另一个角度给出了另一种选择。我不认为,一辈子写代码(不做PM)或者一辈子做一个Tester(不做Manager)是一件羞耻的事情,试想一个Tester集成了以上七种技能,或者在任何一方面做的非常精深,还怕找不到自身价值么。

如需转载,请注明出处,这是对他人劳动成果的尊重~

 

Seven Kinds of Testers - 七种类型的测试的更多相关文章

  1. ES6学习笔记(八)第七种类型Symbol

    1.概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种 ...

  2. Linux下文件的七种类型

    文件属性 1. 本章引言 上一章通过学习文件io,知道了如何使用文件io来打开文件,对文件进行读写等操作,那么我们这一章将换一个角度,专门围绕文件属性进行相关的讨论. 1.1 什么是文件属性? 我们通 ...

  3. Mysql表的七种引擎类型,InnoDB和MyISAM引擎对比区别总结

    InnoDB和MyISAM区别总结 我用MySQL的时候用的是Navicat for MySQL(Navicat for mysql v9.0.15注册码生成器)操作库.表操作的,默认的表就是Inno ...

  4. asp.net学习之GridView七种字段

    原文:asp.net学习之GridView七种字段 asp.net中GridView绑定到数据源时,可以自动显示数据源的各个字段.只要设定其AutoGenerateColumns为TRUE即可.但这, ...

  5. JavaScript中七种数据类型·中·一

    Standing on Shoulders of Giants; 说到JavaScript里的类型很容易就让人想起 42和"42",分别是string型和number型,但是他们可 ...

  6. MySQL常用的七种表类型(转)

    MySQL常用的七种表类型(转)   其实MySQL提供的表类型截至到今天已经有13种,各有各的好处,但是民间流传的常用的应该是7种,如果再细化出来,基本上就只有两种:InnoDB.MyIASM两种. ...

  7. 【Linux】七种文件类型

    Linux中的七种文件类型 d 目录文件. l 符号链接(指向另一个文件). s 套接字文件. b 块设备文件,二进制文件. c 字符设备文件. p 命名管道文件. - 普通文件

  8. 【JVM】垃圾回收器总结(2)——七种垃圾回收器类型

    七种垃圾回收器类型 GC的约定参数 DefNew——Default New Generation Tenured——Serial Old ParNew——Parallel New Generation ...

  9. JavaScript 用七种方式教你判断一个变量是否为数组类型

    JavaScript 如何判断一个变量是否为数组类型 引言 正文 方法一 方法二 方法三 方法四 方法五 方法六 方法七 结束语 引言 我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式 ...

随机推荐

  1. 2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

    5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username ...

  2. [PHP] 编译安装swoole

    不知道为啥,家里的网访问不了pecl.php.net,这也就没有办法直接使用pecl install swoole安装swoole,也可以直接进行编译安装 在git仓库下载源码 https://git ...

  3. Cocos2d-x 点击菜单按键居中放大(无需修改底层代码)

    建议转至该处阅读 https://www.zybuluo.com/tangyikejun/note/21953 配置环境:win7+Cocos2d-x.2.0.3+VS2012 目标读者:已经了解Co ...

  4. ubuntu18.04因java路径原因启动jenkins失败

    我的云服务器ubuntu18.04上本来装了jenkins,今天安装完tomcat后,将原有的openjdk卸载了,安装了jdk8u192, 此时浏览器访问8080端口显示的就是tomcat安装成功的 ...

  5. java调用py文件传参执行

    java执行的也是py文件主函数. 传参: String url="*********************"; String[] args1 = new String[] { ...

  6. 【docker构建】基于docker构建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

  7. 基于STM32F429,Cubemx的SDHC卡的基本Fatfs文件移植

    本博文要求各位初步了解Fatfs文件系统 友情提示Fatfs官网:http://elm-chan.org/fsw/ff/00index_e.html 1.开发软件 keil5,Cube5.21 2.实 ...

  8. [WPF 自定义控件]让Form在加载后自动获得焦点

    1. 需求 加载后让第一个输入框或者焦点是个很基本的功能,典型的如"登录"对话框.一般来说"登录"对话框加载后"用户名"应该马上获得焦点,用 ...

  9. iOS-基于TCP连接<Scoket-客户端>

    一:前言(本文为TCP客户端) TCP首先要服务器开放一个端口 然后客户端去连接服务端的IP地址和端口号 连接成功之后再进行数据传输 要经历三次握手 二:代码在GitHub 1.需要的工具类 自行下载 ...

  10. 通过 RxSwift 优雅使用 NotificationCenter

    原文 纯粹的官方代码使用NotificationCenter真的很难用,但是有了RxSwift,就变得方便了很多. 修改 Podfile,通过pod引入RxSwift pod 'RxSwift' po ...