Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

In a software firm there are three kinds of jobs

  1. Software Developer
  2. Software Quality Engineer
  3. Software Tester

The role of a software developer is quite clear but what's the difference between the jobs done by a Software Quality Engineer and a Software Tester? It's very strange for me why there is so much of a difference in the salary levels of a Software Quality Engineer and a Software Tester.


migration rejected from Mar 13 at 16:17

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by MichaelT, GlenH7, Kilian Foth, Dan Pichelman, gnat Mar 13 at 16:17

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Look up the job descriptions for these titles. Not all companies have "Software Quality Engineers". I'd never heard that title before and am really not sure what it would do. – FrustratedWithFormsDesigner Jun 10 '11 at 14:14
to a certain degree, what is meant by a title differs between each business – jk. Jun 12 '11 at 11:41
+1 since I think the question is more subtle and important than folks realize. – joshin4colours Oct 7 '11 at 14:51

4 Answers 4

Depended how seriously the orgaisation takes quality. At best, testing proves the absence of quality, not the presence, and even thats arguable

If Testing is the ambulance at the bottom of the cliff, Quality builds a fence at the top. The best a tester can do is prove the presence of defects, not the absence. Quality (When done properly) can tell you how many you have not yet found.

A Software Quality Engineer has a much broader role. They will cover everthing from auditing (and maybe developing) Process and procedures to Root cause anaysys and incident investigation when things go badly wrong. The brief includes requirements, development, test, deployment, post sales support etc.

In our organisaation, the quality depart do not go near software, source code or tests. The report to the CEO. The Software Quality Engineers work with the dev teams and test teams, but report to the Quality manager.


Quality Engineer is a professional who understands the principles of product, service quality evaluation and control. This body of knowledge and applied technologies include, but are not limited to, development and operation of quality control systems, application and analysis of testing and inspection procedures, the ability to use metrology and statistical methods to diagnose and correct improper quality control practices, an understanding of human factors and motivation, facility with quality cost concepts and techniques, and the knowledge and ability to develop and administer management information systems and to audit quality systems for deficiency identification and correction. Test engineer is person responsible for determining the best way a test can be performed in order to achieve 100% test coverage of all components using different test processes.


The main difference between qa and testing is that qa aimed to bug "prevention". As for testing is aimed mostly for bug "detection".

So testing measures quality of developed application, while qa measures quality of processes used to create software application.


I think in practice, in the US, any distinction here is about as meaningful as the distinction between a "sales representative" and "sales engineer", which is to say, not meaningful for anything other than perhaps feelings of self-worth. Outside of the US, there may be specific laws regarding who can be called an engineer.

Assuming the positions are at the same company, and in the same team, they probably have some internal distinctions, and one title or the other may have more prestige. I've seen "Quality Analyst", "QA Engineer", "Software Quality Engineer", "Software Test Engineer", and "Software Tester" used, in practice, to represent essentially the same job. Look at the job description to get a better idea (although job descriptions are usually not an exact match to actual responsibilities in practice, either).

Some companies invent titles so that their more senior people feel like they are making some sort of career progression. At one large company I worked for, a software design engineer in test who had contributed a great deal to the test infrastructure for the team wanted to "do more thinking, and a little less coding", so the group manager changed his title to "test architect." His responsibilities changed a little bit, but his mentality about what his role was and how he should think about building tools changed a lot more. The cost to the company for this change approached zero dollars (I think it came around review time, so he had a raise coming anyway).