Unless you live in a sci-fi novel, there's one rule of thumb for any new place you go: some things are different; some are the same. Usually, success, fun or survival in that new place depends upon how well you handle the differences. In this issue of SearchSoftwareQuality.com's Software Testing Ezine, the new "places" are a service-oriented architecture (SOA) and an agile software development environment.
Examining the ins and outs of software testing in SOA environments in "An SOA view of testing," consultant Mike Kelly focuses on the "subtle differences." What's the same is that testers here must start with the basics. In SOA, the basics are connectivity, basic capacity, and authorization and authentication—not that different from other environments. The level of complexity of data models, however, is very different from that of other architectures and requires some new methods of testing. While agile development requires different testing methods than the waterfall model, those differences lie as much in human behavior as in technology, according to consultant Karen N. Johnson in "Agile testing strategies: Evolving with the product." Agile is a more collaborative process and calls for seizing "iterations as a chance to evolve test ideas," Johnson writes. Fundamental testing tasks, like exploratory and investigative testing, stay the same, but the productivity of completing those jobs can increase. Johnson and Kelly discuss the finer points of testing in agile and SOA, respectively, in this issue's articles. They also describe revelations they've had while working in those environments and best practices they've learned and continue to use. The theme of connectivity runs through these discussions of SOA and agile testing, as the former focuses on system connectivity and the latter on human collaboration. Both approaches, when done well, can help development and IT organizations achieve lower costs and better software.