I am working as a black box tester on Web applications. I want to improve my technical skills and am wondering what type of skills I should learn to help me further my career.
When it comes to testing, as a manager I am concerned about two things: effectiveness and efficiency. Effectiveness is about how well we measure the quality of the system under test (meaning what level of confidence we can gain about its adherence to requirements) and how many defects we discover, fix, and regress. Efficiency is about how many resources it takes to accomplish that task. So when a tester asks me how they can improve their skills, I focus on learning and development, which includes those areas.
Efficiency to me is mostly about automation — it's about being in more than one place at the same time. By writing good automation (catches true failures, does not report false passes, runs in many environments, and lasts the product cycle), you accomplish several things. First, you continue to validate product quality even if you, personally, are not executing the tests. Second, you generally execute test cases more quickly — this encourages developers to run these cases even before checking in. You speed up the turn-around time (known as the feedback loop) on the code-defect discovery-defect remediation cycle. Finally, you enable yourself to test on many configurations at the same time. Common automation skills are familiarity with xUnit test harnesses, ability to use Selenium and Selenium RC, Watij or Watin, and good skills in development in languages such as Java and .NET.
You're probably thinking that I failed to bring up skills using tools such as IBM's Rational Robot, HP's Loadrunner, HP's Winrunner, and such. These are very important niche skills that a Web application tester can use to differentiate himself. (They really didn't fit well in my effective/efficient paradigm though.) Understanding how and when to apply tools in performance, stress, and security testing realms is a great way to improve your career. The logical step in a tester's career is to branch out and select specific tools to excel in.
If you want to stay at your current company, pick tools most commonly used for those automated testing categories. If you are looking to move to another company or into another industry niche, understand the tools in common use and develop skills in them. Many commercial tools have limited trial versions available. You may not be able to run a full load test with trial versions of the tools, but you can definitely learn how to use them. But keep in mind: Understanding what's happening in your system when you run these tools is more important than just learning how to use them.
In 2007, I wrote a series of articles on my blog titled "How to Become a Better Tester." This blog series will give you more detailed steps you can take in developing your career.
All the best!
How to turn your management skills around
Learn how to negotiate up your QA salary
Why communication is key for career success
Dig Deeper on Topics Archive
Related Q&A from John Overbaugh
Learn what's behind AWS outages and how to fix failures before they happen. Continue Reading
Learn strategies for best security test strategies for SaaS cloud. Continue Reading
Expert John Overbaugh identifies the three top concerns of the test manager and offers advice on how to stay ahead of the curve when it comes to ... Continue Reading