Unfortunately, my book doesn't include any advice on testing a SOA either! Although the build process (
Maven) for some of the code samples include
JUnit based integration testing. Basically, having a test client fire a variety of messages at a service and checking that the returned messages conform to expectation. I guess you would call that "service level" testing. It is OK for testing individual services. But, there is a whole additional layer of integration testing required to test a SOA application.
Sounds like another book ..... ;-)
I did find this
article by David Linthicum that might be helpful.
As I think about this, I am realizing that nobody "tests" the Web - right? I mean, people are building useful mashups, and doing eCommerce over the Web. It is one giant SOA. But nobody tests the whole thing. The applications are loosely-coupled, so they can be designed to be fairly fault tolerant. Maybe with SOA applications, we just need to accept that they cannot be tested to the same rigorous level as tightly coupled OO applications that run in a single address space. Each individual service can be rigorously tested. And a specific business process can be tested. But, I don't see how you can realistically test an entire SOA.
Those are just some thoughts. I'd be interested in what other have to say about it.
[ May 30, 2007: Message edited by: Mark D. Hansen ]