Growth Trends for Related Jobs
Every time you grapple with a misbehaving app on your phone or fume over a program that crashes your laptop, you're making a case for the importance of well-tested software. It's hard to do well, because programs are usually written on tight timelines and often without quite enough developers. Making sure that programs work well when they're actually released is what a test engineer does.
Test Engineer Job Description
Not everyone who builds a career in software testing is a test engineer. Others will usually decide in advance which quality standards should apply to the software while it's under construction and which processes will be followed to apply those standards. A test engineer is more concerned with testing the product as it nears completion to verify that those goals have been met and that the product is usable.
The most important part of a test engineer's job is in deciding how the software should be tested. This involves thinking carefully about how users will work with the product and what their expectations of the product will be. Then, the engineer creates a test plan that lays out in detail how the product can or should be tested. This process revolves around writing and executing test cases, which – like a well-constructed science experiment – not only test the software, but do so in such a way that can that they can be repeated and verified by others. It's sometimes referred to as "automation testing," because you'll write custom software to perform the actual testing rather than doing it manually.
The engineer logs any "bugs" that show up in testing, so the production team can address them. The final step is preparing a test report that explains the scope and results of the testing process. Being able to communicate this information effectively is an important job skill.
Test engineering is one branch of the larger field of software engineering, and there are a couple of educational tracks you might follow.
One is the formal engineering track, which requires you to earn a computer engineering degree from a program accredited by ABET, the Accreditation Board for Engineering and Technology. More often, you'll train as a software developer, getting a bachelor's degree in that field and then rounding out your resume with certifications in specific skills, programming languages and development environments that interest you.
Test engineers need to have analytical thought habits and an ability to adapt rapidly to new tasks and environments, even more so than other programmers.
Potential Career Paths
Software is the sinew that holds the modern world together, from the massive mainframes and server farms of large corporations to the apps on your phone. Someone has to test every piece of that software, from the largest to the smallest implementation, so if you have the skills required for automation testing or manual testing, there are a truly staggering number of potential employment paths open to you.
You might choose to work for a developer creating commercial software, for example, in the form of phone apps or for-purchase software. Alternatively you might work in the IT department of a large corporation, where software is created in-house to give end users seamless access to resources located both on-site and in cloud services such as Microsoft's Azure or Amazon's AWS.
Embedded and "smart" devices are an even more demanding environment, because their built-in programs, or "firmware," may not be upgradable and absolutely, positively, have to work properly every time.
A Quick Guide to Salary Expectations
The Bureau of Labor Statistics doesn't break out salaries for test engineers, grouping them instead in part of its "software developers" category. The median annual income for this job classification as of May 2018 was $103,620, and the top 10 percent earned $161,290 or more.
In the absence of official numbers for test engineers, you might opt to keep track of the salaries offered in job listings and pay attention to which environments, and which types of employers, offer the best wages and benefits. As with most careers, your earnings should rise with experience and demonstrated competence.
The Employment Outlook
The U.S. Bureau of Labor Statistics projects that job opportunities for software developers will grow by 24 percent between 2016 and 2026, more than three times as fast as the average of all occupations. Every piece of software created by all of those new developers will require testing, so the outlook for test engineers should be similarly strong, though it represents only a portion of the total number of programmers involved in software development.
- Falilat Schuaib: Test Engineering 101
- What is Engineering: What is Software Engineering
- Herzing University: 5 Steps to Become a Software Engineer
- ABET: Find Programs
- Bureau of Labor Statistics Occupational Outlook Handbook: Software Developers
- Government of the U.K.: Test Engineer - Skills They Need
- SauceLabs: Tools For Becoming a Successful Test Engineer