【转载】关于测试人员的职业发展

近期由于项目组人手不够,需要招聘一些测试人员。本周及上周陆陆续续面试了十多个应征者,工作年限在2年~9年之间,但无一满意。期间,种种感叹,回想起去年面试六十余人仅有3人满足要求,如有鲠在喉,还是吐槽一下。如有不对请大家也狂喷我。

      我的要求高么?

      我的要求其实是:有还算不错的沟通能力,熟悉常见软件开发流程,有一定的需求分析、用例设计能力,会基本的linux和sql操作能力。有一些代码能力会加分。这是长期与现实妥协的结果。如果人还算机灵,其实我很愿意花时间来培养他们。

      面试结果

      令人惋惜的是,一个合适的人真的很难找。更令人惋惜的是,我看到好多入行很多年的同行,能力并没有跟随工作年限一同增长,有些做了五六年的人有时候给人感觉竟然还不如一个入行一两年的年轻人。最令人遗憾的是,大部分同学竟然没有一个明确的职业发展思路,即使有,也没有经过深入一些的思考,而是人云亦云。

      面试的一些细节:  

      因为从事的工作是业务密集型的,有的业务逻辑非常复杂,我们特意准备了一份不错的需求(考虑到应试者没有行业背景,给出了详尽的专业说明和例子),并根据这份需求出了几道用例设计的题。只有不到四分之一的应试者给出了让人相对满意的答案。我们内部评估这份需求的时候,认为只要有过一两年的用例设计经验,应该能答的不错。

      我一般会根据简历问一些问题,看看简历的真实性。也会问一些基础的测试知识,查看应试者的专业素质。

     常见的问题:

     说说你常用的测试方法? 百分之九十的人只能答出等价类和边界值。只有少数人可以讲出其它测试用例设计方法,但深入问,从没有一个人能有令人满意的回答.

     给一个非常简单的小例子,例如登录操作,让应试者回答如何使用等价类方法设计用例。但让人吃惊的是仍然只有不到五分之一能够给出比较满意的答案。

     陈述一个缺陷的生命周期(你们是怎么管理bug的?)有一多半人能够说出常见流程,但深入问一些问题:如缺陷如何同版本、测试轮次等结合起来,一些特殊情况如何处理等,很多人就懵了,而这些基本上都是工作中常用的。

     你做的最长的一个项目是什么?在这期间你遇到了什么问题让你最头疼?你如何解决它?十个人里大约只有一人能给出还算不错的答案(能够识别出问题,提出它带来 的不利影响是什么,并能够给出一定的解决方案就算是不错的答案了)。

     你感兴趣的测试工作是什么,你想在哪方面有所发展?十个人里有4个会说是自动化测试,3个会说性能测试,2个会说是管理,一个会说是白盒测试。并希望提供相应培训。只有极少数人能够说出具体的思路和技术项。

     如果继续追问:你说的是性能测试吧?你有过这方面的学习么?一半会说看过一些网站上的技术文章,一半会说看过loadrunner的书。如果继续追问,是哪本书?是哪类文章?有哪些具体的知识点能讲一下么?90%答不上来。

     问:你有看过哪一本测试书籍?哪些技术博客?哪些网站?50%的人会说看过QTP的书(QTP的真正使用率已经快赶上诺基亚的使用率了,国内主流自动化的书竟然还是这个!),并且没有真正在工作中使用过,然后就没有别的了。有少一半人最近几年一本技术书籍也没有看过。

     如果有管理经验的应试者,我会问一些测试过程管理相关的问题,如给一个最简单的题:如果测试时间不够如何?十个人中只会有两三个提到排定优先级和测试裁剪,大部分人的回答竟然是加班也一定要搞完。

    我想说的:

 1.为了你的前途,请多明确一些个人能力思路吧。你五年后,十年后是个什么样子?有没有一个明确的想法?有没有你五年后想达到的某个人的程度?如果这些思路不清楚,请多看看外面的世界,看看一些测试做得非常好的人是如何工作的,他们掌握了什么能力?学习他们,追赶他们并尝试超越他们。最好认识他们,可以侃侃大山,志同道合抱团前进很好。另外目标别定太抽象,一定要是可以分解,可以检查的。

  2.多读一些测试书籍,测试的书并不是只有QTP!看看微软测试专家史亮推荐的书单,这些都是不错的好书:http://www.cnblogs.com/liangshi/archive/2011/03/07/1973525.html  有些书能够帮助你把测试知识框架搭建起来,比照一下你还缺点啥? 

  3.多读一些其它书籍,不限于技术书籍。如果想读的书有利于工作,推荐一些如何做思辨思维的书。《思考的艺术》《六顶思考帽》《你的灯亮着么》 《学会提问》是我喜欢的4本书。它们会教你怎么独立思考,养成提问的习惯,而提问的习惯是我们现在的测试人员最缺乏的一件事情。人们往往拿了被测物就开始忙着写用例,忙着测试。而不是先探索它、研究它。当然IT技术也要掌握,如果你的IT技能能够赶上开发,你发现你做测试的思路会非常的宽广:)

 4.把书籍中的东西跟你的工作对比,把好的东西引入工作(这点是检验书本质量的好方法,也是促进你思考,促进你能力提高的好方法。

5.关注大牛们的技术博客。国内写好测试博客的人不是很多(很多人其实很有水平,但是不喜欢写blog),但是国外有很多,有人整理了一个list也推荐给大家:http://ssnlove2008.blog.163.com/blog/static/3788942020093284842381/。

6.搞定你所在行业的领域知识:如常见IT技术,常见业务知识,这些知识掌握的越深,你的价值越高。测试技术是内功,但是你能直接为企业带来价值的最大之处是你对被测物熟悉程度,也就是你的领域知识!!!

7.没有方向?从你的工作入手,比如,你遇到的最大的难题是什么?我怎么解决它?我需要掌握什么样的技术解决他?我要推动什么样的组织改变来解决它?别人怎么解决它?有没有更好的方法?使用后我改进了那些?google一下别人有没有同样的问题?尝试作对比,如果觉得他做得好,尝试联系那个人讨论一下。看看对方的进展。尝试把活儿干得特别漂亮。你能解决10个中等问题以后,你的能力会有大幅度提高。 

8.尝试做笔记。最好是在线的,推荐印象笔记和有道云笔记。

9.坚持。

10.保证身体健康,岁月会给你带来别人的信任感(当然能力要随着岁数增长)。

能做到这里面的一半,两年后你就能在专业上有高分通过我的面试:)当然肯定你也不见得会看得上我们的offer了。

