Tuesday, July 29, 2008

Why developers should not test?

Surely they can test, but they can't be good testers.
If the developers test their own work or the work of their peers,then the following problems comes up
  • Misunderstandings of the requirements/specifications will go unnoticed.
  • Given the time, developers tend to allocate more time improving the code or documentation rather than testing the code.
  • They tend to be optimistic of producing defect free work and thus 'under' test the product.
  • Testing needs skill, occassional tester with no prior training in testing techniques is no match to a trained bug hunter whose sole activity is testing.
  • To catch a higher percentage of bugs, tester needs to be aggressive.Nobody will be aggressive, if they are testing their own product.Testers are rewarded if they hunt lots of bugs, developers are rewarded if the product they developed has less number of bugs and this balance can only be maintained if the separate teams exist for testing and development.

  • Then who does unit testing and integration testing?
    Ofcourse Developers. Its very very difficult for a tester to do unit testing and integration testing as it involves understanding the code.So developers have to do the unit testing and integration testing. Misinterpretation of requirements might escape, but its better to test with these issues than not do testing at all.
    For better success, code developed by one developer should be unit tested by his peer.

No comments: