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.
Being a video game tester isn’t just about playing your favorite games all day, it’s about trying to break them.
Watch this video for the inside scoop on a career in video game quality assurance testing. |
Return to top of page...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.
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.
Return to top of page...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
Ask Questions
Do you have a specific question about a career in Computer Science that isn't answered on this page? Post your question on Science Buddies Ask an Expert Forum.
Additional Information
Sources
- O*Net Online. (2009). National Center for O*Net Development. Retrieved May 1, 2009, from http://online.onetcenter.org/
- Schneider, L. (2009). Career Profile – Software Quality Assurance Engineer. Retrieved September 17, 2009, from http://jobsearchtech.about.com/od/careersintechnology/p/SWQA.htm
- Richardson, K. (2005, March 30). You Can Be a Software Quality Assurance Engineer. Retrieved September 17, 2009, from http://www.hqeducation.com/jobs-careers/popular-jobs/you-can-be-a-software-quality-assurance-engineer.php
- Net Industries. (2009). Software Quality Assurance Technician and Analyst Job Description, Career as a Software Quality Assurance Technician and Analyst, Salary, Employment - Definition and Nature of the Work, Education and Training Requirements, Getting the Job. Retrieved September 14, 2009, from http://careers.stateuniversity.com/pages/184/Software-Quality-Assurance-Technician-Analyst.html
- Arnold, D. (1996, September 24). Computer Arithmetic Tragedies. Retrieved September 17, 2009, from http://www.ima.umn.edu/~arnold/455.f96/disasters.html
- Princeton Review. (n.d.). Quality Assurance Engineer. Retrieved September 17, 2009, from http://www.princetonreview.com/Careers.aspx?cid=206
- Inside EA. (2009, February 12). EA QA (Games Tester) Career Paths. Retrieved January 19, 2010, from http://www.youtube.com/watch?v=foyEgHHBcI4
Additional Support
We'd like to acknowledge the additional support of:
- AMD
- Motorola Solutions
- Seagate
If this website has helped you, won't you consider a small gift so we may continue developing resources to help teachers and students?
