Software Quality Assurance Engineer
Develop and execute software tests to identify software problems and their causes. Test system modifications to prepare for implementation. Document software and application defects using a bug tracking system and report defects to software or web developers. Create and maintain databases of known defects. May participate in software design reviews to provide input on functional requirements, operational characteristics, product designs, and schedules.
Annual openings
499
BLS median wage
$123,690
Typical education
Bachelor's degree
10-year growth
+10%
Career requirements
What does this career require?
The education, credentials, and on-the-job competencies Colorado employers expect for this role.
Typical education
Bachelor's degree
Credential requirement
A testing certification is often viewed positively by Employers. However, it is important to understand which certifications are valued by Employers by looking at current job posting information.
Credential detail
Certifications that are valued by some employers include: •Certified Software Quality Analyst (CSQA) •Certified Software Test Engineer (CSTE) •ISTQB Certified Tester, Foundation Level (CTFL) •Quality Improvement Associate Certification (CQIA) •Certified Software Test Professional (CSTP)
Work experience
One to three years as a Software Quality Assurance Tester or significant Quality Assurance experience while in another IT occupation.
Experience detail
Experience in the appropriate Quality Assurance environment with expertise in the appropriate toolset is preferred.
Training
Training in the appropriate or similar Quality Assurance environment/toolset is often required. For some jobs, a bachelor's degree or graduation from a respected software developer program/bootcamp will be required.
Remote work
Some companies (information technology companies for example) and jobs (such as call center support) offer the opportunity for staff to work remotely, including from rural locations. To see if a job offers this opportunity, please review job postings from job banks such as ZipRecruiter, Indeed or ConnectingColorado, and look for key words such as "location independent", "remote", "virtual", "telecommute", "flex" or for companies posting the same job in many locations.
Employer competency information
- Problem Solving & Decision Making — Identifying measures or indicators of system performance and the impact of a change within the system, relative to the goals of the system; differentiating between perceived and actual performance value; familiarity with individual components and their connection to overall system. Understanding how to identify and test system boundaries, then conducting tests and inspections to evaluate quality or performance; leveraging basic concepts of coding to find areas of weakness (unintended values, system architecture, process flow); ability to focus on both micro and macro components of a product's success.
- Critical & Analytical Thinking — Using logic and reasoning to first identify the requirements and purpose of a program to determine potential weaknesses; capturing and prioritizing the impact of identified bugs; taking on viewpoint of multiple possible users.
- Communication — Applying reading, writing, and speaking skills to gather detailed system requirements for testing, thoroughly and accurately recording results, and presenting back to appropriate parties.
Is this work a fit?
What the work actually feels like
How people in this career tend to spend their time, the interests it draws on, and a look at a typical day.
Work style
- With kids/peopleOccasionally
- On a computerOccasionally
- Outdoors / on-siteOccasionally
- With your handsOccasionally
Interests it draws on
- Technology
Automation exposure
Low exposure
Tasks here lean on judgement and people skills that are hard to automate.
A typical day
- 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.
- 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.
