Commit 4a81a5b5 authored by Hernan Ponce de Leon's avatar Hernan Ponce de Leon
Browse files

Testing: Documentation



Issue-Ref:3484
Signed-off-by: Hernan Ponce de Leon's avatarHernan Ponce de Leon <ponce@fortiss.org>
parent 06ad42eb
......@@ -23,8 +23,8 @@ which allow to edit the following objects:
<li/>
<p style="margin-bottom: 0cm"><tt class="western">TestSuite:</tt>
Its editor allows to modify inputs and expected outputs of each test
step. It also provides markers (pass/fail) which compare the values
saved as expected and simulated (the simulation might not be up to
step. The editor also shows (with a pass/fail symbol) if the values
expected outputs and the simulated ones coincide (notice that the simulation might not be up to
date).
</p>
<li/>
......
......@@ -16,7 +16,7 @@
<body lang="en-US" dir="ltr">
<h1>Developer Documentation for <i>AF3 Testing</i>
<i>(</i><tt class="western"><i>org.fortiss.af3.testing</i></tt><i>)</i></h1>
<h2 class="western">Plug-in description
<h2 class="western">Package description
</h2>
<p>The AF3 testing plug-in contains everything related to test case
generation and execution (simulation).</p>
......@@ -26,47 +26,44 @@ implementation, etc, the following classes/packages:</p>
<ul>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">generator.modelchecking.GenerateTestSuiteCommand:</tt>
it creates the <tt class="western">ITestSuiteGenerator</tt> and
It creates the <tt class="western">ITestSuiteGenerator</tt> and
calls the <tt class="western">generate()</tt> method for each type
of coverage that is active.</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">generator.modelchecking.VerifyTestSuiteCommand:</tt>
it checks that the expected and simulated outputs coincide.
Currently only used for checking refinement. It is probably
deprecated.</p>
It checks that the expected and simulated outputs coincide.
Currently only used for checking refinement. Deprecated.</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">method.random.generator:</tt>
it implements the <tt class="western">ITestSuiteGenerator</tt> for
It implements the <tt class="western">ITestSuiteGenerator</tt> for
random criteria.</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">pref:</tt>
default values for parameters used in the test case generation, e.g.
Default values for parameters used in the test case generation, e.g.
number of steps, min/max values, NoVal probability, etc.</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">simulator.TestCaseSimulator:</tt>
it takes care of the simulation, creating <tt class="western">ExecutableComponent</tt>s
It takes care of the simulation, creating <tt class="western">ExecutableComponent</tt>s
and calling the corresponding <tt class="western">performStep()</tt>
method that does a complete single simulation step: a pre-step, the
method that does a complete single simulation step: A pre-step, the
step itself and a post-step. It can also set simulated/expected
outputs or compare both.
</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">simulator.TestCaseExecutableComponent:</tt>
it wraps one or more real <tt class="western">ExecutableComponent</tt>s,
It wraps one or more real <tt class="western">ExecutableComponent</tt>s,
which it contains as subExecutables. In every step the
<tt class="western">TestCaseExecutableComponent</tt> passes the
input values from the test case to the subExecutables.</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">statistics:</tt>
it only contains Listeners. Most of the statistics related methods
are in the utils package. This package will probably change/be
removed once the testing plug-in is re-implemented.</p>
It only contains Listeners. Most of the statistics related methods
are in the utils package. This package will be changed/removed once the testing plug-in is re-implemented. Deprecated</p>
<li/>
<p style="margin-bottom: 0cm"><tt class="western">validator.platform.*:</tt>
the idea of these packages was to execute the test cases in the
The idea of these packages was to execute the test cases in the
generated code (rather than in the design) using the abstractions
(interfaces) provided by the generic platform. This has not been
used/tested in a long time and it is probably deprecated.</p>
(interfaces) provided by the generic platform. Deprecated.</p>
</ul>
<h2 class="western">Metamodel description
</h2>
......@@ -74,19 +71,19 @@ implementation, etc, the following classes/packages:</p>
and related constrains.</p>
<ul>
<li/>
<p><tt class="western">TestSuiteSpecification</tt>: these
<p><tt class="western">TestSuiteSpecification</tt>: These
specifications can be used to automatically generate <tt class="western">TestSuite</tt>s
using certain testing criteria. The specification allows to relate a
<tt class="western">TestSuite</tt> with the <tt class="western">Component</tt>
where it will be executed using the <tt class="western">getComponent()</tt>
method.</p>
<li/>
<p><tt class="western">TestSuiteSpecificationPart</tt>: base
<p><tt class="western">TestSuiteSpecificationPart</tt>: Base
Class that will be extended to define different coverage criteria.
The active attribute is used to decide which can of coverage shall
The active attribute is used to decide which kind of testing coverage shall
be fulfilled by the generation.</p>
<li/>
<p><tt class="western">TestSuite</tt>: each test suite
<p><tt class="western">TestSuite</tt>: Each test suite
contains several <tt class="western">TestCase</tt>s. It is related
to the <tt class="western">InputPort</tt>s and <tt class="western">OutputPort</tt>s
of the <tt class="western">Component</tt> where the test suite is
......@@ -96,11 +93,11 @@ and related constrains.</p>
and therefore it allows to implement constraints related to the
status of the test suite (e.g. pass/fail/outdated).</p>
<li/>
<p><tt class="western">TestCase</tt>: each test case contains
<p><tt class="western">TestCase</tt>: Each test case contains
several <tt class="western">TestStep</tt>s. Each test case belongs
to a unique <tt class="western">TestSuite</tt>.</p>
<li/>
<p><tt class="western">TestStep</tt>: each test step contains
<p><tt class="western">TestStep</tt>: Each test step contains
several <tt class="western">TestInput</tt>s and <tt class="western">TestOutput</tt>s.
Each test step belongs to a unique <tt class="western">TestCase</tt>.</p>
<li/>
......@@ -121,55 +118,55 @@ and <tt class="western">constraintResults</tt> are deprecated. The
related features are planned to be re-implemented.
</p>
<p>The random-specification-model metamodel describes a particular
case of a <tt class="western">TestSuiteSpecificationPart</tt>: random
case of a <tt class="western">TestSuiteSpecificationPart</tt>: Random
criteria.</p>
<ul>
<li/>
<p><tt class="western">RandomSpecificationPart</tt>: it
<p><tt class="western">RandomSpecificationPart</tt>: It
extends <tt class="western">TestSuiteSpecificationPart</tt> with the
number of test cases, their min/max length and several <tt class="western">PortBinding</tt>.</p>
<li/>
<p><tt class="western">PortBinding</tt>: it links the
<p><tt class="western">PortBinding</tt>: It links the
specification with the <tt class="western">InputPort</tt>s and their
<tt class="western">DataProfile</tt> which defines the probability
of values that can be assigned to the port.</p>
<li/>
<p><tt class="western">DataProfile</tt>: base data profile. It
<p><tt class="western">DataProfile</tt>: Base data profile. It
contains the change probability for possible values and the
probability of the value to be assigned to NoVal.</p>
<li/>
<p><tt class="western">NumberProfile</tt>: it extends
<p><tt class="western">NumberProfile</tt>: It extends
<tt class="western">DataProfile</tt> with the probability to change
the value w.r.t. the previous value in the <tt class="western">DataProfile</tt>.</p>
<li/>
<p><tt class="western">IntegerProfile</tt>: it extends
<p><tt class="western">IntegerProfile</tt>: It extends
<tt class="western">NumberProfile</tt> with the min/max possible
values.</p>
<li/>
<p><tt class="western">DoubleProfile</tt>: it extends
<p><tt class="western">DoubleProfile</tt>: It extends
<tt class="western">NumberProfile</tt> with the min/max possible
values.</p>
<li/>
<p><tt class="western">BoolProfile</tt>: it extends
<p><tt class="western">BoolProfile</tt>: It extends
<tt class="western">DataProfile</tt> with the probability of the
value to be assigned to <font face="Liberation Mono, monospace">True</font>.</p>
<li/>
<p><tt class="western">EnumerationProfile</tt>: it extends
<p><tt class="western">EnumerationProfile</tt>: It extends
<tt class="western">DataProfile</tt> with a
<tt class="western">EnumerationMemberBinding</tt>.</p>
<li/>
<p><tt class="western">EnumerationMemberBinding</tt>: it
<p><tt class="western">EnumerationMemberBinding</tt>: It
relates each <tt class="western">EnumerationMember</tt> with the
probability of the value to be assigned to that member.</p>
<li/>
<p><tt class="western">StructureProfile</tt>: it extends
<p><tt class="western">StructureProfile</tt>: It extends
<tt class="western">DataProfile</tt> with a <tt class="western">StructureMemberBinding</tt>.</p>
<li/>
<p><tt class="western">StructureMemberBinding</tt>: it relates
<p><tt class="western">StructureMemberBinding</tt>: It relates
each <tt class="western">StructureMember</tt> with the probability
of the value to be assigned to that member.</p>
<li/>
<p><tt class="western">ArrayProfile</tt>: it relates an <tt class="western">Array</tt>
<p><tt class="western">ArrayProfile</tt>: It relates an <tt class="western">Array</tt>
with a <tt class="western">DataProfile</tt>.</p>
</ul>
</body>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment