Why don’t Developers Test?

Several times and when I get to see some output from the development team, I do ask myself: What if developers have tested their work well? Unfortunately, the majority of developers stop when they get the job done with development only. They do not walk the extra mile and do testing. If they do testing of their own work, then many software issues would have been solved early which means less time, effort and costs for the project. The question is: why don’t developers test?

There are several justifications by developers why testing is not their responsibility.  Among these justifications are “no time for testing” or “testing is the responsibility of testers only”. I believe that the main reason for such justifications is the way developers look at testing or think about testing. I heard one developer saying “I have never seen a developer who does testing!”. I am very sure if developers change their way of thinking about testing and keep in mind that quality is responsibility of everyone, then they will start to do testing and making sure that their work is of good quality.

All the best…

10 Comments

Augusto Evangelisti

about 11 years ago

Anwar, I have touched this topic a while back and have analysed the 5 most common objections to developers testing I have heard throughout my career, see if you recognise anybody. http://mysoftwarequality.wordpress.com/2013/08/10/should-developers-test/

Reply

Anwar Bosbool

about 11 years ago

Thanks Augusto. What you mention is valid and similar cases can happen at any organization.

Reply

Bernard Homès

about 11 years ago

Hello Anwar, I'm not sure I agree with your analysis. Basically, checking that the code compiles and seem to run correctly is one form of testing, and that is done by most developpers. Where testers and developpers differ, is regarding the thoroughness and depth of the testing activities. As many individuals seem to think that "testing is easy", they do not look beyond functionalities, and at the whole range of things one has to check when testing (such as performances, security, reliability, maintainability, etc.). Most testers *do* think about all the ways software can fail, and explore these areas. Developers and managers should be coached to recognize good practices and methods, and who best than testers to tell them about how to avoid defects? Assuming that we can speak the same languages as developers (not always easy if you do not have a developer background). Best regards Bernard

Reply

Anwar Bosbool

about 11 years ago

Thanks a lot Bernard for your remarks and adding to the topic.

Reply

Marco Oliveira

about 11 years ago

Most programmers I know do test their work. And they know how build their programs correctly. However most of them don’t test their programs under different conditions. For example: if a program has several input values, and several output results, programmers usually build a correct program that processes the correct inputs. But what if one of the inputs is incorrect or missing? What if several inputs are incorrect? What if some other external factor stops the program flow? What if this program does not work well together with another? What if…? This ability to “think outside the box”, to test a program with a different perspectives is not common to programmers. That is when, we, the testers, are needed.

Reply

Anwar Bosbool

about 11 years ago

Thanks Marco for sharing. I agree.

Reply

Amandeep Singh

about 11 years ago

You have raised quite a valid point here, Anwar... From my past experience in Software Testing though, I have come across people who are on the extremes... On one hand, I know devs who dont test the application at all (very minimal unit testing!) and depend on testing completely... On the other hand, I have seen developers who actually test the app and at least make sure that the happy flows are working so that testing doesnt come to a halt because of a very basic issue... But the truth is, majorly I come across devs who belong to the former group - having the mind set “testing is the responsibility of testers only” ;)!

Reply

Anwar Bosbool

about 11 years ago

Thanks Amandeep for sharing your experience and adding to the topic.

Reply

Luca Guerra

about 11 years ago

All was reported in these posts is true. But the main problem when a developer tests his code is that is testing is made following his point of view. The same point of view that he used to write the code. So often happens that the code behaviour e the path inside the code that are tested are not general but following the developer's thinking. This is the main reason why the developers testing is often not effective and not many bugs are found.

Reply

Anwar Bosbool

about 11 years ago

You are right Luca. Thank you for sharing.

Reply

Leave a Comment

Please be polite. We appreciate that.
Your email address will not be published and required fields are marked