One question that comes up often is, “what is the difference between testing and quality assurance?” This question is raised frequently because the usage of these terms varies widely. In fact, if you search for a “QA” job on monster.com, their search engine will also match “test” or “tester” in the search results.
There are two ways to think about the difference between testing and quality assurance, one is the job title and the second is what duties or tasks are actually performed.
There is a third way to look at the question, by looking at the dictionary definitions of these terms, or by researching the definitions from authorities, but it’s less important to know the true definition and more important to know what is meant by the employers. Since this is an article about finding a job, understanding what an employer is looking for in a candidate is more important than having the correct dictionary definition.
The following are examples of job titles what an employer may be looking for in a candidate. It’s important to actually read the job description to determine exactly the employer’s desire, because the job title is often vague or misleading.
Tester, Software Tester, Test Engineer: These range from entry-level positions to very experienced and skilled jobs. Some employers will expect that a tester is to follow instructions (test scripts/test cases) that were written by someone else. These are entry level positions and usually don’t require too much education or experience. However, the employer may also be looking for someone with strong testing experience and knowledge, and even specialized skills like security testing or performance testing. These are sometimes, but not always, qualified with the additional skills needed in the job title, like “Performance Tester”.
Software Quality Assurance: This term may describe two completely different types of jobs. In some employers, the term Software Quality Assurance could mean a person that tests software either in an independent team or along side the development team. That term could also mean someone who does not test software, but is more of a process owner or auditor. The process owner roles are often available in regulated industries where conformance to standards is important (examples: aerospace, medical devices, etc.)
Software Quality Analyst: This one shares the initials with Software Quality Assurance (SQA), so these roles are often confused. But, a Software Quality Analyst is usually a job that involves developing test plans and performing tests.
Software Engineer|Developer in Test|Quality: These job titles imply the base skill is software engineering or computer science, with a focus on testing or quality. (the vertical line is an “OR”, so you read these job titles as Software Engineer in Test, for example). There are two main distinctions for these roles, those that work on the product or service directly, or those that build tools and frameworks to enable other people to test more effectively. In addition to testing, the additional engineering skills are used to build automated tests, review designs and code, diagnose errors, and develop white-box tests, to name a few examples. Again, the job description is your guide to see what skills and activities are expected from a candidate.
In summary, there is wide variance in the terms used by employers. It’s important to understand what they are looking for in a candidate and to learn to speak their language.