如何聘用优秀的性能测试工程师

如何聘用优秀的性能测试工程师?

译者:陈能技

原文:What makes a good Performance Engineer? (Scott Moore)

朋友最近需要聘请一些性能测试工程师,问我:“一个优秀的性能工程师需要怎样的素质?”在我思前想后最终想到一些东西之后,我觉得有必要跟大家分享一下我的看法,你也可以加入你的意见,这些都有助于老板们在雇佣性能测试工程师时作出精明的选择。

需要声明的是:这里列出的东西目的不是要作为人力资源部的正式职位描述,而更多的是关于原则和概念。

技能方面

你需要一位了解最新的计算机技术和概念的人。他需要熟练地安装操作系统(包括Windows、Linux等),自己动手设置网络,为什么这些是重要的呢?因为他往往在工作中需要自己搭建一个测试的实验环境。

网络知识要点 – 你需要一位全面了解OSI模型的人,他应该知道TCP/IP,需要知道DNS、DHCP、WINS、路由/交换器/网路集线器,并且知道他们的工作原理。为什么这些是需要的呢?因为他可能需要用到网络嗅探工具来定位网络瓶颈所在,那么很明显,他需要知道自己在“嗅探”什么。作为性能测试工程师,在碰到一些简单的网络问题时应该能自己解决,而不需要把负责网络的工程师拉过来帮忙,他应该能自己解决类似LoadRunner中Controller和Load Generator之间的连接问题,只要知道网络接入、IP地址设置等常见的问题就能解决。

协议 – 最低要求是:他能够对项目产品中用到的那些协议轻易地创建测试脚本。当然,最好是掌握更多的协议,有各种各样的协议测试脚本开发经验,例如Winsock、COM、HTTP、Citrix等,因为不知道什么时候也许就能用上这些东西了。

虽然我不要求他是一位“代码狂”或者开发爱好者,但是他应该可以看懂HTML、ASP、JSP、JAVA、C等代码,并且可以弄懂代码中的来龙去脉。因为这些东西不仅对于测试脚本开发来说是需要的,而且对于定位代码瓶颈尤为重要,很明显,他对代码懂得越多,能发现的问题就越多。

SQL方面的知识(包括查询语句、存储过程、索引、数据库管理、备份还原等)。数据库是复杂应用系统中造成主要瓶颈的几个原因之一。在这方面找出造成瓶颈的原因一般来讲是DBA的事情,但是如果你的性能测试工程师对此一窍不通,也不知道如何与数据库打交道,则他可能就把一些关键的东西忽略掉了。

他需要“统观全局”。他应该知道自己在SDL(软件开发生命周期)中的角色。他应该知道开发人员、项目经理、QA和系统管理员都是做什么事情的,并且知道如何跟他们打交道。有时候,你可能会发现有些技术方面很强的人,他们在自己的“小天地”中很牛,但是也就仅仅看到自己的那片“小天地”,而不知道对其他人在组织层面上的影响。

他应该能非常熟练地使用你们公司所选择的测试工具。如果他掌握了其中一个,其他的也会比较容易掌握,但是最好是选择那些至少有一年实际使用经验的人。

非技能方面

跟上面说的技能同样重要的是:性能测试工程师应该懂业界常用的性能测试、性能调优、容量规划方法和过程。而不仅仅懂得按一个按钮执行测试。

他应该掌握一套计划、测试和调优最佳实践和方法论,并且可以根据公司的实际情况进行调整、定制。当然,如果聘用的是入门级别的人则不需要这些也可以,但是他们需要按照公司的现状来建立这方面的内容。

一个好的工程师应该永远都是一名顾问,即使他的顾客是内部人员。如果他不把每个人都当成是顾客的话,也许你把他请进来就直接造就了一场与开发组的不间断的战争。他应该是温顺的、懂得变通的、能承受压力并保持冷静的、对人尊重有礼貌的人。

