Adopting agile testing practices when legacy tools and practices rule !

room: Sheraton Hall A, LC — time: Thursday 10:30-12:00
Average Rating: -

Adopting agile practices such as TDD or functional testing with Fit/FitNesse in an organization without saying the word “agile” is challenging. We will report in this presentation how we implemented agile practices such as continuous integration, test-driven development with a strong focus on productivity and reliability.

To adopt agile testing practices, we consider the Mike Cohn pyramid as a target to help teams to organize tests development (unit tests, fitnesse/functional tests, acceptance/graphical tests). We also introduced the Brian Marick matrix from his paper Agile testing directions to do the difference between acceptance testing involving end-users and the functional testing involving functional APIs of applications.

We will report the main steps we followed :

  • migrating applications “build” under Maven to improve dependencies management
  • adopting Cruisecontrol to improve feedbacks during development and deployment phases
  • configuring code review reports using Checkstyle, PMD, Findbugs and AspectJ (design policies enforcement) Maven plugins
  • adopting an agile testing strategy based on Fit/FitNesse, xUnit (JUnit, JSUnit, …), JMockit, MockObjects, …
  • developping a DSL to run Selenium from FitNesse
  • adding FitNesse tests reports to Cruisecontrol dashboards
  • taking into account legacy products such as IBM Rational Clearcase or HP Quality Center

Since we continue to evaluate solutions such as GreenPepper or Rally Dev, we may add more entries in our talk.

Our final goal will be to report how we adopt agile practices and how we adapt them to existing legacy systems (mainframe) and legacy tools (HP Quality Center). We are in the process to evaluate Rally Dev solution as a bridge between agile and legacy project management practices.

Process/Mechanics

We may run our session with slides, screen recorder (to avoid installations of heavy tools) and demonstrations (in case of opensource/web solutions).