I ran across this O’Reily article about SpikeSource today. Very interesting.
They have released a coverage reporting tool, Spike PHP Coverage, for PHP that works with XDebug coverage data. It works with Simple Test and it seems to be able aggregate the results of remote test runs, such as for web based tests. I have wanted something exactly like this. I can’t wait to get the chance to generate a consolidated coverage report for WACT.
It seems that they have the capability for generating and aggregating code coverage reports for PHP itself. I haven’t had a chance to check this out, but its something that I have always wondered about.
Additionally, it looks like they accept contributions of Test Suites. If I understand this correctly, it means that I can upload the WACT test suite and that it can be used to test and generate coverage reports for PHP 4 and for PHP 5 as well as the framework. If this is true, this is a big deal. As there are more and more applications with automated test suites, it only makes sense to aggregate them to test PHP itself.
It also seems that they have embraced Simple Test for php testing. Congratulations, Marcus. Simple Test is a fine piece of software.
I think code coverage measurements are important for gauging the quality of a test suite on open source projects, where there can be less formal development practices and a large number of contributers of varying skill levels and motivation.
Recently Michiel Rook has added PHPUnit2 tasks to Phing (see http://phing.info/docs/guide/chapters/appendixes/AppendixC-OptionalTasks.html#PHPUnit2Task) which also provide code coverage reporting options. This stuff is fantastic. It’s great to see people having some serious expectations of PHP applications.
Our company offers full featured test coverage and profiling tools for PHP4 and PHP5. No changes are required to a standard install to operate this tool. In particular, you
don’t have to install the XDebug module, which makes it
much easier to use on hosted sites.
See http://www.semanticdesigns.com/Products/TestCoverage/PHPTestCoverage.html.