diff --git a/org.fortiss.af3.rcp.application/html/.ratings b/org.fortiss.af3.rcp.application/html/.ratings index 8c2822e46e8be1901ac2f98e6634fc396af30073..c836ea7def025c7ddaef6c2f5486608fd8c9a60d 100644 --- a/org.fortiss.af3.rcp.application/html/.ratings +++ b/org.fortiss.af3.rcp.application/html/.ratings @@ -23,6 +23,7 @@ hierarchical_state_automaton.html cebd924f514cd50f229c7745e173f76bd0c0038b RED library.html 4dcbc369f70cc5ba943404da07e15955df65b3fc RED loading_standard_examples.html a2693477f0afb902f2899d12b3166f01378f6d8d RED manual_deployment.html 91f2636b00d59253f7007864d4e0ebdd0b713dad RED +mcdc.html e2c759d71cf926540a34cae6b5c65e3899dd7e36 GREEN mode_automaton.html dc395eab03cb6920580f54e317c3d203e64cb496 RED model_checking_with_af3.html e856030ffeaab17a2f69da94ea76b8b369c30297 RED model_element_attributes.html 627723b0a950a43af5cbe16c9ffd608a951ccf49 RED diff --git a/org.fortiss.af3.rcp.application/html/getting_started.html b/org.fortiss.af3.rcp.application/html/getting_started.html index 7a26d95b262da05052c6e798b22e01eb9c49da18..a78f8a7241c456755c739834ccdaeddd9de88d08 100644 --- a/org.fortiss.af3.rcp.application/html/getting_started.html +++ b/org.fortiss.af3.rcp.application/html/getting_started.html @@ -122,7 +122,7 @@ Getting started help page. <img alt="" border="1" height="200" hspace="80" src="gettingStarted/img/WAF3verification.png" width="200" /><br /> <p style="margin-left: 50px;"><a href="model_markers_view.html">On the Fly Checks</a><br /> - <a href="model_testing.html">Model Based Testing</a><br /> + <a href="mcdc.html">MCDC Test Case generation</a><br /> <a href="refinement_testing.html">Refinement Testing</a><br /> <a href="non_determinism_analysis.html">Nondeterminism Analysis</a><br /> <a href="reachability_analysis.html">Reachability Analysis</a><br /> diff --git a/org.fortiss.af3.rcp.application/html/mcdc.html b/org.fortiss.af3.rcp.application/html/mcdc.html new file mode 100644 index 0000000000000000000000000000000000000000..e2c759d71cf926540a34cae6b5c65e3899dd7e36 --- /dev/null +++ b/org.fortiss.af3.rcp.application/html/mcdc.html @@ -0,0 +1,48 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>MCDC Test Case Generation</title> +</head> +<body> + +<h2><font color="#336699"><u>MCDC Test Case Generation</u></font></h2> +<p> +AF3 has a semi-formal language to write requirements that allows to automatically generate test cases fulfilling the MCDC (Modified Condition/Decision Coverage) criterion. +Such requirements specify the value of outputs based on the value of input, thus the interface (inputs / outputs) shall be clearly defined. +Requirements are written using an if-then-else pattern. +</p> +<p> +For example, consider the following requirement: +</p> +<img src="./pictures/mcdc1.png"> +</br> +</br> +<p> +Right-click on the requirement and select "Formal specification aspect", then move to the "Formal aspect" tab. +This will create a component that allows to define the interface. +</p> +<p> +You can add inputs and outputs to the interface using the palette on the right-hand-side. +</p> +<img src="./pictures/mcdc2.png"> + +<p> +In order to formally define the requirement, add a "Code specification" behavior to the component (drag&drop from the palette). +Double-click in the component to open the editor. +The requirement shall follow the if-then-else pattern where the guard (if-part) shall refer to the inputs and the branches (then and else parts) +shall be a list of assignments (one for each output) using only expressions on the inputs and constants. +</p> +<img src="./pictures/mcdc3.png"> + +<p> +Test cases can be automatically created by right-clicking on the requirement and selecting "Generate MCDC". +</p> +<p> +The test suite will be created as a child of the requirement: expand the arrow on the left of the requirement and double-click to open the test suite. +</p> +<img src="./pictures/mcdc4.png"> + +</body> +</html> \ No newline at end of file diff --git a/org.fortiss.af3.rcp.application/html/pictures/mcdc1.png b/org.fortiss.af3.rcp.application/html/pictures/mcdc1.png new file mode 100644 index 0000000000000000000000000000000000000000..71a78cf26dac6e7e4028bd01b1590060d9735940 Binary files /dev/null and b/org.fortiss.af3.rcp.application/html/pictures/mcdc1.png differ diff --git a/org.fortiss.af3.rcp.application/html/pictures/mcdc2.png b/org.fortiss.af3.rcp.application/html/pictures/mcdc2.png new file mode 100644 index 0000000000000000000000000000000000000000..1eabba18d772bd4e2cfcad33aac9e28e087aad3f Binary files /dev/null and b/org.fortiss.af3.rcp.application/html/pictures/mcdc2.png differ diff --git a/org.fortiss.af3.rcp.application/html/pictures/mcdc3.png b/org.fortiss.af3.rcp.application/html/pictures/mcdc3.png new file mode 100644 index 0000000000000000000000000000000000000000..280e054c381ff0b812566a1f84e135af19d3260c Binary files /dev/null and b/org.fortiss.af3.rcp.application/html/pictures/mcdc3.png differ diff --git a/org.fortiss.af3.rcp.application/html/pictures/mcdc4.png b/org.fortiss.af3.rcp.application/html/pictures/mcdc4.png new file mode 100644 index 0000000000000000000000000000000000000000..4035e63b2f74f0f62b5a53c9b813a5fe5cec9018 Binary files /dev/null and b/org.fortiss.af3.rcp.application/html/pictures/mcdc4.png differ