Today I want to talk about one of the most essential but usually underrated roles on a software engineering team: the Quality Engineer (QE).
Who Are Quality Engineers?
Quality Engineers test code before the client and the software user experience it. These highly skilled team members have trained to look for bugs that software engineers have missed. Without their testing, broken code can get pushed to a live site giving users a poor experience, and potentially damaging the company’s reputation.
Testing, testing, 1 2 3…
There are two main forms of testing: Manual and Automated. Manual testing involves going through the website or app and clicking, tapping, and tabbing through the elements to make sure that they work as expected. Their goal is to replicate what the user would experience and ensure that it meets quality standards. Automated testing involves writing code that tells the computer what to expect on the page, what to click, and more so that it can catch unexpected bugs throughout the site. It is fairly common for one piece of code to work as expected on the page that is being manually tested, but cause a side effect of breaking code on another page.
High Standards
One essential standard for project development is the Acceptance Criteria (AC). AC is an agreement between the client and the engineering team on how the code should function and look. Quality Engineers test against AC to make sure that the client is getting what they agreed upon in the product. Another important standard is the Web Content Accessibility Guidelines (WCAG). Building software with the most vulnerable in mind is beneficial for all users. Quality Engineers test that software is fully accessible for users of screen readers, keyboard-only users, or speciality devices such as Braille output devices. The goal is for all users regardless of physical limitations to have an equivalent experience with the software.
Software Engineers often cannot see their own mistakes. A precise developer knows that it’s in their best interest to have a QE check their work. I have been part of a company that did not see the value of having a QE. Critical software bugs appeared on the live site on a regular basis. Please convey to your company and team leaders what you have learned: you need a Quality Engineer.