QA engineers test software to assess its design and functionality before its official launch. They identify problems and their causes, and assist developers in finding solutions.
The work involves documenting all phases of software development, including detailed bug reports. They help clients and designers determine the technical specifications and processes needed to bring a proposed software idea to functional reality.
Duties and responsibilities
- Install and use software testing programs, design new test plans, scripts and procedures
- Develop and implement testing protocols for software scenarios, usability and regression tests
- Document standardised procedures for replicating all testing
- Create a schedule for testing and other activities based on size of project and launch date
- Identify software bugs and document location, steps to reproduce, error results and risk level
- Analyse problems with program functions, screen and content
- Perform software compatibility tests with hardware, operating systems, networks and other programs
- Provide input on functional requirements and design needed for new software and app ideas
- Inform developers of all problems of usability and functionality and suggest solutions
- Retest all system modifications and repairs
- Monitor and document all bug resolution attempts and results
- Identify any deviance from software standards and suggest modifications for compliance
- Implement user or third-party testing, analyse results
- Monitor program performance over time to check for efficient and error-free functionality
- Develop standards and procedures for assessing software quality, design and launch readiness
- Investigate customer problems referred by technical support for beta and final product releases
Skills and knowledge
AVERAGE WORKING HOURS
Standard business hours
QA engineers typically work full time during normal business hours. You may put in some overtime to complete final testing of a product before its official launch. Work in industries like automotive, aeronautics and medical could require testing work outside the usual office environment.
QA engineers spend extensive time sitting at a computer. The sustained focus required and intense detail work under deadline can be stressful for some.
Annual salary estimates are based on percentile wage data collected through the Occupational Employment Statistics (OES) survey of US workers.
Bachelor's degree in computer science
Most employers require a bachelor’s degree in computer science, information systems, electrical engineering or a related subject. They also typically expect three to five years of experience with software development and testing, though some ask for more.
Knowledge of a variety of programming languages, operating systems and testing programs is essential. Internships while earning your degree are advisable. You can gain additional experience as a tester or other entry-level role in quality assurance.
Knowledge and experience are key to progressing in your career as a QA engineer. Success in problem-solving and delivering highly efficient software leads to bigger projects. QA engineers can advance to supervisory roles on more prestigious projects.
You may also transition to a role as software engineer or developer. The knowledge required to analyse software and systems for QA can open doors to many other technical jobs.