性能测试小组的终极目标应该是让产品发布前的每个人都保持最佳状态,为发布一款性能优越的产品而努力。作为回报,每个人都喜欢性能测试小组的人,因为他们帮助大家让程序跑得越来越快。其实这就意味着你聘请的性能测试工程师必须拥有良好的沟通能力,他们应该被认为是帮助别人的协作者,而不是被看作整个项目的“挡路石”。

我会比较喜欢引入那些有激情的人。我一般会找那些不断扩充自己知识的人。当他们来到一个项目中,对于那些没有接触过的协议,他们会感到很兴奋,因为这意味着他们有机会学到一些新的东西。他们会与其他公司的、网络上的性能测试工程师保持联系,构建一个属于自己的良好的技术支持系统。他们经常参加各种各样的活动、用户组和会议。

最后,还有其他一些简单的要点:他应该有能力提醒和催促、要求别人做一些事情,而且是在能让别人心甘情愿地、乐意地接受的情况下。他应该尽自己所能去帮助别人,即使需要牺牲自己很多的时间,花费大量精力。他应该非常乐意分享知识。他知道什么时候做领导者,什么时候做跟随者。这些都是在聘用时需要考察的内容。

小结

我非常幸运可以碰到很多真正优秀的性能测试工程师。那些全职的顾问往往都保持忙碌的状态,因为在对待工作方面他们有相似的素质。我想更多的是他们的非技能方面的能力,而不是他们的技能方面的能力,让他们保持领先、站在更高的位置。关于一个好的性能测试工程师的素质要求,你有没有什么其他的建议了?如果有,欢迎发表、一起讨论。

译者后记:

这是2004年的一篇文章,但是今天看起来仍然非常实用。最近大环境不是很好,很多人尤其是大学毕业生找起工作来都比较吃力,这篇文章是关于如何招聘一名优秀的性能测试工程师,但是我觉得更加适合那些希望找性能测试方面工作的人读一读。看自己在技能方面、非技能方面还有哪些欠缺。

一个合格的性能测试工程师所要求的知识面是非常广的,要想成为一名优秀的性能测试工程师,没有一两年的努力是无从谈起的。很多知识我们在大学也学了,但是没有掌握,出来找工作时才后悔当初没有好好学。当然,还有很多实用的技术方面的东西在当今的大学教育体制下很难学到,需要个人努力或者通过后续的培训掌握到。另外,正如文中提到的,很多非技能方面的东西是需要工作中慢慢体会和掌握的。

时间: 2024-12-29 15:03:26

如何聘用优秀的性能测试工程师的相关文章

如何成为一个优秀的测试工程师

链接地址:http://blog.csdn.net/KerryZhu/article/details/5250504 我一直在想,如何将自己的测试团队打造成世界一流的团队?流程.测试自动化.创新.扁平式管理.国际标准制定.测试社区贡献.-- 但首先一点是明确的,就是要将每一个测试工程师打造成优秀的测试工程师,优秀的团队必须由优秀的成员构成.所以,先讨论"如何成为一个优秀的测试工程师",将来再慢慢讨论: 一流的测试流程是什么? 测试自动化如何突破? 测试如何创新? -- http://b

性能测试工程师,面试都问什么?

