Developers are not good testers. What you say?

This can be a big debate. Developers testing their own code – what will be the testing output? All happy endings! Yes, the person who develops the code generally sees only happy paths of the product and don’t want to go into many details.

The main concern of developer testing is – misunderstanding of requirements. If requirements are misunderstood by developer then no matter at what depth developer test the application, he will never find the error. The first place where the bug gets introduced will remain till the end, a developer will see it as functionality.

Optimistic developers – Yes, I wrote the code and I am confident it’s working properly. No need to test this path, no need to test that path, as I know it’s working properly. And right here developers skip the bugs.

Developer vs Tester: Developer always wants to see his code working properly. So he will test it to check if it’s working correctly. But you know why tester will test the application? To make it fail in any way, and tester surely will test how an application is not working correctly. This is the main difference in developer testing and tester testing.

Should developers test their own work?

Test in progress

I personally don’t mind developers testing their own code. After all, it’s their baby ;-) They know their code very well. They know what are the traps in their codes. Where it can fail, where to concentrate more, which is the important path of the application. The developer can do unit testing very well and can effectively identify boundary cases. (Image credit)

This is all applicable to a developer who is a good tester! But most of the developers consider testing as a painful job, even they know the system well, due to their negligence they tend to skip many testing paths, as it’s a very painful experience for them. If developers find any errors in their code in unit testing then it’s comparatively easier to fix, as the code is fresh to them, rather than getting the bug from testers after two-three days. But this only possible if the developer is interested in doing that much testing.

It’s testers responsibility to make sure each and every path is tested or not. Testers should ideally give importance to all small possible details to verify the application is not breaking anywhere.

Developers, please don’t review your own code. Generally, you will overlook the issues in your code. So give it to others for review.

Everyone is having specialization in particular subject. Developers generally think how to develop the application on the other hand testers think how the end user is going to use the application.

Conclusion

So, in short, there is no problem if developers are doing the basic unit testing and basic verification testing. Developers can test few exceptional conditions they know are critical and should not be missed. But there are some great testers out there. Through the build to test team. Don’t waste your time as well. For the success of any project, there should be independent testing team validating your applications. After all, it’s our (testers) responsibility to make the ‘baby’ smarter!!

What did you say? 

