December 27, 2011 Comments Off on Cutting corners on testing turns SOA into DOA
At WiseClouds, we help enterprises in many industries design, develop, test, and deploy Service Oriented Architectures (SOA). Over the years, we’ve observed a number of common traits among those SOA initiatives that have failed to live up to expectations. I’ll be describing these characteristics in a series of upcoming posts. For now, I want to highlight the dangers of trying to cut corners on SOA testing.
What do I mean by “cutting corners on testing”?
- Unrealistic schedules: QA is a chronic victim of improbable, overly optimistic timetables.
- Short staffing: In an era of tight budgets, QA professionals are the first people to get tossed overboard.
- No load testing: It’s amazing, but many organizations will go into production without ever subjecting their services to even basic load testing.
- No tooling: Many enterprises still run their tests by hand.
- No training: Educational budgets have been slashed, and this is directly reflected in the poor quality of delivered software that plagues so many organizations.
It’s important to remember that testing services is fundamentally different than testing traditional applications. For GUI-based applications, user interaction is fairly constrained, but anyone can send anything to a service. This means that testing (of business logic, data, exception handling, and security) must be much more rigorous for a service. Furthermore, services are often composed into larger applications, which further complicates testing.
With SOA, services play a much more vital role than any given siloed application. This means that a single service failure can severely disrupt operations. Even if all services are running normally, poor Service Level Agreement compliance can jeopardize the whole SOA initiative.
So if you’re trying to deploy a SOA-based architecture, recognize that testing services will be a larger and more complex effort than you’ve ever experienced before. And plan (and budget) accordingly!