Vincent Zurczak - EBM WebSourcing wrote:

I am a contributor to the SCA tooling within the Eclipse STP project [0], and I'm trying to evaluate the testing tools for SCA.

The STP project already provides a graphical designer to build composites, and SCA annotations for Java implementations. It will also soon propose editors (an XML editor and a form editor). For the deployment, this project already supports Tuscany platforms [1] and it is expected to support the platforms developed within the SCOrWare project [2] before fall.

In fact, most of the aspects of the development of SCA applications will be covered by this tooling. The only unknown, IMO, is test. I know Tuscany provides some help with JUnit tests. In a more general view, I'd like to have your opinion about testing SCA applications. Which tools do you use and to test what, which tools you would need... Personally, I'm not really sure there is a need of new tools in fact... This is why I'm asking.

Implementations can be tested as any other code. You can perform unit tests, integration tests and so on. Services used in a composite (e.g. through references) are harder to test. If they are web services, a lot of tools exist, like SOAPui or the Eclipse WTP project. If they are "services" you access with other protocols like RMI or JMS, test is much more harder but it is still feasible. But is it useful ?
So, I wonder what we really want to test with SCA applications.

I have thought to a tool proposing a form to call any SCA service (no matter its binding). It would allow you to test a service manually or to define more complex test scenarios for automated testing. But for which users ? For a developer, testing a composite service is the same thing than testing the component implementation promoted by this service. Automated scenarios execution could be used for performance measurement and load testing. But in this case, the user is not a developer anymore.

I have also seen this message [1], but it is two years old. Maybe things have changed.

So, what do you think about test for SCA applications ? I would be really curious to know what you think about this.


                 Vincent Zurczak.

[3][EMAIL PROTECTED]/msg05814.html

I'd imagine the following:

- I (Mr Tester) select a component in my assembly and click Test

- I see a list of services offered by the component, can select a service / business interface / business operations, see the inputs/outputs, can use a form to fill the input data and invoke the business operation.

- I set a breakpoint in my component implementation (if it's written in a programming language supported by my debugger). I hit my breakpoint when the business method is invoked.

- I see a property sheet allowing me to configure the component properties.

- I select references on the component and stub them, i.e. first inspect what's flowing through them, then I simulate the target component, see the input data, use a form to return the output data.

- I inspect the component instances in scope (e.g. for a request-scoped or conversation-scoped component I can see what instances are active).

- Finally, because life in an XML world is unfair, and most of my problems are usually Java/XML data transformation problems, I can select a binding on my service or reference, observe the (XML) traffic and check that my business data flows nicely over the binding when I invoke the business operation.

I may have missed a few important scenarios, but that's a start.

I think we can also do interesting things in terms of automated unit, function, integration tests (like generate test cases for your automated build) but that's a different discussion I guess.


Reply via email to