Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[hyades-dev] Re: [Hyades-team] Test and trace model alignment - clarification needed

Stefan makes a good point about the trace and test models needing to 
coordinate, because they have many concepts and maybe a few classes in 
common.

But I want to address the idea that the trace and the test are the same 
thing. I know this is a big theme at Scapa. But the traces we're talking 
about capturing in the trace model are very different from the kinds you 
might think of at Scapa, and they're pretty far from being the same thing 
as a test.

The traces we're talking about modeling are highly detailed, potentially 
representing every function call in the whole program. (More likely it'll 
be filtered by class or by triggers that start and stop tracing, but you 
get the idea.) What a Scapa person thinks of when you say "trace" is much 
more coarse-grained, showing the way high-level components (beans) are 
stimulated, how they interact, and the responses they give. If you capture 
this as a trace, it looks almost exactly like the corresponding 
stimulus-response test.

So I will answer the question "Why are trace and test different?" by 
saying "They might be similar, but in general a trace is much more 
fine-grained and exact, while a test is more coarse-grained and abstract." 
Also, the data you attach to something like a "function invocation" in the 
model is different: trace data includes a lot of information about entry 
and exit timing, for example, which makes no sense for a test model. 
Conversely, a test model contains data tables for supplying arguments, 
while a trace captures the actual data that was observed during one 
specific execution of the SUT. (If the trace captures data at all, that 
is.)

There's a lot of room for conformance between the trace and test models, 
but they also serve different needs and are unlikely to converge 100%. 
That's my take.

-- Allan Pratt, apratt@xxxxxxxxxx
Rational software division of IBM



Back to the top