Solstice Software logo
top of swoosh image

Continuous Testing: Agile and XP

Continuous integration and testing are key success factors in agile development projects. Teams using agile methods such as Extreme Programming (XP), Scrum and others work in short iterations to “grow” a system. The “one and done” approach to software development often leads to project failures. Agile methods require the whole team to focus on quality throughout each of these iterations, ensuring that the system is built on a sound foundation.

QA is no longer a phase in the development cycle that begins when development is “frozen.” Quality thinking is woven into the daily routine and is part of the team’s responsibility. The system must be kept in a high-quality, working condition at all times. With software builds and integration taking place on an hourly basis in some cases, there simply is no time to perform extensive manual tests. To accomplish this, the team must commit to automating as much of the testing process as possible. Testing must also be done at various levels of the system under development. Relying solely on testing the GUI level, can give the team a false sense of security. Effective iterative testing needs to provide coverage at multiple points to increase the probability of detecting and correcting errors as early as possible.

Coincidentally, many of the projects using agile methods today are SOA projects. The component-orientation of these projects calls for testing at the integration level. Solstice provides multi-protocol, message-level support required to test most of these architectures. Agile teams combine their talents to focus on producing a high-value solution in each iteration of the project. Developers, QA, business analysts, and users can collaborate and take advantage of the Solstice solution. By providing command-line controls, JUnit integration and an intuitive user interface, Solstice simplifies continuous integration and testing for all members of the team. Having automated and repeatable tests ensures that new members of the project team can join and ramp-up quickly, thus strengthening the team flexibility and reducing single-threaded points of failure.

©Copyright 2008 Solstice Software