Software Quality Assurance Engineer & Tester
Overview and Key Facts
(Above US Average)
Jobs in 2029
What Do They Do?A software quality engineer and tester could...
Analyze whether an airplane's control system meets performance requirements.
Use tools to track software bugs and control code changes.
Design a test plan of possible human errors in an automated drug delivery system.
Ensure a video game won't crash just as the player reaches the final level.
Listen to this section
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.
Listen to this section
Do You Have the Skills and Characteristics of a Software Quality Assurance Engineer & Tester?
- Critical Thinking: ? Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
- Reading Comprehension: ? Understanding written sentences and paragraphs in work related documents.
- Speaking: ? Talking to others to convey information effectively.
- Programming: ? Writing computer programs for various purposes.
- Writing: ? Communicating effectively in writing as appropriate for the needs of the audience.
- Active Listening: ? Giving full attention to what other people are saying, taking time to understand the points being made, asking questions as appropriate, and not interrupting at inappropriate times.
- Monitoring: ? Monitoring/Assessing performance of yourself, other individuals, or organizations to make improvements or take corrective action.
- Quality Control Analysis: ? Conducting tests and inspections of products, services, or processes to evaluate quality or performance.
- Complex Problem Solving: ? Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.
- Active Learning: ? Understanding the implications of new information for both current and future problem-solving and decision-making.
Core TasksThink about if you'd like the typical tasks a Software Quality Assurance Engineer & Tester might do:
- Design test plans, scenarios, scripts, or procedures.
- 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.
- Develop testing programs that address areas such as database impacts, software scenarios, regression testing, negative testing, error or bug retests, or usability.
- Participate in product design reviews to provide input on functional requirements, product designs, schedules, or potential problems.
- Document test procedures to ensure replicability and compliance with standards.
- Plan test schedules or strategies in accordance with project scope or delivery dates.
- Conduct software compatibility tests with programs, hardware, operating systems, or network environments.
- Test system modifications to prepare for implementation.
- Monitor bug resolution efforts and track successes.
- Review software documentation to ensure technical accuracy, compliance, or completeness, or to mitigate risks.
- Provide feedback and recommendations to developers on software usability and functionality.
- Update automated test scripts to ensure currency.
- Create or maintain databases of known test defects.
- Install, maintain, or use software testing programs.
- Install and configure recreations of software production environments to allow testing of software performance.
- Monitor program performance to ensure efficient and problem-free operations.
- Identify program deviance from standards, and suggest modifications to ensure compliance.
- Design or develop automated testing tools.
- Develop or specify standards, methods, or procedures to determine product quality or release readiness.
- Investigate customer problems referred by technical support.
- Conduct historical analyses of test results.
- Perform initial debugging procedures by reviewing configuration files, logs, or code pieces to determine breakdown source.
- Evaluate or recommend software for testing or bug tracking.
- Coordinate user or third-party testing.
- Collaborate with field staff or customers to evaluate or diagnose problems and recommend possible solutions.
- Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Recommend purchase of equipment to control dust, temperature, or humidity in area of system installation.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
Please create a free account to view this career and access our full library of over 160 STEM careers.
With a free account you will have access to our full library of over 160 STEM careers. Each career profile includes detailed information to help you learn about a career and the requirements to get there. You can explore:
- salary information by state
- recommended high school coursework
- fun projects and activities to test out a career
- videos and interviews with professionals in the field
- details on what a day on the job is like