[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Latest Test Framework spec and errata changes - 01/12/04
Jacques and all,
Here are the latest spec and errata changes,
based upon email comments and "scripting syntax" thread.
I modified the scripting syntax again ( this schema
is different from the one I emailed to the list on Friday).
It is based upon Jacques suggestion for
threaded/asynchronous test steps.
Sorry it took so long to get this out. I had
the flu last week and could not get caught up until today.
I believe that the XML syntax illustrated in the
attached TestStep.jpg file would provide all of the suggested
features
(Monica's either/or/concurrency/parallel and
Jacques threads and exception handling) with a minimum of (2) new XML
tags.
A summary of features is:
A <TestStep> can contain either a
"PutMessage" operation, "GetMessage" operation or a group of one or more
<TestStep> children..
A <TestStep>, based upon success (boolean
"true") or failure (boolean "false"), can branch to an
optional <Continue> or <Exception> tag respectively
The <Continue> and <Exception> tags are
optional, and only necessary if one wants to provide a branching option for a
<TestCase>
A <Continue> and <Exception> branch
leads to another <TestStep> ( this is your if/then/else case
)
A <TestStep> can be asynchronous ( parallel )
or synchronous ( serial ). By default, it is synchronous unless the test
writer sets the asynchronous attribute to "true".
A <TestStep> can contain a group of
<TestStep> children, connected by "and" or "or", based on the value of the
"connectivePredicate" attribute of the <TestStep>
<Exception> and <Continuation>
branching is based on the boolean result of the <TestSteps> grouped by the
"and" or "or" predicate for that <TestStep>
<TestSteps> can be nested to any depth,
with boolean evaluation beginning at the lowest level in the nesting
and logically proceeding up to the top level.
<TestSteps> are executed serially or in
parallel, each based upon its asynchronous attribute value of
"true/false".
Boolean <TestStep> forks are evaluated
after completion of all asynchronous <TestSteps> for that
fork.
Groups of <TestSteps> are executed in a
single asynchronous thread if they are the children of an asynchronous
<TestStep>.
You can have synchronous and asynchronous child
<TestSteps> within an asynchronous parent <TestStep>
thread.
This schema only adds 2 new ( and optional ) tags
to the current schema <Exception> and <Continue> ( plus an
"asynchronous" and "connectivePrediate" attribute to <TestStep>
)
This would add a lot of power and flexibility to
the current scripting.
I still need to test this model, and define BPSS
use cases to generate some POC test cases.
and I welcome any comments.
Cheers,
Mike
|
test_framework_v1.1_01_12_04.zip
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]