11.对于没想好就跳槽,换行业的同学说:你再想想!你的很大价值是与你企业、行业绑定的。如:做了5年保险业务,你的领域知识至少值5w每年,换领域就没了。你在一家公司证明了你自己,到新公司要重新证明你一遍,有的时候外部环境、机遇等会让证明过程很痛苦,成本很高。

另外的吐槽:

野蛮生长没有经过系统训练的同学非常多。这其实有很多因素,分析起来觉得有以下几点:

1.大学或者职业教育没有非常好的课程体系(有些培训机构还行,但是也需要提高),其实测试技能需要系统训练和长时间磨练才能有根本的增长,我们的职业教育或者再教育体系其实还是有很大空白的。

2.说句实话,大家的读书氛围不够浓厚。大家不喜欢看书。而读书是再教育成本最低,又非常有效的途径。相比于程序员,测试同学喜欢读技术书籍的比率明显的低,这是一个让人悲伤的事实。真希望这种现象能够改变。

3.很多人是不喜欢coding才转测试,或者是因为IT产业普遍薪水高才来做测试。不是真正热爱这份工作,不热爱其实做不好,因为兴趣是最好的老师。

4.很多人认为测试门槛低,young talent 不愿意干,测试吸引人才有点儿困难(我初入行的时候也有这种想法,也是当时被强拉来做测试的,当时想做的是coding和数据DBA相关工作并已经有了一些积累,(我没说我是啥人才啊))。说实话测试的入门门槛的确有一点点低,但是做好测试的门槛确是相当的高,随着系统越来越复杂,测试逐渐会比开发还难做,更有挑战性,我这么说你信么?

