Next in thread → Next in month →

RE: [ebxml-iic-interop] interop update

From
Jacques Durand <>
Date
2002-09-26T23:38:38+00:00
ID
Thread
RE: [ebxml-iic-interop] interop update
Title: interop update

Eric:

 

My 
comments - (Steve and Hatem may add theirs especially if they 
disagree!)

  
-----Original Message-----
From: Eric VanLydegraf 
  [mailto:]
Sent: Thursday, September 26, 2002 2:45 
  PM
To: 'Jacques Durand'
Cc: 
  ''
Subject: RE: 
  [ebxml-iic-interop] interop update

  
Well 
  thanks jacques,

  
    in that case here are my comments on the 0.40 
  document

  
 

  
Introduction 1 states conformance testing (should be interoperability 
  correct ?)

  
 

  
<Jacques> 
  right

  
 

  
 

  
It 
  seems the document needs to have an interoperability definition and motivation 
  statement.

  
The 
  term is used everywhere but only defined in Appendix A (which BTW follows 
  Appendix B ???) and properly differentiated from 
  conformance.

  
 

  

  
<Jacques> correct. I ahve not seen a 
  "formal-enough" definition so far, so I tried to craft one some time 
  ago.

  
Here it is. Let me know if you know of any 
  other. 
  
we can use it if you guys 
  agree.
I think the notion of "contract" is essential 
  - allows you to test things

  
that are out of scope of the spec, like 
  interop with "large payloads", or interop with options from spec that 
  are

  
narrowed down (according to the 
  "contract"):

  
Interoperability 
  Testing: 
  Process of verifying that two implementations of the same specification, 
  or

  
 that 
  an implementation and its operational environment, can interoperate according 
  to the requirements 

  
of 
  an assumed agreement or contract. This contract does not belong necessarily to 
  the specification, 

  
but 
  its terms and elements should be defined in it with enough detail, so that 
  such a contract, combined 

  
with 
  the specification, will be sufficient to determine precisely the expected 
  behavior of an implementation, 

  
and 
  to test it.

  
We may need to talk a bit about the expected 
  methodology (matrix testing, vs. hub-and-spoke testting 
  against

  
some "reference" 
  implementation)

  
 

  
 

  
 

  
I would specifically add a Pre Requesite heading section stipulating 
  the conformance to have passed prior to running 
  interop.

  
<Jacques> absolutely.

  
 

  
I 
  was also thinking over the Test Service & Test Driver framework and 
  wondering about

  
having the Test Service be initiated with ebXML messages itself and 
  having notifications and events signalled via messages.

  
This 
  has the advantage of keeping the Test Driver and Test Service separate and 
  using ebXML messagging as the logging and tracing.

  
It 
  also means we can configured the Test Service entirely through a message - 
  with the test cases as payload. The conversation_ID with the Test 
  Driver

  
determines the Test Case being referenced. With timeouts the Test 
  Driver can determine test failure. So the Test Driver is both initiatior and 
  logger of the test run, but the actuall testing occurs between candidate 
  MSH's.

  
 
<Jacques> tricky issue. My main concern 
  about initiating test cases via messages sent by the Test Driver 
  (like

  
we do in conformance testing - but for 
  conformance that is not a problem), is that 
  this introduces a third end-point 
  

  
on the communication. In a deployed 
  environment, where network access may be subject to all kinds of 
  restrictions,

  
this may be a problem (and we need be 
  able to test interop at any time, on a periodical 
  basis.)

  
 You may not be able to send easily 
  messages to your own MSH. In addition, it may 
  craete

  
"noise" in the log, send back messages 
  or errors, you need to create an additional conversation, there may be 
  security problems, 

  
you don't want your MSH to interact with 
  your driver using same CPA as the ones (several different) used for interop 
  test cases, 

  
so you'd need to switch 
  to 
  a special CPA to be installed, 
  etc. 

  
All that 
  may 
  get messy and restrictive, even if the architecture looks attractive because 
  just a building block game.

  
I think in the f-2-f we came-up with the 
  idea that :

  
we would have an integration  Test 
  Driver / Test Service, i.e. a bundled version of the test driver would be able 
  to directly

  
invoke the Initiator service action 
  (from inside same process), without going through the wire/MSH to do 
  so.

  
That seems much less problem-prone, and 
  leaves the communication and MSH layer untouched - no side effects, 
  no

  
intrusion, no reconfiguration, etc. 
  The 
  test driver will have a mode where instead of crafting messages to 
  send

  
a payload to the local Test Service 
  (Initiator action), it will just directly invoke the Initiator action 
  

  
(via the same internal interface that is 
  used by the MSH) and directly pass the payload to 
  it.

  
For the notification, same thing: 
  actions will notify message material (header data + payload) to test driver 
  directly through 

  
its 
  interface.

  
 

  
 

  
it 
  seems we need a template, as the tests will be very similar and only certain 
  tests will be excluded rather than different.

  
It 
  seems more appropriate to list all tests and have a PreCondition table stating 
  for what protocols it applies to.

  
That 
  way all testers step through each Test Case and test if needed otherwise skip 
  to next one.

  
