|
[翻译]如何成为优秀的性能测试工程师!
最近有人问我一个性能工程师应该具备怎么样的素质,因为他们在为自己的公司招聘员工时常常会遇到这样的问题。 我大概思考了一下,然后认为在这里把这个话题提出来和你共享然后大家互相讨论一下是个不错主意,你可以加上自己的想法,使你在应聘工作的时候面临更多的选择。这不是一个职位的描述文档,而是更多地关注了原理和概念??
专业技能
你希望能找到一个对当前最新技术有着全面了解的人才,他们要了解如何在干净的机器上如何重新安装系统(Windows,Linux等),懂得如何配置网络。知道如何去配置自己的测试实验室这也是很重要的网络基本知识:你需要的人对OSI参考模型,Tcp/Ip要有所了解,要知道什么是DNS,DHCP,WINS,什么是交换机,路由器,集线器。这些都是些基本知识。他们需要利用网络监控软件来判断网络瓶颈。
协议:
最起码他们需要知道如何编写你公司产品所同协议的测试脚本,最好他也有利用其他协议编程的丰富经验,例如winsocket,com,http等。你根本不知道在将来你会遇到什么样的需求。
SQL(查询,存储过程,索引,系统管理,数据备份等),数据库的瓶颈在一个复杂的应用中是很有可能出现的,它需要去寻找数据库的瓶颈,这和一个优秀的数据库管理员做的工作没有什么区别,但是如果你的性能测试人员没有做到这一点的话,他很可能会不知道数据库发生了什么问题和如何去处理问题,从而漏过了一个比较严重的问题。
他们必须有比较好的大局观,他们必须知道自己在软件开发生命周期里的位置,他们必须了解developer,PM,QA的职位,从而知道如何去和他们沟通。现在确实有很多的技术人员确实是只知道自己的那一块很小的范围却没有全局精神而影响了其他的团队
他们必须对你的团队用的软件测试产品很了解,如果他们已经掌握了其中一个,那他会很容易上手其他的工具,但最好的选择是找一个在你们用的工具有多年使用经验的人员。
专业知识以外的技能要求
一个性能工程师除了要有专业知识的技能要求外同样重要的是他必须真正了解性能测试,知道如何去性能调优,知道如何进行性能测试计划,了解特定行业的性能指标。仅仅知道如何那个按钮是执行测试是不够的。
他们最好既有丰富的测试经验又能够编写测试,调优,计划等文档
一个好的工程师必须是能很好地处理和各个团队之间的关系,如果他能和所有的开发团队之间很好的相处,那么年的团队将是很优秀的。
性能团队的最终目的是在产品上线之前把性能问题找出来,作为报答的是如果最后系统的性能很好,所有的人都会喜欢性能测试团队,这是提升团队形象的好办法,当然这也意味着所有的成员必须具有很强的技术技能能够突破种种的阻碍。
我很喜欢热情的员工,我总是在找那些在不断拓框自己知识面的员工,当他们遇到一个项目的协议是他们从来没有编写过的,他们会变得很激动,因为这是个很好的机会去学习新东西,他们会和公司里面其他团归的性能工程师交流,去组建一个很好的支持团队。他们出席任何对他们有用的聚会(Techtalk?)
另外:一个经常 还有就是一个人愿不愿意去和别人分享自己的知识,他知道什么时候去带动大家,什么时候去跟随别人。这些都是他们在招人时候希望看到的。
总结:
我很幸运我遇到些真正优秀的性能工程师,他们所有的时间都是那么忙,因为他们面对自己的工作时都有共同的品质。我认为那些非专业技能往往比那些专业技能更重要。你对这个话题还有什么意见吗?如果使这样的,在我们的论坛上告诉我们,让我们讨论讨论。 |
|