/* Google Analytics ----------------------------------------------- */

Monday, February 16, 2009

Continuous Integration

In my current company we are using Hudson (for developpers) and Sonar (which offers a simpler Software engineering dashboard). Both tools are great. In our continuous integration platform we also use maven2, Nexus, findbugs, cmd, checkstyles, and CPD.

Two tools that could also be interesting in that area:
  • Testability Explorer: Testability-explorer is a tool which analyzes java byte-codes and computes how difficult it will be to write unit-test. It attempts to help you quantitatively determine how hard your code is to test and, where to focus to make it more testable.
  • Macker: Macker is a build-time architectural rule checking utility for Java developers. It helps keep code clean and consistent. You can tailor a rules file to suit a specific project's structure, or write some general "good practice" rules for your code.

I also like this set of articles called "Automation for the people (IBM developerworks)". Lots of interesting articles.


  1. Thanks for the links - I didn't know most of them :-(

    Did you give up Selenium or is it just not integrated within the continuous integration process ?

  2. Selium is used to test the performance from the user point of view of our applications. So we are deploying the same selenium test case in different regions (ASPAC, EMEA, NORAM) and we are able to get qualitative metrics where people sayd before "it's slow".

  3. Hmm Selenium ? For performance purpose ? It' has not been designed for this (even if it can do some kind of performance tests).

    Anyway, glad to see that the tool I introduced with LoLa (RIP) are still used :-)

    About deployment, do you use a tool for this or is it (still) manual deployment ? After looking at ruby/python deployment tools, I need to look at java ones for deploying php/java/... apps ;-)

  4. We found a very promising tool: chef.
    "Chef is a new open-source system integration, configuration management and provisioning application, released under the Apache 2.0 license by Opscode, in Seattle, Washington. Chef operates by defining system nodes, cookbooks for performing administrative tasks, and libraries for defining interactions with other tools such as applications, databases, and system administration resources like LDAP directories."


  5. To be ├╣more precise, Selenium was use to run functional tests. But we deployed it all over the world, so we can have an idea of the differences seen by each user in different regions of the world.

  6. Ok, I now see the point for Selenium.

    Thanks for the Chief link - Need to look at it deeper, even if I have doubt about implementing a ruby solution at JCDecaux.