sca-assembly message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Assembly Test SC - Minutes of Meeting 10th December
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Assembly Test " <sca-assembly-testing@lists.oasis-open.org>
- Date: Thu, 11 Dec 2008 09:19:12 +0000
Attendees:
Simon Holdsworth
Bryan Aupperle
Mike Edwards
Plamen Pavlov
Eric Wells
Anish Karmarkar
Dave Booz
1. Roll Call
2. Appointment of scribe
3. Agenda bashing
4. Discuss Test Design documents
5. Discuss Example Test artifacts
6. Adjourn
Scribe: Mike Edwards
Item 4: Test Assertions document:
SCA_Assembly_Test_Assertions_01.doc
anish: http://www.oasis-open.org/apps/org/workgroup/sca-assembly-testing/email/archives/200811/msg00003.html
Discussion of the idea of linking the testcases to
the Test Assertions
anish: i was going to make a similar comment:
having a list of test associated with the assertion would be useful
Mike E: On the other hand, it can get difficult to
maintain documents if the lists are in two places.
The Test Assertions have a link back to the conformance
points in the Specifications, but there are no links
in the spec to the Test Assertions. There is
a Testcases document - that should be the document that links the
testcases to the Test Assertions - and that would
be the only place where the link is described.
Possibly the documents could be extracted to a pair
of database tables and simple database queries used to
connect up tests to the assertions and to the spec.
Mike E: I'd like to divide up the work for the Test
Assertions into chunks based on spec sections and ask for
volunteers to do one chunk each.
anish: +1 to divide-and-conquer
Item 5: Example Test Artifacts
anish: http://www.oasis-open.org/apps/org/workgroup/sca-assembly-testing/email/archives/200812/msg00003.html
Base testcase client - used to start the SCA application
& to initiate the tests and check results -
extended by other testcases:
BaseTest.java
@Before
public void setUp() throws Exception {
startContribution();
}
@After
public void tearDown() throws Exception {
stopContribution();
}
Tuscany specific code (needs replacing for each runtime)
for starting application:
protected void startContribution() throws Exception
{
// Tuscany specific code which starts the contribution holding
the test
launcher = NodeLauncher.newInstance();
node = launcher.createNode(testConfiguration.getComposite(),
new Contribution(testConfiguration.getTestName(),
getContributionURI()));
System.out.println("SCA Node API ClassLoader:
" + node.getClass().getClassLoader());
node.start();
} // end method startContribution
Test configuration data (describes the application,
its inputs and outputs):
protected TestConfiguration getTestConfiguration()
{
TestConfiguration config = new TestConfiguration();
config.testName = "ASM_0001";
config.input = "request";
config.output = config.testName + " " + config.input
+ " invoked ok";
config.composite = "Test_ASM_0001.composite";
config.testServiceName = "TestClient";
config.testClass = ASM_0001_Client.class;
config.serviceInterface = TestInvocation.class;
return config;
}
Test invocation:
public String invokeTest( String input ) {
TestInvocation service = (TestInvocation) getService( testConfiguration.getServiceInterface(),
testConfiguration.getTestServiceName() );
return service.invokeTest( input );
} // end method invokeTest
An extended Java test client:
public class Test_ASM_0002 extends BaseTest {
protected TestConfiguration getTestConfiguration() {
TestConfiguration config = new TestConfiguration();
config.testName = "ASM_0002";
config.input = "request";
config.output = config.testName + " " + config.input
+ " service1 operation1 invoked";
config.composite = "Test_ASM_0002.composite";
config.testServiceName = "TestClient";
config.testClass = ASM_0002_Client.class;
config.serviceInterface = TestInvocation.class;
return config;
}
} // end class Test_ASM_0002
A composite is the SCA application under test:
Test_ASM_0001.composite
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://oasis/tests"
xmlns:sample="http://oasis/tests"
name="TEST_ASM_0001">
<component name="TestClient">
<implementation.java class="test.ASM_0001_Client"/>
<service name="TestInvocation">
<interface.java interface="test.TestInvocation"/>
<binding.sca/>
<binding.ws/>
</service>
</component>
A second application:
Test_ASM_0002.composite
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://oasis/tests"
xmlns:sample="http://oasis/tests"
name="TEST_ASM_0002">
<component name="TestClient">
<implementation.java class="test.ASM_0002_Client"/>
<service name="TestInvocation">
<interface.java interface="test.TestInvocation"/>
</service>
<reference name="reference1"
target="TestComponent1/Service1" />
<property name="testName">ASM_0002</property>
</component>
<component name="TestComponent1">
<implementation.java class="test.service1Impl"/>
<service name="Service1">
<interface.java interface="test.Service1"></interface.java>
</service>
</component>
</composite>
Bryan: "TestClient" in the composite is
a poor name
Choose "TestGateway" instead to make it
clear what that component is doing
ie providing a route for the external client into
the SCA application
Discussion of the idea from Anish & Scott for
doing the high level application using
<implementation.composite/> rather than <implementation.java/>
...and then having implementation technology specific
second level composites
Anish - keeping service interfaces simple (simple
ping stuff) is a good idea
Complex datatypes are probably not necessary since
the spec makes few normative statements about them
Dave B: Testing of callbacks and of conversational
services is more complex, but the interfaces can be kept simple
Testing of Bindings is tricky - if it involves the
question of checking the messages on the wire.
Anish - one possibility is to stick at the level of
APIs that uses the protocol concerned
- eg APIs that access SOAP headers, or the JMS headers
Mike E: Yes, I agree - that's a good idea
Mike E: There is a JAX-WS client that I have been
building
- that is completely outside SCA. Could be adapted
eg to JMS APIs
COB
Yours, Mike.
Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431
Email: mike_edwards@uk.ibm.com
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]