Title: ebXML Messaging Test Architecture and Procedures (draft) ebXML IIC
1ebXML MessagingTest Architecture and
Procedures(draft)ebXML IIC
- Conformance Testing
- Interoperability Testing
2Two kinds of Test Drivers for Message Service
Handlers (MSH)
- Application Test Driver
- Drives the target MSH through its API
- Also gets input from target MSH (e.g. incoming
message) - Simulates the application layer
- Message Test Driver
- Drives the target MSH through its messaging port
- Also gets input from target MSH (e.g. outcoming
message) - Simulates a remote party MSH
3Application Test Driver
NOTE The Application TD will assume a standard
messaging API (e.g. small subset of JMS). If the
target MSH does not comply with this API, a
specific adapter for conversion across APIs is
needed.
Message Data Input (header attrs payload)
Message Data Output (header attrs payload)
Application Test Driver
Configuration Input (CPA)
Adapter API (test-standard)
MSH adapter (for target)
MSH-specific adapter
Target MSH
MSH-specific API
Message input
Message output
4Message Test Driver
- NOTE The Message TD does not have to be an MSH
itself - Can directly craft ebXML messages from
HTTP/MIME/SOAP templates message data - Can extract message data (header attributes
payload) from an HTTP/MIME envelope
Message Data Input (header attr payload)
Message templates
Message Test Driver
Target MSH
Message input
Message output
Message Data Output, (still unmarshalled)
(header attr payload)
5- Test Cases
- Define the test input (MSH configuration,
message data, message templates) - Define conditions for success ( expected profile
of test output, rules, constraints)
Each Test Case includes
Validation Data (e.g. expected message responses)
Message Data Input
Validation
Pass or Fail
Application Test Driver
Message Data Output
Configuration Input (CPA)
MSH
6- Test Procedures for each type of Test Driver
- Use similar Test Case definitions (XML-based)
- Use similar Validation procedures
Validation Data (XML) (e.g. expected message
responses)
Message Data Input (XML)
Validation
Pass or Fail
Application Test Driver
Message Data Output
Configuration Input (CPA / XML)
MSH
Validation Data (e.g. conditions on message
elements)
Message Data Input
Message Test Driver
Validation
Pass or Fail
Message Envelope Templates (ebXML/MIME/HTTP)
Message Data Output
MSH
7Test Harness for Conformance Testing
- Involves both types of Test Drivers
- NOTE an alternative to the Application TD
adapter could be a (standard) test service
implemented by the target MSH (as an IIC
recommendation).
Message Data Input
Message Data Output
Message Data Input
Application Test Driver
Message templates
Configuration Input (CPA)
MSH adapter (for target)
Message Test Driver
Message input
Target MSH
Message output
Message Data Output
8Conformance Test Procedure 1 Basic Message
Integrity
- Appropriate for
- Wire-conformance of various kinds of messages
- Verifying the consistency / integrity of
headerpayload with regard to application input
(service-conformance)
Application Test Driver
MSH adapter
Message Test Driver
Target MSH
Message output
9Conformance Test Procedure 2 Error Generation
Application Test Driver
Falsified message input
MSH adapter
Message input
Message Test Driver
Target MSH
Error output
10Conformance Test Procedure 3 Request-Response
- Appropriate for
- Verifying ability of MSH to understand message
data (wire-conformance) - Verifying transfer of message data integrity,
from MSH to application (service-conformance)
Response messages
Application Test Driver
Request messages
MSH adapter
Message input
Message Test Driver
Target MSH
Error output
11Test Harness for Interoperability Testing
- Involves Application Test Drivers
Message Data Input
Message Data Output
Message Data Input
Message Data Output
Application Test Driver
Application Test Driver
Configuration Input (CPA)
Configuration Input (CPA)
MSH adapter (for target 1)
MSH adapter (for target 2)
Target MSH 1
Target MSH 2
12Interoperability Test Procedure 1 Basic
Exchange
Request Message Data
Message Data Output (request)
Application Test Driver
Application Test Driver
Configuration Input (CPA)
Configuration Input (CPA)
MSH adapter (for target 1)
MSH adapter (for target 2)
Target MSH 1
Target MSH 2
13Interoperability Test Procedure 2
Request-Response
Request Message Data
Message Data Output (response)
Response Message Data
Message Data Output (request)
Application Test Driver
Application Test Driver
Configuration Input (CPA)
Configuration Input (CPA)
MSH adapter (for target 1)
MSH adapter (for target 2)
Target MSH 1
Target MSH 2