A new draft chapter of the 'Continuous Integration with Hudson' book is now available online. This new chapter discusses automated testing with hudson, including unit, integration and performance testing.
A little-known but very useful feature slipped into JUnit 4 and recent versions of the Maven Surefire Plugin: support for parallel testing. This feature has been around for a while in TestNG, but has been missing in JUnit. And now, if you are a JUnit user, you too can run your tests in parallel!
Next week (on July 8) I'll be giving a talk in London for the folks at Skills Matter, on the much-neglected topic of build script maintenance:
A new Java Power Tools Newsletter is out!
Become a Master Craftsman in the art of Java Development. You know the language - learn to master the tools and techniques.
One great feature about Hudson is the support for distributed builds. Distributed builds can be used to absorb load or for specialized build jobs such as system or functional testing or automated deployments. In this article, we look at a special case - what happens when you need to start a Unix Hudson slave from the slave machine itself.
If you are running Hudson in a Unix environment, you may want to hide it behind an Apache HTTP
server in order to harmonize the server URLs and simplify maintenance and access. This way, users
can access the Hudson server using a URL like http://myserver.myorg.com/hudson rather than http://myserver.myorg.com:8081.
Selenium is a popular web testing framework, that works well for both regression tests and acceptance tests. It works well almost all web applications, even those using complex AJAX-based user interfaces. However, writing maintainable Selenium scripts is harder than it looks, and in the real world these test scripts often fall into disuse as they become less and less maintainable.