Why Should the Developers Test the Product First?
Developers and testers are the key to software development life cycle. However, the relation between developers and testers has often been strained. When a software product is developed by the developers, they can either release it to the testers right away or test themselves to ensure a bug free product.
Testers would prefer to get the product tested by developers first, as the product will get rid of obvious bugs. One should avoid the barriers that exist between testers and developers. It’s always better to test the product before sending it to the testers. For example, developers must try to include a number of automated unit tests as part of the build process. Developers can also try testing the product in parallel with testers, if they have time.
If testing is solely performed by the testers, they are helping the developers from one perspective. However, in some cases, one might not get the same cooperation as required from the developers, which eventually makes the thing very difficult for the tester. Some developers might delay the test process unintentionally in the process of fixing each and every bug on their own.
The situation is just vice-versa at times. A tester might get an extremely buggy product, which could be difficult to proceed with. In most of such cases, programmers know about the bugs. A tester can get a better idea of testing by accepting such buggy or inoperable product for testing. So, in a nutshell, a product should preferably be tested by the developers first; however, it must be accepted and tested by testers in any case.
Note: There is a common concern across the software testing industry, which must be addressed first. If you get a product early for testing, it is very unlikely to make a visible testing effort. Here, testing would be blamed for the slow progress.