Vincent Zurczak - EBM WebSourcing wrote:
I am a contributor to the SCA tooling within the Eclipse STP project
, 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  and it
is expected to support the platforms developed within the SCOrWare
project  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 , but it is two years old. Maybe things
So, what do you think about test for SCA applications ? I would be
really curious to know what you think about this.
 http://www.mail-archive.com/[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
- 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.