5.专业化社区还没有形成规模,测试人员没有能有效交流的平台。这是跟美国和欧洲的一个挺大的差距。他们的社区做得挺好的,我们也有了一些很好的起步。如一些热衷测试公益的同学,一些不错的会议,一些不错的线下活动,但还需要大大的发扬光大。

 

真心希望测试行业的整体水平能够逐渐提高起来。

最后看一下测试大牛James Whittaker(Google测试之道 和 探索式软件测试 的作者)对职业路程发展的一篇文章吧,你会受益很多:

http://www.cnblogs.com/skytraveler/p/3546703.html

转载于:https://www.cnblogs.com/xmchene/p/4476535.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python之闭包

1 闭包概念 绑定了函数内部引用的所有变量,把它引用的东西都放在一个上下文中“包”了起来 2 闭包的Demo理解 需求:比如我们要实现2个函数,每个函数有个参数,然后现在需要实现这2个函数参数的相加功能 1) 不用闭包python普通实现 #!/usr/bin/env pythondef plus…

C#求一元二次方程的根经典案例程序

目 录 1. 界面设计 2. C#源程序 1. 界面设计 界面说明: 输入一元二次方程的二次项、一次项及常数项,这样的话对应的一元二次方程表达式就确定了,点击【计算】,即可计算出该一元二次方程的根。 2. C#源程序 using System; using System.Collections.Generic; using S…

pythonrequests说明_解决Python requests 报错方法集锦

python版本和ssl版本都会导致 requests在请求https网站时候会出一些错误,最好使用新版本。 1 Python2.6x use requests 一台老Centos机器上跑着古老的应用,加了一个新模块之后报错 报错 InsecurePlatformWarning: A true SSLContext object is not avail…

centos6,7的启动流程

CentOS 6 系统启动流程:POST --> BootSequence(BIOS) --> Bootloader --> kernel [-->ramfs] -->rootfs(ro) --> /sbin/init --> 设定默认运行级别 --> 系统初始化 --> 可以并行执行ctrlaltdel热键功能定义,系统服务的开启和…

微软是如何解决 PC 端程序多开问题的

前言在公众号上看到一篇文章《C#中解决PC端程序多开的问题》。该文作者是通过创建互斥锁Mutex实现的:bool mutexCreated; var mutex new Mutex(true, "MyApp", out mutexCreated); if (mutexCreated) {Application.Run(new Form1()); } else {MessageBox.Show("…

java中inputstream_java中InputStream String