Or 
  alternatively write up the Test Cases in one section and make a table 
  with checkmarks on which protocols apply to the Test Case.

  
 

  
e.g.

  
Test 
  Case 1.1 No payload basic exchange 

  
Protocols [HTTP,SMTP]

  
...

  
Test 
  Case 1.12 Synchronous Unsigned Acknowledgement  
  exchange

  

  
Protocols [HTTP]

  
 

  
<Jacques> I guess it is mostly a matter 
  of specification style - I 'd still like to clearly and 
  unambiguously

  
identify each Interop Profile (i.e. their 
  corresponding test suite) as "optionless".

  
I.e. each test suite is totally deterministic 
  (interop "contract" is fully defined within, e.g. with the precise protocol 
  you

  
will use, e.g. HTTP), and ther eis only one 
  way to execute it.

  
So this still allows for using a parameterized 
  "profile template" if you will - but we would clearly distinguish two 
  instances of

  
it (e.g.in our case, one for HTTP, one for 
  SMTP), and consider them as two different interop profiles 
  .

  
Would that be consistent with what you are 
  proposing?

  
e.g.. :

  
TemplateTestSuiteXYZ ( parameters: 
  protocolname,  protocoltype )

  
{

  

  
Test Case 1.1 No payload basic exchange 
precondition(nil); 
 ... 

  
Test Case 1.12 Synchronous Unsigned 
  Acknowledgement  
  exchange 

  
precondition(protocoltype="synchronous");

  
}

  
 

  
Interop Profile A:

  
TemplateTestSuiteXYZ ( HTTP, 
  synchronous)

  
 

  

  
Interop Profile B:

  
TemplateTestSuiteXYZ ( SMTP, 
  asynchronous)

  
 

  
 

  
Cheers,

  
 

  
jacques

  
 

  
I 
  think with some more discussion and thought about the test framework - namely 
  the test driver/test service we could more thoroughly

  
go 
  through the test steps.

  
    
-----Original Message-----
From: Jacques Durand 
    [mailto:]
Sent: Tuesday, September 24, 2002 
    11:14 AM
To: 'Eric VanLydegraf'
Cc: 
    ''
Subject: RE: 
    [ebxml-iic-interop] interop update

    
Yes, latest draft is 0.4 you got by mail. Not posted yet on our 
    site.

    
We 
    need to review in particular Section 3:

    
- 
    the detail of the test steps for each test case.

    
- 
    the notion of having two "basic interop profiles", concretized by a test 
    suite for HTTP, 

    
and another test suite for SMTP. (no "option" inside a 
    profile.)

    
- 
    the content of these basic interop profiles (as drafted, they roughly match 
    what remains

    
from the DGI tests, after removing (a) conformance tests, (b) 
    optional tests, (c) specific tests like large payloads.)

    
 

    
Cheers,

    
 

    
Jacques

    
      
-----Original Message-----
From: Eric VanLydegraf 
      [mailto:]
Sent: Monday, September 23, 2002 6:06 
      PM
To: 'Jacques Durand'; 
      ''
Subject: RE: 
      [ebxml-iic-interop] interop update

      
Just to confirm 0.40 is the latest interop document 
      ?

      
        
-----Original Message-----
From: Jacques Durand 
        [mailto:]
Sent: Monday, September 09, 
        2002 5:45 PM
To: 
        ''
Subject: 
        [ebxml-iic-interop] interop update

        
Steve, Hatem, Eric: 

        
Here is an incremental update of the Interop 
        suite document, for your review 
based 
        on improvement we discussed in past conf calls as well as F-2-F. 
        

        
- Section 1.2 (concept of operations) is 
        expanded. 

        
- References to third-party tests (here, DGI) 
        has been removed, as this is a general, abstract test suite, 
        
that will be used as a reference by third 
        parties. Comparisons with UCC/DGI test suite will be done 
        separately, 
as we expect for other 
        existing test suites (ECOM). (We'll need to do such "comparative 
        evaluations" 
if only as a basis for 
        discussion when negotiating with these entities, so that they understand 
        how "compliant" 
they are with our 
        tests, and also so that they can give feedback on what may be missing in 
        ours. 

        
- list of Actions of  Test Service 
        (Section 2.2) is slightly updated (configurator, also the message 
        sending behavior 
of all these actions 
        is the same whether the Test Service is associated or not with a Test 
        Driver.) 

        
- still need to refine the way a Test Driver 
        will drive the test cases by directly invoking the Test Service 
        "Initiator" action.

        
- only one interop profile test suite 
        described here for HTTP (Section 3), based on Steve's list of test 
        cases 
 as we went through in 
        F-2-F. 
It is roughly equivalent to: { 
        DGI, minus conformance tests, minus optional tests, minus HTTP/S 
        } 
Detail of test cases (test steps, 
        CPA...) still needs to borrow from Mike's material. 
Still to discuss: idea that there is an interop 
        profile for HTTP, another vfor SMTP. (see Section 3.3) 

        
Regards, 

        
Jacques 

        
<<ebxml_ms_interoperability_testsuite_0.4.doc>>
Next in thread → Next in month →