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.
Overview
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.
Watch this video to see what work as a Software Quality Engineer and Tester is like.
Do You Have the Skills and Characteristics of a Software Quality Assurance Engineer & Tester?
Reading Comprehension:?Understanding written sentences and paragraphs in work-related documents.
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.
Speaking:?Talking to others to convey information effectively.
Critical Thinking:?Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions, or approaches to problems.
Writing:?Communicating effectively in writing as appropriate for the needs of the audience.
Monitoring:?Monitoring/Assessing performance of yourself, other individuals, or organizations to make improvements or take corrective action.
Programming:?Writing computer programs for various purposes.
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.
Systems Evaluation:?Identifying measures or indicators of system performance and the actions needed to improve or correct performance, relative to the goals of the system.
Core Tasks
Think about if you'd like the typical tasks a Software Quality Assurance Engineer & Tester might do:
Identify, analyze, and document problems with program function, output, online screen, or content.
Document software defects, using a bug tracking system, and report defects to software developers.
Develop testing programs that address areas such as database impacts, software scenarios, regression testing, negative testing, error or bug retests, or usability.
Design test plans, scenarios, scripts, or procedures.
Document test procedures to ensure replicability and compliance with standards.
Provide feedback and recommendations to developers on software usability and functionality.
Install, maintain, or use software testing programs.
Test system modifications to prepare for implementation.
Create or maintain databases of known test defects.
Develop or specify standards, methods, or procedures to determine product quality or release readiness.
Monitor bug resolution efforts and track successes.
Update automated test scripts to ensure currency.
Participate in product design reviews to provide input on functional requirements, product designs, schedules, or potential problems.
Plan test schedules or strategies in accordance with project scope or delivery dates.
Monitor program performance to ensure efficient and problem-free operations.
Conduct software compatibility tests with programs, hardware, operating systems, or network environments.
Investigate customer problems referred by technical support.
Review software documentation to ensure technical accuracy, compliance, or completeness, or to mitigate risks.
Identify program deviance from standards, and suggest modifications to ensure compliance.
Perform initial debugging procedures by reviewing configuration files, logs, or code pieces to determine breakdown source.
Design or develop automated testing tools.
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.
Coordinate user or third-party testing.
Visit beta testing sites to evaluate software performance.
Conduct historical analyses of test results.
Evaluate or recommend software for testing or bug tracking.
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.
Tasks 1/3
Salary & Job Openings
Steps to Get There: Becoming a Software Quality Assurance Engineer & Tester
Try it Out with an Activity or Project
On the Job
More Information
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