QA roles and responsibilities in software development can be confusing. On message boards, even ones specific to testing, questions such as “What’s the difference between a tester and an SDET?” and “Is an SDET the same thing as an automation engineer?” receive an array of answers. This topic deserves some clarification.
The source of the confusion can largely be attributed to the sheer size and fluidity of the software development industry. Different companies use different job titles for the same roles and there is no authoritative source or reference for the most common or up-to-date descriptions. Many companies influencing the evolution of QA and the definition of roles are not even software-based companies, but rather huge enterprises with large IT departments, adding even more to the variability of job titles and requirements.
QA plays an important role in any company with technology products to release, whether small agile teams or large-scale IT departments with many cross-functional teams working together to develop products and services.
QA can be viewed and utilized differently depending on the team size and structure, and is often tailored to the needs of the specific team and organization. QA is also often an entry role to software development, meaning that people in QA sometimes understand less how they fit into the larger puzzle of software development than others might.
So when a worker leaves a QA job at one company and searches for new positions, it can be difficult to determine what they should even search for. A Test Engineer for one company might be called a QA Analyst or QA Engineer at another. While all are titles for a Manual QA role, it might take working at a few different companies before that’s understood. Add other QA roles and title variations to the mix, with the additional understanding that the difference between software development and software testing can get blurry depending on the specific hiring practices and processes in play at a given company, and it can be near impossible to make sense of it all.