Java 中获取输入流时,有时候须要将输入流转成String,以便获取当中的内容 ,以下总结一下 InputStream 转成String 的方式方法1:public String convertStreamToString(InputStream is) {BufferedReader reader new BufferedReader(new InputSt…

【C语言简单说】三:整数变量和输出扩展(1)

唔!经历之前眼瞎的教程之后,现在我继续的眼瞎着写接下来的章节… 注:注意我们每一行代码后面的分号表示我们一句代码的结束,就像我们在写文字的时候的标点符号,一个句号表示一句话的结尾。 注:我们printf…

做程序员的纠结在哪里

做程序员的纠结在于,人们与计算机之间的沟通的鸿沟现在交给了程序员来填。 好的程序员,必然有一面是在用0和1的模式来思考问题。 现在有很多职位也挂了程序员的名字。 比如比如数据分析师,说到底,如果你不写程序,应该称…

磁盘和文件系统管理一

主要掌握规划硬盘中的分区,创建文件系统,挂载卸载文件系统。学会添加并进行分区,学会创建并挂载文件系统。 检测并确认新硬盘 fdisk –l [磁盘设备] 规划磁盘中的分区fdisk [磁盘设备] 用途:在交互是的操作环境中管理磁盘分区 交…

JavaScript面向对象编程笔记

<!DOCTYPE html> <html> <head><title>面向对象编程</title><script type"text/javascript">var person {};//或者这样&#xff1a;var person new Object();person.name "张三";person.age 20;//函数充当属性&a…

C和指针之memmove函数 memcpy函数 strcspn函数 strspn函数 strrstr函数实现

1 memmove函数的实现 #include <stdio.h> #include <string.h>void* my_memmove(void*dest, const void*src, size_t len) { char *pdest = (char *)dest; const char* psrc = (char *)src; if ((psrc < pdest) && (pdest < psrc + len)) {…

NodeJS-queryString

无论是前端还是后端&#xff0c;经常出现的应用场景是URL中参数的处理。nodeJS的queryString模块提供了一些处理 query strings 的工具。本文将详细介绍nodeJS中的queryStringvar querystring require(querystring);/*{ unescapeBuffer: [Function],unescape: [Function: qsUn…

ASP.NET和ASP.NETCore多环境配置对比

前言多环境配置应该都很熟悉了&#xff0c;最为常见的便是Debug和Release&#xff0c;例如下图是新建的一个asp.net项目&#xff0c;配置文件展开共有三个文件组成据我所知&#xff0c;大多公司从来没编辑过Web.Debug.config和Web.Release.config&#xff0c;一个Web.config文件…

d类功放芯片_应用于无滤波级D类音频功放的新型死区时间控制系统

在音频功率放大领域&#xff0c;由于D类音频功率放大器是基于脉冲宽度调制技术的开关放大器[1-4]&#xff0c;用作放大的功率管几乎总是处于或者完全导通或者完全截止的状态&#xff0c;因此其功率损耗比传统的线性放大器小得多&#xff0c;这使得其效率非常高&#xff0c;符合…

java 字节序列_java – 这个线程安全的字节序列生成器有什么问题?

我需要一个字节生成器,它将生成从Byte.MIN_VALUE到Byte.MAX_VALUE的值.当它达到MAX_VALUE时,它应该从MIN_VALUE重新开始.我使用AtomicInteger编写了代码(见下文);但是,如果同时访问并且如果使用Thread.sleep()人为地减慢了代码,那么代码似乎没有正常运行(如果没有睡眠,它运行正…

【C语言简单说】三:整数变量和输出扩展(2)

尼玛。。。简直蛋了个翔。。。 没保存&#xff0c;&#xff0c;&#xff0c;&#xff0c; ( E___E ) 念昏了头 注&#xff1a;注意我们每一行代码后面的分号表示我们一句代码的结束&#xff0c;就像我们在写文字的时候的标点符号&#xff0c;一个句号表示一句话的结尾。 注…

Makefile的写法

1.Makefile的规则 1.1 格式 目标&#xff1a;依赖命令…… 必须注意的是&#xff0c;命令前面的不是空格&#xff0c;而是制表符Tab。 1.2 伪目标 makefile中把那些只包含命令&#xff0c;没有任何依赖的目标称为”伪目标”(phony targets) 1 .PHONY: clean 2 clean: 3 …

C和指针之strcat函数 strchr函数 strcmp函数 strcpy函数 strnchr函数 strstr函数实现

1 strcat函数实现 #include <stdio.h> //简单实现strcat函数 char *my_strcat(char *des, const char *src) {if (des == NULL || src == NULL)return des;char *result = des;//把指针移到末尾while (*des)des++;printf("*des is %c\n", *des);while ((*des…

JavaScript三种弹出框(alert,confirm和prompt)用法举例

目 录 1. 警告(alert) 2. 确认(confirm) 3. 提问(prompt) 1. 警告(alert) 在访问网站的时候,你遇到过这样的情况吗?“咚”的一声,一个小窗口出现在你面前,上面写着一段警示性的文字,或是其它的提示信息。如果你不点击确定,你就不能对网页做任何的操作。没错,这个“…

UML 用例图

用例模型 用例模型用来记录系统的需求&#xff0c;它提供系统与用户及其他参与者的一种通信手段。 执行者 用例图显示了系统和系统外实体之间的交互。这些实体被引用为执行者。执行者代表角色&#xff0c;可以包括&#xff1a;用户&#xff0c;外部硬件和其他系统。执行者往往被…