- From: <paul.downey@bt.com>
- Date: Wed, 26 Oct 2005 23:17:16 +0100
- To: <dmh@tibco.com>, <public-ws-addressing@w3.org>
David * of course it remains questionable how we can ever test abstract 'core' features without looking 'under the kimono' (TM). All we can do is look at the bits that hit the wire in SOAP and WSDL form. * currently we have two 'operations': - notify (sends some text, node 'A' to node 'B') - echo (send some text, node 'A' to node 'B', same text comes back to node 'A') I'll add some documentation on the semantics of these, along with proto WSDL 1.1 and 2.0 documents during the next week. * The test suite has been constructed from the perspective of an independent 'observer' of the messages travelling on the wire. Either the message exchange described occurs and the test case was demonstrated to the satisfaction of the 'observer', or it doesn't, and the test case wasn't demonstrated. I'm not sure I understand the value of bucketing timeouts differently to invalid messages. How we actually setup and run implemetations to exhibit these messages for CR has yet to be discussed. Paul -----Original Message----- From: public-ws-addressing-request@w3.org on behalf of David Hull Sent: Mon 10/24/2005 8:58 PM To: public-ws-addressing@w3.org Subject: Random comments on testing I'm still looking to go through all the test docs from top to bottom, together with the spec. Unfortunately, I've been fighting a cold lately, rendering my analysis and prose even more suspect than usual. So instead of a lengthy analysis, which would likely come out garbled, here are a couple of random points: * It's hard to test rules concerning abstract models directly. We get at them indirectly, for instance in test 1234, which will only work if both the defaulting of [fault endpoint] and the handling of [reference properties] are working properly. This is a good test, but I'm wondering if we might want to define a "echo MAPs" request-reply operation. The request is anything, the reply is an XML representation of the MAPs, as per the rules in section 3, with all defaulting applied. On the plus side, this would give nice, unambiguous results. On the minus side, it's not something that implementations would normally be required to do. Further, it's not strictly necessary for an implementation to build any explicit representation of the MAPs at all, as long as it does the right thing. * Looking at the test cases document <http://www.w3.org/2002/ws/addr/testsuite/testcases/>, it's not always clear what's supposed to happen. A test is a repeatable procedure and an expected result. We need to be explicit about the result, as well as providing enough information to reproduce the procedure. * In testing distributed messaging, it's useful to distinguish four outcomes: o Success: Everything that was expected to happen happened and nothing else happened (at least not where we were looking). o Failure: At least one thing that definitely should not have happen happened. o Timeout: At least one thing that should have happened didn't happen, but might have happened if we had kept waiting. o Other failure: Something identifiable went wrong with the test system (e.g., the test driver NPE'd, or the network crashed). * Timeout is basically a failure, but it's worth calling out because it can indicate either a real failure (the reply never arrived at the [reply endpoint] because it was never sent) or another failure (the reply was sent, but the network hiccuped). This is more of a problem with true one-way transports. If the server tries to send an asynchronous reply via HTTP POST, it can tell us that the POST failed.
Received on Wednesday, 26 October 2005 22:17:23 UTC