Problem solve Get help with specific problems with your technologies, process and projects.

Skills you need to further your software testing career

If you want to improve your software testing skills, focus on learning how to be more effective and efficient. You should also learn certain tools to differentiate yourself.

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. 

First, let's look at effectiveness. Anything that helps you test more deeply, cover more ground, or find more bugs is going to be beneficial. In Web testing, I find that having a strong knowledge of HTML and CSS, HTTP and HTTP Web servers, JavaScript, and now rich Internet application (RIA) technologies such as Ajax, Silverlight, and Flash are extremely helpful. Knowing HTML and CSS is self-evident. You want to be able to quickly find errors in layout and styling, freeing the developers from debugging this on their own. Understanding HTTP and Web servers is important for lower-level communications issues and for troubleshooting communication problems. Finally, scripting languages are the basis of nearly every commercial website. Script errors abound (especially because JavaScript is a runtime language and really can't be stepped through easily), and testers need to be able to catch those errors with code reviews and other methods.

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!

Next Steps

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

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.