women looking at code

A software quality engineer and tester could...

Analyze whether an airplane's control system meets performance requirements. cockpit Use tools to track software bugs and control code changes. code
Design a test plan of possible human errors in an automated drug delivery system. insulin check Ensure a video game won't crash just as the player reaches the final level. gamer
Find out more...

Key Facts & Information

Overview Software quality assurance engineers and testers oversee the quality of a piece of software's development over its entire life cycle. Their goal is to see to it that the final product meets the customer's requirements and expectations in both performance and value. During the software life cycle, they verify (officially state) that it is possible for the software to accomplish certain tasks. They detect problems that exist in the process of developing the software, or in the product itself. They try and make things not work (try to "break" the software) by creating errors or combinations of errors that a user might make. For example, if a user enters a period or a pound sign for a password, will that break the software? They seek to anticipate potential issues with the software before they become visible. At the end of the life cycle, they reflect upon how problems or bugs arose, and figure out ways to make the software development process better in the future.
Key Requirements Detail-oriented, thorough, persistent, with excellent communications skills and a love for puzzles and figuring out how to break software
Minimum Degree Bachelor's degree
Subjects to Study in High School Algebra, geometry, algebra II, pre-calculus, English; if available, computer science
Median Salary
Software Quality Assurance Engineer & Tester
U.S. Mean Annual Wage
Min Wage
Projected Job Growth (2014-2024) Much Faster than Average (21% or more) In Demand!
Interview Read this article to see what a day in the life of a quality assurance engineer and tester is like.
Related Occupations
Source: O*Net

Training, Other Qualifications

Training requirements vary depending on the job, but many employers prefer applicants who have a bachelor's degree in computer science, or a similar degree. Relevant work experience is also very important.

Other Qualifications

Employers usually look for people who have broad knowledge and experience related to computer software development, strong problem-solving and analytical skills, and the ability to think logically. In addition, because they often deal with a number of tasks simultaneously, the ability to concentrate and pay close attention to detail is important. Although these workers sometimes work independently, they frequently work in teams on large projects. Therefore, they must have good interpersonal skills and be able to communicate effectively with computer personnel, users, and other staff who may have no technical background.

Watch this video about games testing— it's not about playing your favorite games all day, it's about trying to break them.

Nature of the Work

Software quality assurance engineers and testers have an eye for detail and are committed to improving the performance of the products a company sells. They ensure that the software packages being sold meet or exceed the customer's expectations in performance and value. The biggest software companies spend millions of dollars of their budget on hiring quality software assurance engineers to head their quality assurance departments. This money is well spent, because the software quality assurance engineer will make sure that the product is top quality before it is marketed and sold.

A software quality assurance engineer is involved in the entire software development process to ensure the quality of the final product. This can include processes such as requirements gathering and documentation, source code control, code review, change management, configuration management, release management and the actual testing of the software. Software quality assurance is often confused with software testing, but should not be. Testing is a big part of software quality assurance, but it is not, by any means, the only part of it.

Software quality assurance engineers must be familiar with the entire software development life cycle in order to be effective. They may start out as software engineers or as testing engineers. They should have strong communication skills, be good at documenting their work, and must be able to work well with different groups. They often become the middle person between the developers and the customers, so they need to be able to understand, and convey, both viewpoints.

In addition to running tests, software quality assurance engineers diagnose problems, recommend solutions, and determine whether program requirements have been met.

Work Environment

Software quality assurance engineers and testers work in offices or laboratories in comfortable surroundings. They usually work about 40 hours a week—about the same as many other professional or office workers. Evening or weekend work may be necessary, however, to meet deadlines or solve specific problems.

Like other workers who spend long periods typing on a computer, software quality assurance engineers and testers are susceptible to eyestrain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome or cumulative trauma disorder.

