Software developer and tester

A tester wrote to me: “Does software programming more difficult than testing? Why developers get better salary than tester?”

Answer: In my opinion, software testing is more difficult than software programming because testers have to understand what developers did in their code before they can test it. Testing often takes longer to test but testers have to work within a limited time, sometime under extreme pressure, as managers do not want delays in the project schedule. Therefore testing job is more stressful than programming job.

The purpose of software testing is to identify defects. If defects are found, they have to be corrected. If not, then the software is not of high quality. Software failures discovered early cost less to correct than those that occur in latter phases of software development. After the software has been released to users, any defects could create disaster and more costly to fix. Therefore the role of tester is very important to software company.

Today software is getting larger and more complex, that is why software testing is a time-consuming and frustrating work. The more complex the project is, the more there is to test. Complex projects typically involve multiple development team members where their works are interdependent, sometime fixing defects in one area may create another defects in another area. Because of this intricate works, testers must have higher skills, focusing more on details, and carefully test each component to make sure that they can all work together well. Software testing is a very intensive process. If developers do not properly documenting their works, it will be very difficult to test and the problem can quickly add up to a larger problem.

There are two types of tester: An entry level tester, usually a new graduate with limited experience. The company puts them into testing job so they can learn about software development. When they have enough experience, they often get promoted into programming job and become developers. As an entry level position, they get paid less than developer. The second type is professional tester. They are people who have a lot of experiences but want to remain as testers. They have higher skills, know more about software development than developers, and their salary is usually much higher.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University