Re: [ebxml-iic] comments on use case #2, and on termination of test case

From
Michael Kass <>
Date
2004-08-24T03:55:21+00:00
ID
00c701c4898e$0e4ff920$
Thread
Re: [ebxml-iic] comments on use case #2, and on termination of test case
Title: comments on use case #2, and on termination of test case

Jacques,

 

 

   Below are some of my thoughts 
regarding "abort".    I think that it is a useful and necessary 
function for concurrent Threads

that will later be "orJoined".

 

I think however, that <Abort> should be 
explicitly set by the Test writer, since, in  99% of <TestAssertion> 
operations in a typical Test Suite,

a boolean result of "false" for a 
<TestAssertion> will signal a defaul exit  condition for the Test 
Case, with a final result of "fail".  This is the case for

ebMS testing, and will likely be the case for 
Registry testing as well. BPSS testing will of course have more complex, 
concurrent Thread opterations

that would benefit this 
functionality.  However, making <Abort> the default logical branch on 
a failed <TestAssertion> does not represent the typical use 
case

in our test scripting.

 

  Also, requiring the test writer to "micro 
manage" every <TestAssertion> in the test suite, and explicitly set a 
<WhenFalse><Exit>fail</Exit></WhenFalse>

and 
<WhenTrue><Continue/></WhenTrue>

is (in my opinion) against the intuitive meaning of 
a <TestAsssertion> operation, where "true" = "pass" and "false" = 
"fail".   Such

default behavior could be "overriden" in the 
case of a (rare) "abort" situation.  Forcing explicit declarations of 
branching will require unnecessary 

and labor-intensive micro-scripting for each Test 
Case, where more intuitive default behavior rules for <TestAssertion> could handle the majority

of test cases.

 

  I would like to propose keeping 
the existing implied <TestAssertion> logic, but adding an explicit 
<Abort> option for <TestAssertion> that would let the test 
writer abort a

(concurrent) Thread if a particular <TestAssertion> fails.

 

 

Comments?

 

Mike

 

 

----- Original Message ----- 

  
From: 
  Jacques 
  Durand 

  
To: ebXML IIC - main list (E-mail) 
  (E-mail) 

  
Cc: '' ; '' 
  

  
Sent: Monday, August 23, 2004 4:01 
  PM

  
Subject: [ebxml-iic] comments on use case 
  #2, and on termination of test case

  

  
Mike: 

  
I think we need to tighten the semantics of a Test 
  Assertion failing without explicit exit statement: 
I am concerned that these implicit rules we have will be confusing 
  on complex test cases that have concurrent threads...

  
(see my comment in 1.1.4, attached) 
I would suggest we consider the following proposal: 
  
- no "fail" outcome is produced unless an explicit fail 
  exit statement is met during exec. 
- no "pass" 
  outcome unless an explicit pass exit statement is met during exec. 
  
- a failed assertion without explicit exit statement, by 
  default will "abort" the thread, but just the thread. 
- a passed assertion without explicit exit statement, by default 
  will "continue" the thread. 
- when threads are 
  joined, an aborted thread will automatically cause failure of an and-join 
  (which aborts the container thread). In case it is an or-join, the aborted 
  thread will just be ignored by the or-join (the or-join will fail if all 
  joined threads abort). If a thread that was split but never joined, aborts, 
  then it just stops and is simply ignored for the rest of the test case exec 
  and outcome. 

  
- if the Main thread of a test case aborts, the outcome is 
  "Undetermined" by default (this is the only case of implicit outcome, in 
  addition to other explicit "Undetermined" outcomes)

  
Some additional Comments starting p.5 of the attached doc 
  (mostly, use case #2). 

  
Also, I was searching for the section where we specify the 
  test step timeout (MaxDuration?) , in the draft spec, 
and did not find it (same for the "sleep" statement). 

  
Cheers, 

  
jacques 
<<section7.1-JD1_MK_JD2.doc>> 

  

  

  

To unsubscribe from this mailing list (and be removed from the roster 
  of the OASIS TC), go to 
  http://www.oasis-open.org/apps/org/workgroup/ebxml-iic/members/leave_workgroup.php.