Testing Your Way to Success: How to Build a Career in Software Testing
Although a low-profile career that is often overlooked, Software Testing is a highly sought-after position in the tech industry. Every piece of software has to pass through several rounds of rigorous testing to ensure that the product is working as designed before it’s released.
While software testers don’t have to have the experience of a developer, they do have to be quick learners and be very detail oriented. Their primary job is to continually test the software to find defects, called bugs, and report any defects they find into a tracking system.
While they don’t have to know the code behind the software, they do need to be able to read the specifications, white papers, and other documentation to ensure the software is WAD (working as designed).
Why Software Testing Is a Great Career Move
If you have ever used a piece of software, including apps, and have been incredibly frustrated by the number of defects (and honestly, this is one of the most common complaints users make about new software), you already know the importance of the job. Having a degree in computers is not compulsory. All you really need is to be very knowledgeable about working with different types of software and a detail oriented mind. The career requires a large pile of documentation, which can be intimidating for people without an engineering background.
Ultimately, though, it is a great starting point if you need to find a job and either don’t have time for college or are still working your way through college.
Everything you do is tracked in a database for engineers to review and fix the defect. There are times when the position can seem monotonous, but the focus of your work will constantly change to different aspects of the program, alleviating some of the repetition. You also get an early look at the latest in technology and have a hand in making sure that a software program is as defect free as possible. Finally, with software being an area that will always grow, software testers have one of the most secure jobs in the tech industry.
Software testing is roughly as old a profession as development, and it has a very similar career trajectory to that of the software developer.
Also called Junior Level Software Testers, most people begin at the entry level, although there are some interesting exceptions. A degree is not required, but those with a BS in computers are given preference, and recent college graduates make up the majority of employees at this level. An associate’s degree or certification can give a candidate an advantage if other applicants do not have much in the way of higher education, if at all.
However, experience tends to be as important as any kind of degree. It is not entirely uncommon for technical writers to be used in a software testing capacity as documentation is vital to both positions. Those with a degree are more likely to progress to the next level significantly faster as the primary objective for them at the junior level position is to familiarize them with the process (no matter how good the education is, there is nothing that can prepare a student for how things work in reality over theory).
In an entry level position, software testers primarily focus on executing basic, established tests on software. Typically, this means running tests that have been developed for specific stages of the product. For example, all of the functionality of the software must be tested prior to its release, even for areas that should not have been affected by the changes.
Entry-level positions typically run these tests because there is low risk that there will be critical bugs that will push the release date back. Many of their regular tasks will be to work with automated testing to ensure it runs through start to finish, then report if any bugs were encountered during the automated tests.
They will also learn about the bug tracking software and how to properly document defects they find. Depending on their education and experience, entry level testers may be paired with a test analyst to learn the more in depth testing procedures. Over time, they will learn to work with the testing analysts and developers to write test plans, test new functionality, and (if they are interested) start learning some of the code behind the programs.
This last one can serve as a bridge to becoming a developer, because typically it helps the engineers if testers can identify what part of the code is the real problem. Software testers who can help troubleshoot and solve problems become indispensable relatively quickly within software companies.
The median salary for entry level software testers in 2014 was $48,913. Because it is a technological field, companies are more likely to offer other perks such as profit sharing and bonuses. The highest pay went to entry level testers who were knowledgeable about ASP.NET and .NET, areas that are currently in high demand for all software careers.
Test Analyst and Senior Test Analyst
To be qualified as a test analyst, companies look primarily at experience, and then education. Certifications may help for some of the more technical testing areas, such as ASP.NET, but are not required for the position. Many companies do not make a distinction between these two positions, and there is not a standard for who is qualified as a senior or advanced test analyst.
There are also a number of different designations for people in this position, such as QA tester and QA analyst. Regardless of what the position is called, they are all relatively similar. The primary difference between a tester and a senior level tester is typically experience and specialization.
The amount of experience that distinguishes one from the other varies by company and division. A tester who understands the code and can help problem solve is more likely to be considered on a senior level, even though there typically isn’t a clear definition for the position.
Analysts work on more complex, less established programs and functionality. They are frequently requested to attend meetings with the engineering staff once development has started so that they understand the purpose of the changes, new functionality, and future direction.
They work closely with developers, frequently testing software at different stages to ensure there are no major bugs created during the process. Their work is largely manual, meaning they create the test plan (usually a coordinated effort with the engineers) for each new, updated, and deprecated change. Mentoring of junior level testers is a common requirement at this stage.
The median salary for software testers in 2014 was $56,507. The highest pay went to those with experience in System Testing, ASP.NET, and .NET. The more experience a person has, the higher their pay, until they reach roughly 20 years of service. The majority of testers do not stay on as testers for longer than 20 years, opting to move on to either managerial positions, development positions, or some other area that testing has qualified them to take.
Software Test Lead and Manager
Experience is essentially the only thing companies look at for, for this position. For example, roughly two-thirds of all software test managers in the US were only hired after they had reached 10 years of experience. This is primarily because of how much a manager needs to know to properly run the department.
Some companies have Test Lead positions, which can be a stepping stone to becoming the head manager. They provide the same services for a single group instead of an entire department. In many companies, there is only a manager, so the two are combined for simplicity’s sake. While other testers may specialize, managers must have working knowledge of all required testing to deploy the product:
- Unit testing
- System testing
- Integration testing
- Acceptance testing
- Functional and nonfunctional testing
- Regression testing
Most analysts will have experience with the majority of these, but a manager must be able to understand each testing type to meet tight release deadlines. Managers are responsible not only for ensuring their teams have the time required to thoroughly test software, but also have to ensure their teams have the necessary equipment and hardware requirements to successfully test the software.
They also discuss current issues with other members of management, raise requests for new equipment, handle administrative functions (such as hiring and approving contract employees’ time), and work to make the process seamless between development and testing.
The median salary in 2014 was $87,468 with the same perks as the lower positions. Unlike the other positions, there is no particular field that provides an advantage for higher pay. Years of experience tends to be the biggest contributing factor to salary amount.
Industry Options and Economic Outlook
There are as many software test types as there are software types. You can choose a specialization in a new field, such as 3D printing, or work in one of the more established fields, such as financial software. The more technical the field, the greater the pay and the quicker you are likely to advance.
However, there is also the risk of the field disappearing. As long as software testers show that their experience can be applied regardless of the field, it is a relatively secure field. Software will always be needed, will always be updated/upgraded, and functions deprecated, making this one of the most stable positions in the tech industry.
The biggest caveat to that is that companies are increasingly outsourcing testing positions. It could end up following a similar trajectory as other positions that were outsourced for a while before companies realized that the approach was far costlier than expected (greater number of defects, increased customer complaints, higher turnover, and other issues).
Managerial positions are typically safe as domestic companies prefer to have someone who is accountable for software quality and who is closer to home. This does, however, mean that managerial positions are increasingly likely to require later and earlier hours to accommodate significant time zone differences for daily standup, weekly meetings, and deployment planning.
Checkout Simplilearn's Software testing certification training.
About the On-Demand Webinar
About the Webinar