How to specialize in performance testing

来源:互联网 发布:ucloud pecona数据库 编辑:程序博客网 时间:2024/06/16 09:40
转载一篇英文性能测试的文章,既作为Loadrunner学习的借鉴,又可以顺便学学英语 ^_^

How to specialize in performance testing

>QUESTION POSED
I have been learning performance testing for the past eightmonths. However, I was not given any opportunities in performancetesting in my present company even though I performed well in theinternal interviews. I really want to become a good performancetester -- it is my dream to become a performance tester. Pleaseguide me as to how I can make this happen.
>EXPERT RESPONSE

I think this is a great question. It's specific, which makes iteasy to start answering, but it's also general enough that anyonewho is interested in specializing in something within softwaretesting should be able to pull something from the answer. I thinkthere are three overarching dynamics to your question:

  • How can you best structure your future learning to support yourgoals?
  • How can you best market your abilities to get the opportunitiesyou want?
  • How can you best structure the work you're currently doing tosupport your work and learning objectives?

Continuing to learning about performance testing
The activity that you have the most control over is your ownlearning. I've been studying and doing performance testing foreight years, and I honestly still learn something new aboutperformance testing almost every week. It's a deep and richspecialization in software testing. There's a lot to performancetesting that still needs to be formalized and written down. It'sstill a growing body of knowledge.

If your dream is performance testing, then you need to continueto learn. Reading articles, blogs, books and tool documentation isa good place to start. Attending conferences, training, workshopsand local groups is a great place to meet others who have similarpassions. If you don't have opportunities like those, then join oneof the many online communities where performance testers have apresence. Depending on your learning style, dialog and debate canbe as great a teacher as reading, if not greater.

Finally, no learning is complete without practice. I'm sopassionate about the topic of practice that I wrote an entirearticle on it (you can find ithere). Many of the materials you read will includeexercises. Work through them. Many of the conferences, training,and workshops you attend will show examples. Repeat them. Goingthrough the work on your own, even if you already know the outcome,provides a different kind of learning. Some people learn best whenthe experience is hands-on.

For performance testing, I think a great place to startpracticing is in the open source community. Given the nature ofperformance testing, most tool knowledge is transferable to otherperformance testing tools. Learning multiple open source tools willalso give you different ideas for how you can solve a performancetesting problem. Many times, our available tools anchor ourthinking about how to approach the problem. If you've practicedwith multiple tools, you're more likely to have variety in yourtest approachesand solutions.

Once you know how to use a couple of performance testing tools,if you can't seem to get the project work you need at your currentemployer, and you're unwilling or unable to leave for anotheropportunity, then I recommend volunteering your time. There are alot of online communities that help connect people who want tovolunteer their technical talents to nonprofits or othercommunity-minded organizations. Finding project work outside ofyour day job can be just as valuable as formal project work.

Start marketing your skills and abilities
If you're serious about performance testing as a career, Irecommend you start pulling together some marketing material. Aresume is the place most people focus their limited marketingskills. That could be a good place for you to start as well. Whatstory does your resume tell a potential employer? Is it that you'rea performance tester? How has each of your past experiences helpedyou develop a specific aspect of performance testing? Remember, oneof the great challenges performance testing presents topractitioners is its variety. That makes it easy to relate avariety of experiences to the skills a performance testerneeds.

Don't forget to include your training on your resume. I've hadto remind several people of classes they've attended, workshopsthey participated in, or people who have been an active member ofan online community for years and have not included that on theirresume. If it helps you tell the story of your expertise, get it onthere. Include anything that shows an employer that you'repassionate about performance testing and you're continuouslylearning more about it.

Depending on the types of companies you want to work for, or thetypes of projects you might want, a certification might beappropriate. Certifications relevant to performance testing aren'tjust performance testing tool certifications. Appropriatecertifications may also come in the form of programming languages(e.g., Java certification), networking (e.g., CCNA), applicationservers (e.g., WebSphere administrator certification), databases(e.g., Oracle certification), or even a certification in thecontext you want to work in (e.g., CPCU certification if you wantto work in the Insurance industry). I'm not normally a big fan ofcertifications, but they are clear marketing products.

Finally, I think the best way to market yourself is to write.Start by being active in an online community. Answer questions onforums or debate ideas on mailing lists. As you learn, catalog yourlearning in a blog so others can benefit from your hard work. Ifyou feel you're really starting to understand a specific aspect ofperformance testing, try writing an article or paper on it (forexample, email your idea to an editor at SearchSoftwareQuality.com-- they'll point you in the right direction for help if you needit). Present your idea at a conference or workshop. The more of apublic face you develop by writing, the more you learn. Myexperience has been that people are very vocal in their feedback onwhat you write. You should get to learn a lot. Even if you don'tbecome the next ScottBarber, when a potential employer Googles your name, they'llquickly see that you know something about performance testing andhave a passion for it.

Align your project work with performance testingactivities
Even if you can't get performance testing projects at your currentemployer, you can still get project work that relates toperformance testing. Does your team test Web services? See if youcan get involved; it will get you experience with XML, variousprotocols and, often, specialized tools. Does your team testdatabases? See if you can get involved; it will get you experiencewithSQL andmanaging large datasets. Does your team write automated tests? Seeif you can get involved; it will get you experience programming anddealing with the problems of scheduled and distributed tests. Doesyour team do risk-based testing? See if you can get involved; itwill get you experience modeling the risk of an application orfeature and teach you how to make difficult choices about whichtests to run. I could go on with more examples. Take your currentopportunities and make them relevant for learning more aboutperformance testing.

If you can't get your own performance testing project, ask ifyou can work with someone else. What if you volunteer some of yourtime? What if you work under someone else's supervision for awhile? Work with your current manager to understand what factorsare preventing them from giving you the opportunity. Perhaps theycan't give you the opportunity for a number of reasons out of theirdirect control. Perhaps they can, they just haven't given it enoughattention. After a conversation where you try to figure it out withthem, you should have an idea of what opportunities are availableat that company. Just recognize that sometimes you have to leavefor different opportunities. If you do that, make sure you're clearwith your new employer as to what your expectations are.


I hope that's helpful. Your question is a great one, and I feellike it covers a general concern software testers have. The generalform of the answer is the same for people who might want tospecialize in security testing, test automation, Web servicetesting, test management, or any other aspect of testing wherethere can be specialization. Stay focused on your learning anddevelopment, actively market your knowledge and abilities, and workto align your work with your goals -- even if that means takingprojects outside of the specialization to help you develop aspecific skill.


原创粉丝点击