Commit 9b21aa03 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

Testing-Doc: RED

Issue-Ref: 3484
Issue-Url: https://af3-developer.fortiss.org/issues/3484

Signed-off-by: Alexander Diewald's avatarAlexander Diewald <diewald@fortiss.org>
parent b64d6a77
documentation.html 248cbba78e32b22ec5922b8dcc401768cece77ac YELLOW
documentation.html 5424d85823be76f9266de332d6882e773f92fc52 RED
......@@ -3,22 +3,43 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"/>
<title></title>
<meta name="generator" content="LibreOffice 6.0.4.2 (Windows)"/>
<meta name="generator" content="LibreOffice 6.0.5.2 (Windows)"/>
<meta name="created" content="00:00:00"/>
<meta name="changed" content="2018-06-12T17:01:47.438000000"/>
<meta name="changed" content="2018-08-22T17:10:07.622000000"/>
<meta name="created" content="00:00:00">
<meta name="created" content="00:00:00">
<style type="text/css">
tt.cjk { font-family: "NSimSun", monospace }
</style>
</head>
<body lang="en-US" dir="ltr">
<h1>Developer Documentation for the <i>AF3 Testing GUI
(</i><i>org.fortiss.af3.testing.ui</i><i>)</i></h1>
(org.fortiss.af3.testing.ui)</i></h1>
<h1><font size="5" style="font-size: 20pt">Plug-in description</font></h1>
<p>UI plug-in for org.fortiss.af3.testing. It hosts dedicated editors which allow to edit the following objects: </p>
<p>UI plug-in for org.fortiss.af3.testing. It hosts dedicated editors
which allow to edit the following objects:
</p>
<ul>
<li><tt>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 date).
<li><tt>TestSuiteSpecification:</tt> its editor allows to configure the different parameters to generate a test suite with a certain coverage. Currently only random coverage is supported.
<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
date).
</p>
<li/>
<p><tt class="western">TestSuiteSpecification:</tt> Its editor
allows to configure the different parameters to generate a test
suite with a certain coverage. Currently, only random coverage is
supported.
</p>
</ul>
The package <tt>editor.statics</tt> is currently deprecated since transition and state coverage and not yet supported. <br>
The package <tt>view</tt> implements the two possible views for a test case: the main view where the test suite can be modified and the simulation view.
<p>The package <tt class="western">editor.statics</tt> is currently
deprecated since transition and state coverage and not yet supported.
<br/>
The package <tt class="western">view</tt> implements the two
possible views for a test case: the main view where the test suite
can be modified and the simulation view.
</p>
</body>
</html>
</html>
\ No newline at end of file
documentation.html 5c0210d82ec12f14c4fe01337234ad4a3ef7c37c YELLOW
documentation.html 033a23e0da91f579b0d4bd01d347732d36362e05 RED
......@@ -3,9 +3,10 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"/>
<title></title>
<meta name="generator" content="LibreOffice 6.0.4.2 (Windows)"/>
<meta name="generator" content="LibreOffice 6.0.5.2 (Windows)"/>
<meta name="created" content="00:00:00"/>
<meta name="changed" content="2018-06-14T09:04:06.059000000"/>
<meta name="changed" content="2018-08-22T17:24:46.890000000"/>
<meta name="created" content="00:00:00">
<style type="text/css">
h2.cjk { font-family: "SimSun" }
h2.ctl { font-family: "Lucida Sans" }
......@@ -13,64 +14,163 @@
</style>
</head>
<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>
<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>
<p>The AF3 testing plug-in contains everything related to test case generation and execution (simulation).</p>
<p>The AF3 testing plug-in contains everything related to test case
generation and execution (simulation).</p>
<p>The plug-in contains, besides general classes like compositors,
constraints (to be removed when constraints are unified), model
implementation, etc, the following classes/packages:</p>
<ul>
<li/>
<p style="margin-bottom: 0in"><tt class="western">generator.modelchecking.GenerateTestSuiteCommand:</tt> 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>
<p style="margin-bottom: 0cm"><tt class="western">generator.modelchecking.GenerateTestSuiteCommand:</tt>
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: 0in"><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>
<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>
<li/>
<p style="margin-bottom: 0in"><tt class="western">method.random.generator:</tt> it implements the <tt class="western">ITestSuiteGenerator</tt> for random criteria.</p>
<p style="margin-bottom: 0cm"><tt class="western">method.random.generator:</tt>
it implements the <tt class="western">ITestSuiteGenerator</tt> for
random criteria.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">pref:</tt> default values for parameters used in the test case generation, e.g. number of steps, min/max values, NoVal probability, etc.</p>
<p style="margin-bottom: 0cm"><tt class="western">pref:</tt>
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: 0in"><tt class="western">simulator.TestCaseSimulator:</tt> it takes care of the simulation, creating <tt class="western">ExecutableComponent</tt>s and calling the corresponding <tt class="western">performStep()</tt> method which 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>
<p style="margin-bottom: 0cm"><tt class="western">simulator.TestCaseSimulator:</tt>
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
step itself and a post-step. It can also set simulated/expected
outputs or compare both.
</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">simulator.TestCaseExecutableComponent:</tt> 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>
<p style="margin-bottom: 0cm"><tt class="western">simulator.TestCaseExecutableComponent:</tt>
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: 0in"><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>
<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>
<li/>
<p style="margin-bottom: 0in"><tt class="western">validator.platform.*:</tt> 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>
<p style="margin-bottom: 0cm"><tt class="western">validator.platform.*:</tt>
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>
</ul>
<h2 class="western">Metamodel description
</h2>
<p>The testing metamodel describes test cases, coverage, statistics and related constrains.</p>
<p>The testing metamodel describes test cases, coverage, statistics
and related constrains.</p>
<ul>
<li/> <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> whit 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 Class that will be extended to define different coverage criteria. The active attributed is used to decide which can of coverage shall be fulfilled by the generation.</p>
<li/> <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 executed. Such component is related to the test suite by means of the <tt class="western">TestSuiteSpecification</tt> from where the test suite was generated. The Class extends <tt class="western">IConstrained</tt> 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 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 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/> <p><tt class="western">TestInput</tt>: Class representing inputs of a <tt class="western">TestStep</tt>. Its concrete value is given as a <tt class="western">ITerm</tt>. Each input belongs to a unique <tt class="western">TestStep</tt>.</p>
<li/> <p><tt class="western">TestOutput</tt>: Class representing outputs of a <tt class="western">TestStep</tt>. Its expected value is given as a <tt class="western">ITerm</tt>. Simulated values (also <tt class="western">ITerm</tt>s) are kept to evaluate if the output generated by the <tt class="western">Component</tt> matches the expected output). Each output belongs to a unique <tt class="western">TestStep</tt>.</p>
<li/>
<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
Class that will be extended to define different coverage criteria.
The active attribute is used to decide which can of coverage shall
be fulfilled by the generation.</p>
<li/>
<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
executed. Such component is related to the test suite by means of
the <tt class="western">TestSuiteSpecification</tt> from where the
test suite was generated. The Class extends <tt class="western">IConstrained</tt>
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
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
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/>
<p><tt class="western">TestInput</tt>: Class representing
inputs of a <tt class="western">TestStep</tt>. Its concrete value is
given as a <tt class="western">ITerm</tt>. Each input belongs to a
unique <tt class="western">TestStep</tt>.</p>
<li/>
<p><tt class="western">TestOutput</tt>: Class representing
outputs of a <tt class="western">TestStep</tt>. Its expected value
is given as a <tt class="western">ITerm</tt>. Simulated values (also
<tt class="western">ITerm</tt>s) are kept to evaluate if the output
generated by the <tt class="western">Component</tt> matches the
expected output). Each output belongs to a unique <tt class="western">TestStep</tt>.</p>
</ul>
The sub-models <tt class="western">statistics</tt>, <tt class="western">coverage</tt> and <tt class="western">constraintResults</tt> are deprecated. The related features are planned to be re-implemented.
<p>The random-specification-model metamodel describes a particular case of a <tt class="western">TestSuiteSpecificationPart</tt>: random criteria.</p>
<p>The sub-models <tt class="western">statistics</tt>, <tt class="western">coverage</tt>
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
criteria.</p>
<ul>
<li/> <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 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 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 <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 <tt class="western">NumberProfile</tt> with the min/max possible values.</p>
<li/> <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 <tt class="western">DataProfile</tt> with the probability of the value to be assigned to True.</p>
<li/> <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 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 <tt class="western">DataProfile</tt> with a <tt class="western">StructureMemberBinding</tt>.</p>
<li/> <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> with a <tt class="western">DataProfile</tt>.</p>
<li/>
<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
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
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
<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
<tt class="western">NumberProfile</tt> with the min/max possible
values.</p>
<li/>
<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
<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
<tt class="western">DataProfile</tt> with a
<tt class="western">EnumerationMemberBinding</tt>.</p>
<li/>
<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
<tt class="western">DataProfile</tt> with a <tt class="western">StructureMemberBinding</tt>.</p>
<li/>
<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>
with a <tt class="western">DataProfile</tt>.</p>
</ul>
</body>
</html>
\ No newline at end of file
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