沒有任 何學習最終能脫離實踐。在此我強烈推薦我寫的一篇完整的關于實踐的文章(在我的博客中可以找到)。很多你閱讀的資料中都包含練習,你可以操作一遍。很多你 參與的會議、培訓、專題討論會,都會有例子,你可以重復一遍。即使你已經知道結果了,也要自己去動手操作,這是一種不同類型的學習。當上手實踐過后,才能 成為最好的學習者。
對于性能測試,我認為開源社區是一個很好的實踐學習的地方??紤]到性能測試的性質,大部分測試工具都是互通的,學習 多種開源工具將會給你不同的解決性能問題的思路。很多時候,現有可用的工具會束縛我們著手解決問題的想法,但如果你實踐用過多種工具,則你會有多種不同的 途徑和解決方案。
如果你真希望以性能測試為職業,我建議你開始準備一下齊全的推銷資料。一份簡歷就是絕大部分人聚集他們推銷自己技能的場所,也是你推銷行動開始的地方。 簡歷中應該講述給你潛在雇主什么內容呢?你不是一位性能測試人員嗎?你的每一段過去的經歷怎樣幫助你明確性能測試的發展方向呢?請記住,對于性能測試從業 者來說,一個顯著的挑戰就是它的多樣化,這也一定很容易和一個性能測試者的經驗技能聯系起來。
別忘記在你的簡歷中包含對培訓的描述。我 不得不想起有些人有過像參加專題討論會、在一些在線社區活躍了幾年這樣的經歷,但未將這些經歷寫入簡歷,不管這些是否能幫助你展現你的技能,都要寫進簡 歷,而且還應包含一些能夠展示給別人關于你對于性能測試的渴望和你在不斷的學習等相關的內容。
依據你向往的公司類型或你想從事的項目類型,都要有恰當的證明文件。證明是關于性能測試的而不僅僅證明你會使用測試工具。恰當的證明也許來自程序語言的結構(如Java),網絡(如CCNA),應用服務器(如WebSphere),數據庫(如Oracle),或者甚至是你想從事的工作內容(如 CPCU,如果你想從事保險行業)。通常我不是一個喜歡關注證明資料的人,但他們可以幫助你暢通無阻的推銷自己。
最終我認為寫作才是推銷你自己的最好方式。開始在一些在線社區活躍起來吧,回答一些專題討論的問題或用郵件方式研討一下你的思路等等。就像你聽說過的, 在你的博客中列出你學習的目錄,這樣別人也會對你的努力有所了解。當你確實開始了解了一個性能測試的明確方向,那么去嘗試寫些文章或關于它的文件吧。在一 些討論會或專題社區介紹給大家你的思想,你會通過這種寫的方式變得更公眾化,你也會學到更多。我的體會就是,對于你寫的文章,別人提出很多反饋信息時,你 會學到更多。即使你不成為下一個性能方面的資深人士,當你的潛在老板搜索到你的名字,他們會很快因看到你擁有性能測試的廣泛知識而喜歡你的。
即使你在當前的工作中沒有性能測試項目,你仍然可以把你的項目聯系起來。你的團隊在做Web Services的測試嗎?那么你可以有XML的經驗,不同協議和常用專業工具的經驗。你的團隊在做數據庫的測試嗎?那么你可以有SQL和管理大型數據庫的經驗。你的團隊在進行自動化測試嗎?那么你可以得到設計和處理分布式測試問題的經驗。你的團隊在做基于風險的測試嗎?那么你將會了解一個應用的風險建?;蛱卣?,并且讓你懂得進行不同的測試會如何做出不同的選擇。我還能繼續說出更多類似的例子,所以把握住你當前的機會,將他們聯系到不同的性能測試知識中。
How to specialize in Performance Testing?
Continuing to learning about performance testing
The activity that you have the most control over is your own learning. I’ve been studying and doing performance testing for eight years, and I honestly still learn something new about performance testing almost every week. It’s a deep and rich specialization in software testing. There’s a lot to performance testing that still needs to be formalized and written down. It’s still a growing body of knowledge.
If your dream is performance testing, then you need to continue to learn. Reading articles, blogs, books and tool documentation is a good place to start. Attending conferences, training, workshops and local groups is a great place to meet others who have similar passions. If you don’t have opportunities like those, then join one of the many online communities where performance testers have a presence. Depending on your learning style, dialog and debate can be as great a teacher as reading, if not greater.
Finally, no learning is complete without practice. I’m so passionate about the topic of practice that I wrote an entire article on it (you can find it here). Many of the materials you read will include exercises. Work through them. Many of the conferences, training, and workshops you attend will show examples. Repeat them. Going through the work on your own, even if you already know the outcome, provides a different kind of learning. Some people learn best when the experience is hands-on.
For performance testing, I think a great place to start practicing is in the open source community. Given the nature of performance testing, most tool knowledge is transferable to other performance testing tools. Learning multiple open source tools will also give you different ideas for how you can solve a performance testing problem. Many times, our available tools anchor our thinking about how to approach the problem. If you’ve practiced with multiple tools, you’re more likely to have variety in your test approaches and 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 current employer, and you’re unwilling or unable to leave for another opportunity, then I recommend volunteering your time. There are a lot of online communities that help connect people who want to volunteer their technical talents to nonprofits or other community-minded organizations. Finding project work outside of your 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, I recommend you start pulling together some marketing material. A resume is the place most people focus their limited marketing skills. That could be a good place for you to start as well. What story does your resume tell a potential employer? Is it that you’re a performance tester? How has each of your past experiences helped you develop a specific aspect of performance testing? Remember, one of the great challenges performance testing presents to practitioners is its variety. That makes it easy to relate a variety of experiences to the skills a performance tester needs.
Don’t forget to include your training on your resume. I’ve had to remind several people of classes they’ve attended, workshops they participated in, or people who have been an active member of an online community for years and have not included that on their resume. If it helps you tell the story of your expertise, get it on there. Include anything that shows an employer that you’re passionate about performance testing and you’re continuously learning more about it.
Depending on the types of companies you want to work for, or the types of projects you might want, a certification might be appropriate. Certifications relevant to performance testing aren’t just performance testing tool certifications. Appropriate certifications may also come in the form of programming languages (e.g., Java certification), networking (e.g., CCNA), application servers (e.g., WebSphere administrator certification), databases (e.g., Oracle certification), or even a certification in the context you want to work in (e.g., CPCU certification if you want to work in the Insurance industry). I’m not normally a big fan of certifications, 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 on forums or debate ideas on mailing lists. As you learn, catalog your learning in a blog so others can benefit from your hard work. If you feel you’re really starting to understand a specific aspect of performance testing, try writing an article or paper on it (for example, email your idea to an editor at SearchSoftwareQuality.com — they’ll point you in the right direction for help if you need it). Present your idea at a conference or workshop. The more of a public face you develop by writing, the more you learn. My experience has been that people are very vocal in their feedback on what you write. You should get to learn a lot. Even if you don’t become the next Scott Barber, when a potential employer Googles your name, they’ll quickly see that you know something about performance testing and have a passion for it.
Align your project work with performance testing activities
Even if you can’t get performance testing projects at your current employer, you can still get project work that relates to performance testing. Does your team test Web services? See if you can get involved; it will get you experience with XML, various protocols and, often, specialized tools. Does your team test databases? See if you can get involved; it will get you experience with SQL and managing large datasets. Does your team write automated tests? See if you can get involved; it will get you experience programming and dealing with the problems of scheduled and distributed tests. Does your team do risk-based testing? See if you can get involved; it will get you experience modeling the risk of an application or feature and teach you how to make difficult choices about which tests to run. I could go on with more examples. Take your current opportunities and make them relevant for learning more about performance testing.
If you can’t get your own performance testing project, ask if you can work with someone else. What if you volunteer some of your time? What if you work under someone else’s supervision for a while? Work with your current manager to understand what factors are preventing them from giving you the opportunity. Perhaps they can’t give you the opportunity for a number of reasons out of their direct control. Perhaps they can, they just haven’t given it enough attention. After a conversation where you try to figure it out with them, you should have an idea of what opportunities are available at that company. Just recognize that sometimes you have to leave for different opportunities. If you do that, make sure you’re clear with your new employer as to what your expectations are