On the Job

  • Design test plans, scenarios, scripts, or procedures.
  • Test system modifications to prepare for implementation.
  • Develop testing programs that address areas such as database impacts, software scenarios, regression testing, negative testing, error or bug retests, or usability.
  • Document software defects, using a bug tracking system, and report defects to software developers.
  • Identify, analyze, and document problems with program function, output, online screen, or content.
  • Monitor bug resolution efforts and track successes.
  • Create or maintain databases of known test defects.
  • Plan test schedules or strategies in accordance with project scope or delivery dates.
  • Participate in product design reviews to provide input on functional requirements, product designs, schedules, or potential problems.
  • Review software documentation to ensure technical accuracy, compliance, or completeness, or to mitigate risks.
  • Document test procedures to ensure replicability and compliance with standards.
  • Develop or specify standards, methods, or procedures to determine product quality or release readiness.
  • Update automated test scripts to ensure currency.
  • Investigate customer problems referred by technical support.
  • Install, maintain, or use software testing programs.
  • Provide feedback and recommendations to developers on software usability and functionality.
  • Monitor program performance to ensure efficient and problem-free operations.
  • Conduct software compatibility tests with programs, hardware, operating systems, or network environments.
  • Install and configure recreations of software production environments to allow testing of software performance.
  • Collaborate with field staff or customers to evaluate or diagnose problems and recommend possible solutions.
  • Identify program deviance from standards, and suggest modifications to ensure compliance.
  • Design or develop automated testing tools.
  • Coordinate user or third party testing.
  • Perform initial debugging procedures by reviewing configuration files, logs, or code pieces to determine breakdown source.
  • Visit beta testing sites to evaluate software performance.
  • Evaluate or recommend software for testing or bug tracking.
  • Conduct historical analyses of test results.
  • Provide technical support during software installation or configuration.

Source: BLS

Companies That Hire Software Quality Assurance Engineer & Testers

Explore what you might do on the job with one of these projects...

Log in to add favorite
Science Fair Project Idea
How fast are computers? How quickly do you think they can do 100 million arithmetic problems? Try this science project to discover an easy way to measure how fast computers have become and whether or not your computer is a math whiz. Read more
Log in to add favorite
Science Fair Project Idea
What is your favorite font? Is it Chalkboard, Comic Sans, Futura, or Curlz? Whatever your favorite font is, you can test it out with this fun science project. Read more
Log in to add favorite
Science Fair Project Idea
In this project you'll learn about how digital image files are encoded, and how digital images can be compressed so that the files take up less storage space and can be transmitted more quickly. You will also measure the quality of compressed and uncompressed images, which will give you important insights into the tradeoffs between file size and image quality. Read more
Log in to add favorite
Science Fair Project Idea
Can you remember all of your ABC's? Computers need to "remember" letters too. Every time we use a computer to write a story, the computer needs to "remember" the letters in the story by saving them to the computer's memory as a file. In this experiment find out how much memory it takes for the computer to "remember" a series of letters. Read more
Log in to add favorite
Science Fair Project Idea
Do you or your parents ever use the Internet to get fast answers to all types of questions? Like what time does the amusement park open? How do you open a lemonade stand? When is the next Pixar movie coming out? Chances are, any question you can think to ask is answered somewhere on the Internet. But getting to the right answer can be hard! If you've ever used Google (or any other search engine) to try to answer a question, you've probably gotten back pages of results, none of which had the… Read more
Log in to add favorite
Science Fair Project Idea
This is a more challenging first-time programming project. You'll learn how to use JavaScript to create a simple program to analyze one or more paragraphs of text. Your program will count sentences, words and letters, and report the resulting statistics. You'll be able to run your program in your Web browser. Read more

Ask Questions

Do you have a specific question about a career as a Software Quality Assurance Engineer & Tester that isn't answered on this page? Post your question on the Science Buddies Ask an Expert Forum.

Additional Information


Additional Support

We'd like to acknowledge the additional support of:

  • AMD
  • Motorola Solutions
  • Seagate
Free science fair projects.