Software developers should never be the primary testers of their own software. It is certainly appropriate to do initial debugging and unit testing.
Independent testers are necessary:
- To check a unit for adequacy before starting integration testing.
- For all integration testing.
- For all system testing.
The correct attitude during testing is that of wanting to expose bugs. How can a developer possibly embrace that attitude? Testing is difficult enough without burdening it further with testers who have a bias toward no finding bugs.
Reference:
Myers, G., The Art of Software Testing, New York: John Wiley & Sons, 1979.