Methods & Tools conducted a survey in february 2006.
question asked was: How is unit testing performed at your location?
Participants: 460
result: 13% Unit testing is not performed
46% Unit testing is informal 11% Unit tests cases are documented 16% Unit tests cases and their executions are documented 14% We use a Test Driven Development approach
These results do not claim any scientific value, but they give some information on the usage of unit testing in organizations. Unit testing is still performed informally by a majority of participants. This is symptomatic of the small consideration that is given to the testing activities in most software development projects. When the pressure to deliver is big, testing informally makes it easier to execute poorly without being noticed as you don't have to provide evidence of your activity. It is however recognized that unit testing is an important building block of system quality and that it costs more to correct errors discovered in later project phases. Good documentation of unit tests allows also to improve maintenance when the original developer has left the project or the company, because it can limit the occurrence that the correction introduced a negative side-effect.
At a time where agile approaches repeat the importance of unit testing, the glass can also be considered as half-empty. From this point of view, It is already encouraging to see that 41% of the participants are documenting their unit testing efforts. A Test Driven Development approach is used by 14% of the participants and 16% are documenting the execution of their unit test. These percentages are already important, as we know that documentation is not the preferred activity of software developers. They could be explained by the emergence of a wide range of open source unit testing frameworks in the xUnit family. They are the tools that should lead to more and more repeatable unit tests.