Unit testing is considered a waste of valuable time by many developers.
System testing is a painful, iterative process that frustrates programmers and QA departments alike. New testing solutions, methods and services are providing easier means of ensuring quality throughout the development process. The nature of the tests themselves has dictated who is responsible. In most development shops, programmers have had to do their own unit testing because they have a much deeper understanding of the code they created than the testing and quality assurance departments do. The problem is that developers like to create, not test.