大概去年这个时候,写过一篇博客:性能测试岗位常见面试题.当时是出于一个求职者的角度,对自己遇到的一些性能岗位面试问题进行了整理归纳. 最近这一年,对性能测试有了更多的认知,也做了大半年性能团队的Leader,最近部门开放了性能测试工程师岗位,也面试了几位候选人. 这篇博客,说说我对性能测试工程师的定位.需要的技能以及我面试候选人时会问的一些问题,仅供参考... 一.岗位定级 以我之前做性能团队Leader时候的经历来说,对性能岗位的定级,大概是按照如下内容划分: 岗位定级 岗位职责 薪资范围(参

性能01篇-如何胜任性能测试工程师岗位

谈到性能测试,很多人都能说出一大堆关于性能测试的指标等等,但真正的去做性能的测试,测试工程师里也就只有10%的性能测试工程师能够真正会做吧! 下面小梦就和大家讨论一下性能的那些事! 首先,作为一个性能工程师需要掌握哪些技能呢? 1.能搭建一个稳定.可重复使用的测试环境,能够保证测试结果的正确:保证达到测试执行的技术需求:保证得到正确的.可重复的以及易理解的测试结果. 2.掌握测试工具:市场上的性能测试工具实在太多了.比如:LoadRunner.Jmeter.Web Page Test.Bench

【转】测试职业思考:如何成为一名优秀的软件测试工程师

如何成为一名优秀的软件测试工程师                                                                                             --------记录自己阅读<赢在测试>读书笔记           来北京快一年了,在自己喜欢的岗位快乐的工作着,这里是自己职业的开始,一直希望自己未来在测试的岗位上走的更远,思考着如何成为一名优秀的测试工程师,最近利用每天晚上回去休息的时间,逐渐读完了<赢在测试>

性能测试工程师的能力要求以及学习路线

很多学员都会问:1.如何才能成为NB的性能测试工程师?2.成为性能测试工程师都学习什么啊?3.loadrunner我需要学习到什么程度啊?............ 如何才能找到答案呢,我们根据岗位要求去完善和构建整个性能测试工程师的能力要求体系. 首先:分析性能测试工程师的岗位要求其次:根据岗位要求分析出能力要求然后:根据能力要求分析出知识要求最后:根据知识要求梳理学习体系 根据思路我收集整理了现有的市面上招聘所有的性能测试工程师的岗位需求(招聘网站)所有的性能测试工程师的岗位要求,根据这些岗位

【转】 测试职业思考:如何成为一名优秀的软件测试工程师

如何成为一名优秀的软件测试工程师                                                                                             --------记录自己阅读<赢在测试>读书笔记           来北京快一年了,在自己喜欢的岗位快乐的工作着,这里是自己职业的开始,一直希望自己未来在测试的岗位上走的更远,思考着如何成为一名优秀的测试工程师,最近利用每天晚上回去休息的时间,逐渐读完了<赢在测试>

如何成为一名优秀的前端工程师 (share)

一.技术的必须的 作为一名最基础的前端工程师你必须掌握HTML.CSS和JavaScript.三者必须同时精通,类似我这样对前端知识一知半解的,一遇到问题就停下工作就四处搜索解决方案的,首先就算不上一个合格的前端人员.像我这样的如果当了前端工程师那工期肯定是不能保证的.合格的前端工程师第一要学会的就是在没有任何外来帮助的情况下(包括搜索引擎),能够完成大多数任务. 以下知识点是作为一个前端工程师必须了解和熟悉的: DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动. DOM操作

如何成为一名优秀的前端工程师

一.技术的必须的 作为一名最基础的前端工程师你必须掌握HTML.CSS和JavaScript.三者必须同时精通,类似我字样对前端知识一知半解的,一遇到问题就停下工作就四处搜索解决方案的,首先就算不上一个合格的前端人员.像我这样的如果当了前端工程师那工期肯定是不能保证的.合格的前端工程师第一要学会的就是在没有任何外来帮助的情况下(包括搜索引擎),能够完成大多数任务. 以下知识点是作为一个前端工程师必须了解和熟悉的: DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动. DOM操作

如何成为优秀的前端工程师

一.技术是必备的 精通THML CSS JAVASCRIPT,对知识不能一知半解,一遇到问题就停下工作四处搜索解决方案,这算不上一名合格的前端人员.像这样工期是不能保证的. 合格的前端工程师,第一点要学会就是在没有任何外来帮助的情况下,能完成大多数工作. 二.沟通很重要 良好的沟通能力,任何情况下,要满足4类客户的需求, 产品经理 UI设计师 项目经理 最终用户 三.提升无止境 快速的学习能力,不断学习新技术,新模式,如何通过自己的WEB应用程序来体现这翻天覆地的变化. 四.前端开发知识架构 如