75 Comments on “Developers are not good testers. What you say?

  1. Testers are the bug finders…. :)

  2. Developers are the defect rejectors

  3. i hav jst two questions ,plz answer them,

    1.is it necessary to be an engineer to be a tester?

    2.why are testers given low priority compared to developers?

    plz reply

  4. 100% I agree with Suhas’s comment.. Bcoz am a testing Engr who’s got the same experience :-)

  5. And am truly disagree with #2 Jens..
    Bcoz whatever u say will be true hardly.. its not practically possible man…

  6. Hey Suhas.. its true… i agree with u for the following comments.100%..even some times they’ll slowly go and change the code and will say that its working… :-P

    1. Developer says at the time when bug is found: ” This is not my work, this is not because of my code”
    2. Developer says at the time when bug is found: ” This is how the requirement is from the client”
    3. Developer says at the time when bug is found: ” This is not a bug (error) ”
    4. Some Developer fix the bug then come to you and will ask how are you reporting this even if the bug does not exists.

    Its really hard to tackle with developers with attitude.

  7. I need to know one very important thing!!!

    I heard from many people at time of rescission the company tend to drop Testing Team and make Dev team test their application.

    Is it real then how safe is the Testing Jobs?

  8. Hi
    I am not agreeing with some comments, I am working as a Test engineer but also have an experience as developer. It’s always good to have testing knowledge to developer which eliminates the no. of bugs. I received award for best performance when I was acting as a developer as well as in testing also. So I don’t agree with the statement, “Developers cannot be good testers.

    Kaustubh

  9. Developer be the good TeStEr.. but only in some path of testing. Mainly no one can find fault in their own work, even if it has some bug. For that purpose only we need third eye. Testers are just the third eye to make your (developer’s) product more quality.

    Developer can also test his/her own application, but unfortunately they missed/dont want to negative test or break his/her own application.

    In this case only, “Developers are not good testers.”

  10. what ever you said is absolutely cortrect,no one is accept to defect in there developed project a tester can identify

  11. it’s obvious that developers don’t like someone else pointing out their mistakes..
    during my exam before submitting my paper i used to calculate my marks..and when the results would come out my calculated marks and teachers given marks would always differ by vast margin :D

    that means even if developers themselves test their code they would never find out what real testers can trace out the odds..it’s their baby..their hard work ;)

  12. hi i just want to say that there is no comparison of tester and developers. Developer are the person who put their mind and all for developing an application and ther person(tester) who can not develop at least a single line of code in his whole life, judge that peice of code.
    I think there must be improvement when organization going to recruit testers. They should hire only the person who are having sound knwoldege of programming, developing application, and if organiztion shift them in devleoping so than they would be able to work in development also.

  13. I would say that a software developer can be a tester, but I must say software tester cant be a good software developer. There is no comparison between software tester and developer. Software Tester are nothing before software developer. A developer uses whole of the mind, techniques, effort to write a piece of code to develop a software or application, and what a tester does, just test that and find bugs, if this work is assigned to another developer, he can easily do testing because a developer can be a good tester, but a tester cant be a good developer.

  14. yes,I agreed developer is not a good tester because nobody detect own mistakes,developer is developer and tester is tester

  15. The main cons of developers to introduce in testing part are that, developers feel extra burden, pressure, self value and respest of being dveloper and many more. The other main factor is, if testers are allowed to test separately after each release then certainly there will be fast tracks to develop any software. it saves time, enhances security and quick availability to end users. it may be also noted that, if developers are ready to do all tests of their portions, then definitely they are worth to get double salary, i.e one for as a developer and another is of testing job. therefore it can be concluded from example, if any program is run by the developer and it executes successfully. it means coder has done good job by removing errors of one’s code. But, on other hand one does not guarantee that this sort of code will be supported by all sort of browsers or servers or not. therefore, here testers are key role players who can test all bugs, made by developers and from others. Thus, testers should be taken as individual members of any team to perform their important role to develop any product.

  16. Greetings to all interested persons,

    The main cons of developers to introduce in testing part are that, developers feel extra burden, pressure, self value and respest of being dveloper and many more. The other main factor is, if testers are allowed to test separately after each release then certainly there will be fast tracks to develop any software. it saves time, enhances security and quick availability to end users. it may be also noted that, if developers are ready to do all tests of their portions, then definitely they are worth to get double salary, i.e one for as a developer and another is of testing job. therefore it can be concluded from example, if any program is run by the developer and it executes successfully. it means coder has done good job by removing errors of one’s code. But, on other hand one does not guarantee that this sort of code will be supported by all sort of browsers or servers or not. therefore, here testers are key role players who can test all bugs, made by developers and from others. Thus, testers should be taken as individual members of any team to perform their important role to develop any product.

  17. Developer can make surety of code to function well, but one cannot guarantee of the product with qualitative features. Quality can only be resembled with better efforts taken by testers like Agile Testers to satisfy customer needs and their satisfactions.

  18. ya…..True alright…
    we(QA ‘s) are essential to make Product…AQuality one.

  19. hi.. I have a doubt regarding the unit testing!!! if unit testing is done by “Developers” then which type of testing would we call when a “Tester” done testing on each individual modules..?? plz reply as soon as possible..

  20. Hi… Nice article..
    I agree that there should be an independent testing team for a project…
    I think testers should be those who have a 2 or 3 years experience in development. Simply pointing out defects in the code is an easy job comparative to provide solution for the defect. So a Tester is the best tester who was the best developer.

  21. Why developers are not good tester? Because software testing and software developments are two different occupations required two completely different types of skills and way of thinking.

  22. I mean …the title is clearly has a little provocative nature, so that people will read it. But it’s a bit misleading. Of course if you put tester against a developer in terms of testing there would be no argument to which of them will do a better job.
    It’s the same as saying “testers are not very good developers”… obviously not as good as professional developers, that’s why we have the division of labour.
    And Yes. There are unique prodigies who can combine both areas, but they a very rare.

  23. I agree with you. This is a long debate. You have highlighted the points well. Thanks

  24. i have faced thsi question recently in a F2F interview.

    Why test engineers are required when developers are there ? After developing the application, developers can perform testing right ? Please justify.

Leave a Comment