Unit Testing: Can You Repeat Please?
This poll examined how organizations perform unit testing. Is it an informal activity that is done before integration if there is some time left after programming or is it the key element of the development effort? The question: How is unit testing performed at your location?
|Unit testing is not performed||13%|
|Unit testing is informal||46%|
|Unit tests cases are documented||11%|
|Unit tests cases and their executions are documented||16%|
|We use a Test Driven Development approach||14%|
Ending date: February 2006
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.
Related ResourcesSoftware Testing and Software Quality Zone