The Piwik project uses an ever-expanding comprehensive set of thousands of unit tests and dozens of automated integration tests on a self-hosted continuous integration server as part of its software quality assurance. This complements our software development practices, such as SCM and code reviews. For more information, please refer to the Developer Zone (wiki).
- Travis Continuous Integration
Travis CI is the continuous integration build server. It runs tests (unit, integration, screenshot, selenium webdriver) as soon as there is a commit in the Git repository.
When tests pass, Travis is Green and when tests fail Travis is Broken. The build artifacts are uploaded to builds-artifacts.piwik.org
- piwik-builds mailing list
When the build is broken, the developer and the mailing list piwik-builds are notified by email. When the build becomes green again, another email is sent.
- All Piwik Core developers write tests along with new features and changes to Piwik. We have hundreds of test cases which are easy to maintain and update. If you’re a developer, you can easily run the unit, integration and screenshot tests, learn all about our tests in tests/README [hackers only]
The build servers are donated by generous sponsors and anaged by Travis CI. We run all our tests after each commit on:
- PHP 5.3
- PHP 5.4
- PHP 5.5
- Integration and screenshot tests use a Nginx web server with php-fpm
Current status of our development Git master branch:
Future of QA at Piwik
We are quite happy with the current QA architecture but we can significantly improve our code coverage in tests. We also keep track of good ideas in the following tickets: