Testing strategies for complex environments

In this issue of SoftwareTesting Ezine, the new "places" are a service-oriented architecture (SOA) and an agile software development environment.

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.

Download Software Testing: New software testing technologies bring new challenges, Vol. 1.

Download Software Testing: Testing strategies for complex environments: Agile, SOA, Vol. 2.

Download Software Testing: Mobile applications and regression testing, Vol. 3.

This was last published in October 2009

Dig Deeper on Mobile Application Testing Techniques and Tools

Join the conversation


Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

We have been using SOA for several years now, and sometimes I still struggle figuring out how to test it. It definitely is more challenging.
SOA and microservices greatly increase testability but also put increased demands on testers - to write some code, to deal with XML, and operate the tools.

An interesting story from my experiences testing web service apps.
All low level XML handling libraries seem to have soft spots around formatting, whether that be months or floating point numbers. Exploring the ways they round and default data may find combinations when the app screws up itself.
Sample: if the amount was limited by 9 positions (999999.99), try putting "9E+99" in XML field.
Are there really that much different in 'methods' used when testing in agile vs waterfall?  I get the process model is different, but that doesn't necessarily imply or follow that methods used in waterfall are necessarily obsolete.

Maybe we disagree on what 'method' means here... hrms.
@Veretax, it’s often that we’re using the same words with different meanings. The BBST course on Test Design covers some of this. If I recall correctly, we may create different strategies to organize and do our testing, but the techniques are independent of of the strategy chosen - a technique can be used to support either agile or waterfall.