Devel::Cover is an indispensable tool in making sure that your tests have good (hopefully close to 100%) test coverage. I've used it successfully for several projects and it's a great tool. My only problem with it is that it makes the code runs much slower, which detracts from its usefulness. But otherwise, it's very good.
Watching coverage numbers slowly climb is deeply satisfying in a horribly nerdy way. Seeing colors change (for the better) is even nicer. D::C fits really well into my development style of implementing things one tiny piece at a time and testing for goodness as I go. So, so good.
Devel::Cover watches your program run and tells you which lines of code are executed. It's especially handy for helping determine if your regressions tests actually exercise the code or not. It's also useful for profiling code for performance bottlenecks.
The easiest way to employ Devel::Cover is to install a recent version Module::Build and call the "Build testcover" action. Then open cover_db/coverage.html in your browser to get a summary of the results.
If you don't use Module::Build, then you can simply run arbitrary Perl code with "-MDevel::Cover". When execution is finished, you can run
a (poorly named, IMHO) command line tool called "cover" to emit reports.
Devel::Cover has changed the way I build software. It shows me how inadequate my tests are, and challenges me to do better next time. Paul has done an incredible job, and it just keeps getting better. This module is destined to be into one of the most useful (and hopefully popular!) development tools on the CPAN.
Devel::Cover has become an indispensable part of my development toolkit. Using it has increased the quality of my tests, which in turn has increased the quality of my modules. I believe using this module has made me a better programmer by giving me insight into my code that I never had before. Highly Recommended!!
This is an extremely useful module, especially for extreme programming hype.
Branch coverage, for example, is a very interesting aspect of testing which is barely measurable by working 'well'. This module facilitates tests such as these, which, although perhaps not complete on their own, help even more than the reporting they provide, since they can open your eyes to whole aspects you missed.
For anybody writing tests, this is also a rewarding process. The green parts, and all those 100% spread all over the place are gratifying.
Excellent tool; a valuable assistance to module authors in improving their tests. Documentation may seem a bit skimpy, but if you just install and run it, the reports it produces are mostly self-explanatory.
The easiest way to get feedback on your test and to figure out how good they are and how to improve them. It gives you the figures for statement, branch, condition, subroutines and pod coverage, plus a commented version of the code showing the coverage.
The SYNOPSYS gives you all you need to know about it.
This module provides for development coverage testing in a far superior manner to other approaches like Devel::Coverage. The way it works is by replacing the `runops' C function in the middle of Perl - and this extremely low-level approach is the only way to ensure that your coverage tests are complete and transparent (apart from a minor performance penalty).
Paul Johnson explained the topic well at YAPC::Europe 2003.
Watch out for a funky new report format with newer versions!