“Asking developers to test their own code is like asking children to clean up their room” - I read that a couple of days ago and immediately thought “But what if you tell your children that they don’t have to clean their room when they make some mess - that someone else would do it for them?” That would probably be a lot worse than asking them to clean their room. It might be hard to convince them to do it, but it would definitely be worth it. So this argument is fundamentally flawed.

I tried to find it on the internet, but found something else: “RT @rmaclean: Asking developers to test their own code, is like asking your child to mark their own homework. Suddenly you surrounded by geniuses!” The problem with this is that the very assumption, that testing your own code is like marking your own homework, is wrong.

Marking the homework is more like the product owner accepting the results of a sprint (or whatever activity translates to this in a non-scrum environment), and you would never let a developer do this. Testing your own code is like double checking the results of your homework before handing it in, and this is a very good idea.

Now, even in agile projects, a lot of people agree that it is necessary to have dedicated testers on the team. Can we find an equivalent to that in the homework example? Yes, it is like a parent checking the results of the homework before the child hands it in.

Should developers test their own code? They definitely should! Should they be the only ones who test their code? Probably not. But when there are dedicated testers the developers should get immediate feedback from them. An easy way to achieve this is to have the testers always work on the same features as the developers, not in a separate testing phase after development.

You might be also interested in… Learn more about how I can help you save money and earn money by improving your testing practices.