Seven Kinds of Testers - 七种类型的测试
最近读了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 - 七种类型的测试的更多相关文章
- ES6学习笔记(八)第七种类型Symbol
1.概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种 ...
- Linux下文件的七种类型
文件属性 1. 本章引言 上一章通过学习文件io,知道了如何使用文件io来打开文件,对文件进行读写等操作,那么我们这一章将换一个角度,专门围绕文件属性进行相关的讨论. 1.1 什么是文件属性? 我们通 ...
- Mysql表的七种引擎类型,InnoDB和MyISAM引擎对比区别总结
InnoDB和MyISAM区别总结 我用MySQL的时候用的是Navicat for MySQL(Navicat for mysql v9.0.15注册码生成器)操作库.表操作的,默认的表就是Inno ...
- asp.net学习之GridView七种字段
原文:asp.net学习之GridView七种字段 asp.net中GridView绑定到数据源时,可以自动显示数据源的各个字段.只要设定其AutoGenerateColumns为TRUE即可.但这, ...
- JavaScript中七种数据类型·中·一
Standing on Shoulders of Giants; 说到JavaScript里的类型很容易就让人想起 42和"42",分别是string型和number型,但是他们可 ...
- MySQL常用的七种表类型(转)
MySQL常用的七种表类型(转) 其实MySQL提供的表类型截至到今天已经有13种,各有各的好处,但是民间流传的常用的应该是7种,如果再细化出来,基本上就只有两种:InnoDB.MyIASM两种. ...
- 【Linux】七种文件类型
Linux中的七种文件类型 d 目录文件. l 符号链接(指向另一个文件). s 套接字文件. b 块设备文件,二进制文件. c 字符设备文件. p 命名管道文件. - 普通文件
- 【JVM】垃圾回收器总结(2)——七种垃圾回收器类型
七种垃圾回收器类型 GC的约定参数 DefNew——Default New Generation Tenured——Serial Old ParNew——Parallel New Generation ...
- JavaScript 用七种方式教你判断一个变量是否为数组类型
JavaScript 如何判断一个变量是否为数组类型 引言 正文 方法一 方法二 方法三 方法四 方法五 方法六 方法七 结束语 引言 我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式 ...
随机推荐
- windows重装系统后grub引导菜单修复方法(亲自实验过)
问题: 电脑安装的是windows7+ubuntu 15.10双系统.windows重装后,grub引导界面消失. 解决方法有两大步: 1.进入ubuntu; 2.在ubuntu中修复grub. 一. ...
- mybatis入门视频总结
1.基础知识 2. 原生态jdbc问题总结 3.mybatis是什么 4.工程结构 5.SqlMapConfig.xml文件 6.sqlmap 包下新建user.xml文件(namespace,par ...
- Python动态网页爬虫-----动态网页真实地址破解原理
参考链接:Python动态网页爬虫-----动态网页真实地址破解原理
- shadertoy使用教程
shadertoy使用教程 /** *常量定义 */ uniform vec3 iResolution; // 窗口分辨率,单位像素 uniform float iTime; // 程序运行的时间,单 ...
- go语言面向对象之方法
1.实现方法 package main import "fmt" //在面向对象编程中,一个对象其实就是一个简单的值或者一个变量,在这个 //对象中包含一些函数 //这种带有接受者 ...
- SpringBoot配置文件yml ScannerException: while scanning an alias *
在使用yml编写配置我呢见 management: endpoints: web: base-path: /actuator jmx: exposure: include: * 报了如下错误 解决方案 ...
- 在Windows下配置多个git账号
1.生成并部署SSH key 安装好Git客户端后,打开git bash,输入以下命令生成user1的SSH Key: ssh-keygen -t rsa -C "user1@email.c ...
- Python迭代器(函数名的应用,新版格式化输出)
1. 函数名的运用 你们说一下,按照你们的理解,函数名是什么? 函数名的定义和变量的定义几乎一致,在变量的角度,函数名其实就是一个变量,具有变量的功能:可以赋值:但是作为函数名他也有特殊的功能 ...
- 【重学Git】整理提交记录
有时候我们在本分支做了一个很小的更改提交,其他分支想直接拿到这个更改提交,有没有一种不像merge或rebase这么正式的做法呢?也就是说:我仅仅是想获取其中一个小改变而已.cherry-pick就是 ...
- textarea中文本高亮选中
最近在实现原文/译文句段高亮对比显示,和有道翻译类似,如下图所示: 最初的解决方案是采用富文本编辑器,把所有句段信息都用HTML标签包裹,操作空间比较大,页面上需要的功能几乎都可以实现,但是由此带来了 ...