代码改变世界

一个软件测试员的工作与学习(二)

2013-01-19 00:10  虫师  阅读(23964)  评论(10编辑  收藏  举报

 

  本来计划这篇续写的经历在第二份工作离职的时候去写,从2012年的4月份再次入职到现在貌似有不少东西可以写写了。临近春节,加上各种琐事已也不能把注意力特别集中的去学一些东西,索性,整理一下从第二份工作到现在的经历吧!

  这并不是一个成功人士的回忆录,这一个和你同在路上的测试的员的工作与学习的经历,希望我的经历能对刚入测试的同学一点帮助,能给和我同在路上的测试员一丝慰藉与鼓励;同时也希望得到老测试员的一些指点。虽然,我们不在同一个环境下,却经历着相似的事情。(这次煽情多了,主要是前一篇得到不少同学的肯定。哈哈!)

 

再次工作

 

  上一篇说到年后离职,办完离手续,从公交车回到住处时,有一丝刚毕业时候的迷茫,又到了一个重新选择的路口,朋友让我先在郑州找找工作看,回家之后就投了郑州软件测试的简历。第二天接到面试电话,然后开始面试。

  郑州的软件测试职位确实不多,从51job上翻看职位大概只有十几个的样子,其余的职位都是外包到发达城市(北京、上海、杭州等地)的。我的面试经历当然不能跟大牛面试百度、谷歌相提并论。没什么好大写特写的,面试过程也很简单,一个份笔试卷子,然后就是人事、或测试负责人,或经理的直接面试,可以的话直接谈到薪资,然后就是入职。国为郑州的IT行业不够发达,测试职位与空间很有局限。所以,薪资让我无法满意。

  后来,找了一个外包公司,外包到北京、上海工作,开出的薪资,对于我这个小城市混测试的人还是挺有吸引力的,加上每月涨一百的薪资调整。看上去不错。消费再高,除去生活开支,剩余的都是我上份工作的工资了。

  在进入这个外包公司的之后,其间接到了上海、杭州的面试电话。要求还是挺高的,几个电话都惨败,在那个外包公司上了一周的班,在等他们的安排,比较无聊就整理测试的基础知识,翻看面试电话中提到我不懂的技术。上一篇幅工作与学习经历也是那几天无聊时写的。一周后,人事妹子终于告诉我,现在没有职业给我安排了。当时心情颇为复杂,是该怪外包公司耽误我时间呢,还是怪自己学艺不精呢?

 

初到深圳

 

  在离职之后,最想的还是到外面(北、上、广、深、杭等测试发达的城市)看看真正的测试是什么样的。一个人的测试确实伴随着迷茫。为什么是深圳呢?每个城市都有他的特点,我可能更喜欢南方在温暖的天气,好吧!你既然接受了这个城市给你带来的好处,同时也必须接受它的不足。(北京有很多的测试技术交流会,可以认识到同行朋友的机会,这对我选择深圳是最大的遗憾吧!)

  在你初到一个陌生城市的时候,应该怎样找工作与住处。先和在深圳同行了解,哪些个位置适合找出租房,查好路线,留了一个在深圳工作的朋友的电话。我拿了自己所有能拿的家当和仅有的2千元钱。在到达深圳火车站的时候,我把大包的东西寄存在车站,根据朋友指点,去找出租房的地方。在路上接到了A公司的面试电话(因为在来深圳之前,已经投了这边的简历),住处没找到,晚上在一个指定的地方等深圳的朋友,刚好他加班,我等到9点才碰面,一起去吃了个饭。住了一晚旅店。

  第二天开始面试,上午去面试了A公司(自我感觉还可以),下午又面试了一家公司,然后去车站拿行李。不想在住旅店,就要找个出租房落脚。拿到到行李后,回朋友住的地方。(在朋友住的附近找房比较容易联系,心理上会有安全感吧!)其间接到B公司的电话,一个外包公司,在A公司拿到我的简历,说我直接进公司经验不足之类,要我合同和B公司签,一样到A公司工作。我第二天向A公司的人事打电话确认,确实可以这样。(靠,两个公司都不打算去了)。下午面试了C公司,简单笔试加4轮面试就确定下来了。我第二天体验加休息,第三天准备去上班。

  在第二天体验的时候,又接到B公司电话,人事跟我说了很多,后来又让经理跟我谈了很久,我动摇了。 B开的条件略高,外包扣五险一金什么的也少,我当时只考虑拿到手的工资能多一些,实在找不出回绝B公司的理由。下午就去B公司办了入职。C公司非常歉意的邮件回绝了。

总结

  1、从经历的面试电话与直接面试来看,需要掌握三方面的知识,以测试基础知识为主,需要了解linux 和数据库。刚好我之前整理的自己的测试基础知识,也一直在学linux 。笔试的数据库,我基本空白了。。当然,网络和简单程序题也会常被考到。这些要求只真对功能测试职位

  2、在打算选择一个长期的工作时,不紧要考虑眼前的薪资,还要看福利,职业的发展,是否有一套比较完善的职业发展路线(薪资、所需技术、职称等)。这点我就非常盲目,只想早点稳定下来。

 

 

开始工作

 

  不管怎样,开始了我的第二份工作,开始上班还是蛮多压力的,用一周时间来熟悉使用的工具,被测试业务,工作流程。公司有个几十人的测试团队。初接触测试流程,觉得很兴奋,测试人员在公司也是“正儿八经”的一部分。(以前一直一个人的测试,都不知道把自己放哪儿)。

  负责带我的妹子开始给我讲业务,如何查数据库,如何查服务器日志,因为上班时间她要忙工作,我看各种公司文档,她下班时间来给我讲解。所以,我们下班比较晚。我抽晚上和周末的时间继续学linux系统。并整理我博客里的第二个系列性文章《linux那点事儿》算是比较完整八篇博客。

冷下心来又发现了新的迷茫,为测试之路划分了三个阶段,《软件测试员---你的路在哪儿?》 之后又为测试人员划分了三个升级的方向《软件测试员---你的路在之里

 

决定学习性能测试

 

  一次上班的时间,一朋友问我关系性能测试的东西,然后,不自觉的就告诉了他不少性能的东西。而且我对于性能的知识有莫名的兴奋和热情,这使我觉得我可能更喜欢性能测试路线。根据我之前所划分的性能测试的三条路线(白盒测试、功能自动化测试、性能测试)看来,而且,我对性能测试最为熟悉。

  白盒测试,虽然我第一份工作花了相当多的时间学习java ,但学习过程颇为吃力,可能我对编程敏感度不高,而且白盒对编程的能力要求最高。功能自动化测试,看过一个QTP系列的初级教程,买了一本QTP的书来看,书一看就犯困,兴趣度不够,又没在项目中进行实践。后来学selenium兴趣还蛮高,整理了一个《菜鸟学自动化测试》 但始终打的外围战,没有真正的在项目中应用过。只有性能测试,迫于公司任务的压力和自己有兴趣在真正的在项目中应用过,对于一些概念的理解和工具的基本使用都比较了解。

  现在再来回想,测试员的进阶不仅仅局限我前面所说的三个方面,其实很多,比如,你潜心喜欢,测试流程改进与过程优化,可考虑学习研究敏捷测试,做个管理人员也不错。前提是你在测试领域有比较丰富的工作经验。又比如,安全测试,对测试人员的技术能力要求也很高,虽然目前来说安全测试的职位不多,但能提供这个职位的待遇也很丰厚。

 

 

学习性能测试

 

  目前的工作已经彻底与性能测试没一毛钱的关系了,而且,现在在工作时间有一大堆的工作再等着你。已经不能悠闲的学习各种测试工具与技术了。

  学性能测试工具么? 工具这东西只有在实际的使用中学起来是最快的。我已经不能拿它来做实际的应用了,最多练习一下自带的飞机订票系统,录制个Gmail邮箱的登录,无法得到什么有价值的数据来进行分析,因为我完全不了解Gmail 邮箱的系统架构。

  然后,我觉得性能测试工具不是最主要的,虽然我们离开工具很难去完成一个性能测试任务。但对于一个经验丰富的性能专家来说,用什么样的性能测工具都可以完成一次性能测试。然后,就开始读性能测试方面的书籍 《精通软件性能测试与LoadRunner实战 》  《软件性能测试过程详解与案例抛析》 《性能测试进阶指南-------loadrunner 9.1实战 》 《性能测试诊断分析与优化指南 》 ,我从中收获最多的莫过于读段念的《软件性能测试过程详解与案例抛析》 , 它的这本性能测试书没有依赖于某款性能测试来讲,更贴近性能测试本身。

  然后,在不断的学习与思考中整理了《性能测试知多少系列》 ,我用了更多生活中的列子来讲自已所理解的性能测试。所以,很多朋友给我的反馈是看起来很通俗易懂。哈哈。

  当然,要学习性能不仅仅是性能的一些概念和性能工具。性能测试的对象是软件,如果对软件的了解不够,很难做好性能测试,而软件的运行又是一个整体的架构。从软件的载体操作系统,容器中间件,软件的编码语言,到软件调用数据的数据库,都是做好性能所要了解的内容。

  然后就开始学习oracle 数据库,boobooke小布老师的视频讲得非常好,当时在centos 上安装 oracle 10  就花了我一周时间。然后学习apache 同样也是在centos 上安装的。为什么选择linux 来学习这些技术,我前面已经掌握了linux的基本使用。因为我们知道大部分的系统都是跑在linux 系统下的, 所以,掌握linux下一些常用服务的安装与使用非常重要。虽然,这可能花费你非常多的时间。

当然,性能工具也没有彻底的落下,loadrunner的 基本脚本编写,jmeter 一些基本功能使用的整理。与性能测试相关的工具的使用, 业务数据分析工具 :Weblog expert  、Awstats 、系统协议分析工具 :Ominpeek  等。

 

  对性能测试工具的认知的过程也有很大的转折,最初要做性能测试的时候,就是学习使用性能测试工具,认为会使用工具就相当于会性能测试。后来,越来越觉得性能测试远远不只是会工具那么简单,看到那些讲性能测试的书,通篇的在讲loadrunner的使用,就产生鄙视心理。认为测试工具随便花一周时间就能学会。现在又了新的认识,我们的性能测试离不开工具,工具的使用也需要长期的性能测试过程中去挖掘它的潜力。比如,World 大家都会用,但你平时用的功能可能只是它所有功能的十分之一。对于一个world 的高手来说,它编辑一篇文档的速度可能是你的数倍。只有将自己的技术能力与工具完美的结合,才会发挥出强大的力量。

 

 

学习英语

 

  后来,在群里聊天,大家都觉得英语非常重要,随后讨论提高英语的方式,正好,下了一本《微软的软件测试之道》英文版,我发群消息,每人领取两页进行翻译,然后将翻译的结果原文加中文,放到网盘中。大家都热情高涨。因为做这件事可以同时提高你的英文水平和测试知识,但大家都没能坚持多久,我那段时间下班也会看两节新概念英语。自我感觉还是有收获的,如果能长期坚持下去,英语水平会有很大的提升。

  因为目前的环境没有对英语有要求,英语也没有成为我最紧迫需要突破的瓶颈,所以也没有持久的动力去学习。没多久又把重新转移到测试技术上面了。不过,我知道迟早会成为我必须攻克的一个瓶颈。

 

 

软件测试的流程

 

  前面说了很多性能测试,因为今年给自己定计划就是以性能为主,为谋求我的下一份性能测试工作做好准备。

对于目前的这份工作给我带来的收获也很多,对于软件测试流程有了更深理解,从初次接触流程的欣喜,到现在越来越感觉流程的冗余,不够敏捷。

1、测试人员大部分时间在写文档,测试计划,测试用例,灰度报告,测试报告,验收方案。真正用于软件测试的时间非常的。

2、因为有测试这道工序,开发人员完成软件后几乎不进行自测,一个缺陷,流到测试这道工序就需要进行繁琐的处理流程,发现--提交--跟踪--重现---修复--回归。如果开发人员开发完后花一到两天的时间自测,可能会发现一半以上很表面的缺陷。你要知道一些缺陷从开发人员发现到修复可能只需要一分钟。

 

软件测试是什么

 

  我真的讲不清楚软件测试是什么,几乎所有软件测试书中都会给出软件测试的定义,它的价值,它的定位,它存在的意义。似乎很清晰,又似乎很模糊。最近读了几本测试的书《软件测试技术经典教程+第2版》 《[软件测试]Ron Patton》 ,每有感悟也会整理成文章与大家分享。软件测试的本质,软件的分类,软件bug的处理流程以及 软件测试的分工,这是我最近思考最多。也许明年会换个环境,不管在哪里工作,我都会保持一个学习的心。

2013年1月19号

--------------------------------

想了解本人从大学到现经历:

一个计算机毕业生的经历   从上大学到找到第一份测试工作的经历

一个测试员的工作与学习   从开始第一份测试工作到离职的经历

Web Page Counters
Computer Desks