<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Modell basiertes Testen bzw. MDA fürs Testen]]></title><description><![CDATA[<p>Hallo, ich wollte mal ein paar Meinungen zum Thema Modell basiertes Testen hören.<br />
MbT ist sehr nah mit der MDA verwandt, und daher ist MDA wohl auch ein Thema für diesen Thread.</p>
<p>Dies soll jedoch keine allgemeine Disskussion über MbT, MDA oder UML sein.<br />
Sondern mir geht es um eine konkrete Anwendung dieser Techniken an einem Beispiel.<br />
Wie schon erwähnt, geht es vorrangig um das Testen eines Modells, und weniger um modellgetriebene Softwareentwicklung.</p>
<p>Aber zunächst einmal mein Beispiel:</p>
<p>Getestet werden soll eine Art Verzweigungsstruktur, welche sich z.b. mit Hilfe eines Status/Aktivitätsdiagrams festhalten ließe.<br />
Es ließe sich aber auch als if-else Verzweigung darstellen:</p>
<pre><code class="language-cpp">//aktion/test
if(antwort=&quot;ja&quot;)
{
   //aktion/test
   if(antwort=&quot;1&quot;)
      //aktion/test
   else if(antwort=&quot;2&quot;)
      //aktion/test
   else
      //aktion/test
}
else
{
   //aktion/test
   if(antwort=&quot;ja&quot;)
      //aktion/test
   else if(antwort=&quot;?&quot;)
      //aktion/test
}
</code></pre>
<p>Das Beispiel ist absichtlich abstrakt gehalten, die Modelle sind grob gesagt Bäume mit einem Anfangsknoten, und jeder weitere Knoten hat 1-n Verzweigungen. Und genau diese Modelle sollen nun getested werden, auf alle Verzweigungen. Bisher wird dort sehrviel Händisch in den Testfällen gearbeitet, welches aber natürlich sehr arbeitsaufwendig ist. Und da unsere Modelle mit der Zeit immer komplexer werden, müssen wir nun einen anderen Ansatz für das Testen suchen, da es händisch nicht mehr leistbar/bezahlbar ist.</p>
<p>Hier kommt jetzt MbT bzw. MDA ins Spiel. Da wir ja durch die vorliegenden Verzweigungen ein Modell besitzen, gegen das man das Testsystem testen kann, ist unser Gedanke, mittels der MbT aus diesen Modellen unsere Testfälle zu generieren.</p>
<p>Ich suche nun Anregungen/Kritik zu unserem (geplanten) Vorgehen sowie interessieren mich die Vor- und Nachteile von Modell basiertem Testen.</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183085/modell-basiertes-testen-bzw-mda-fürs-testen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 00:47:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183085.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Jun 2007 11:54:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 11:59:17 GMT]]></title><description><![CDATA[<p>Hallo, ich wollte mal ein paar Meinungen zum Thema Modell basiertes Testen hören.<br />
MbT ist sehr nah mit der MDA verwandt, und daher ist MDA wohl auch ein Thema für diesen Thread.</p>
<p>Dies soll jedoch keine allgemeine Disskussion über MbT, MDA oder UML sein.<br />
Sondern mir geht es um eine konkrete Anwendung dieser Techniken an einem Beispiel.<br />
Wie schon erwähnt, geht es vorrangig um das Testen eines Modells, und weniger um modellgetriebene Softwareentwicklung.</p>
<p>Aber zunächst einmal mein Beispiel:</p>
<p>Getestet werden soll eine Art Verzweigungsstruktur, welche sich z.b. mit Hilfe eines Status/Aktivitätsdiagrams festhalten ließe.<br />
Es ließe sich aber auch als if-else Verzweigung darstellen:</p>
<pre><code class="language-cpp">//aktion/test
if(antwort=&quot;ja&quot;)
{
   //aktion/test
   if(antwort=&quot;1&quot;)
      //aktion/test
   else if(antwort=&quot;2&quot;)
      //aktion/test
   else
      //aktion/test
}
else
{
   //aktion/test
   if(antwort=&quot;ja&quot;)
      //aktion/test
   else if(antwort=&quot;?&quot;)
      //aktion/test
}
</code></pre>
<p>Das Beispiel ist absichtlich abstrakt gehalten, die Modelle sind grob gesagt Bäume mit einem Anfangsknoten, und jeder weitere Knoten hat 1-n Verzweigungen. Und genau diese Modelle sollen nun getested werden, auf alle Verzweigungen. Bisher wird dort sehrviel Händisch in den Testfällen gearbeitet, welches aber natürlich sehr arbeitsaufwendig ist. Und da unsere Modelle mit der Zeit immer komplexer werden, müssen wir nun einen anderen Ansatz für das Testen suchen, da es händisch nicht mehr leistbar/bezahlbar ist.</p>
<p>Hier kommt jetzt MbT bzw. MDA ins Spiel. Da wir ja durch die vorliegenden Verzweigungen ein Modell besitzen, gegen das man das Testsystem testen kann, ist unser Gedanke, mittels der MbT aus diesen Modellen unsere Testfälle zu generieren.</p>
<p>Ich suche nun Anregungen/Kritik zu unserem (geplanten) Vorgehen sowie interessieren mich die Vor- und Nachteile von Modell basiertem Testen.</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296551</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 01 Jun 2007 11:59:17 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 12:35:26 GMT]]></title><description><![CDATA[<p>Ein paar Ideen dazu</p>
<p>- Alle Prüfgrössen zusammen bilden ein Alphabet.<br />
- Ale Worte die sich mit diesem Alphabet bilden lassen und deren Länge kleiner ist als die maximale Anzahl von Tests über einem Wort bilden die Prüfsemantik.<br />
- Die Erzeugung der Semantik durch Permutation kann maschinell erfolgen<br />
- Die Worte lassen sich auf Bäume abbilden un dso zusammen mit den Ergebnissen z.B. in XML speichern und auswerten.</p>
<p>Allerdings irritiert mich die Verzweigung nach &quot;antwort&quot; so wie Du sie zeigst; wird &quot;antwort&quot; in den Blöcken manipuliert? Sonst dürften einige Zweige redundant sein.</p>
<p>Grüsse</p>
<p>*this</p>
<p>P.S.: Irgendwas hatten die &quot;ENT&quot;-Autoren wohl gegen Vulkanierinnen.<br />
Erst stirbt die Mutter, dann will ihr Kerl die Scheidung, dann stirbt das Kind und am Sonntag ist auch noch Trip fällig...<br />
Haben Sie Mittel gegen vulkanische Depressionen an Bord, Herr Dr. ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296584</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 01 Jun 2007 12:35:26 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 12:45:31 GMT]]></title><description><![CDATA[<p>Gast++ schrieb:</p>
<blockquote>
<p>Ein paar Ideen dazu</p>
<p>- Alle Prüfgrössen zusammen bilden ein Alphabet.<br />
- Ale Worte die sich mit diesem Alphabet bilden lassen und deren Länge kleiner ist als die maximale Anzahl von Tests über einem Wort bilden die Prüfsemantik.<br />
- Die Erzeugung der Semantik durch Permutation kann maschinell erfolgen<br />
- Die Worte lassen sich auf Bäume abbilden un dso zusammen mit den Ergebnissen z.B. in XML speichern und auswerten.</p>
<p>Allerdings irritiert mich die Verzweigung nach &quot;antwort&quot; so wie Du sie zeigst; wird &quot;antwort&quot; in den Blöcken manipuliert? Sonst dürften einige Zweige redundant sein.</p>
</blockquote>
<p>Es lassen sich natürlich bestimmte Verzweigungstest gruppieren/klassifizieren, dennoch verstehe ich nicht ganz was du mit Alphabet meinst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Es wird der Baum ansich getestet, ob sein Inhalt mit dem des Modells übereinstimmt. Somit ist z.b. jeder mögliche Weg durch den Baum ein Test.<br />
Die Generierung der Tests soll automatisiert werden, das siehst du richtig.<br />
Nur weiss ich jetzt nicht, was du mit Worten auf Bäumen willst :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>antwort ist nur ein Platzhalter, wie gesagt enthält der Baum verschiedene Stati, je nach Status wird entschieden in welche Verzweigung gesprungen wird. (ja/nein Verzweigungen z.b.)</p>
<p>Und ich würde diesen Thread gerne frei von Vulkaniern halten... :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296601</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 01 Jun 2007 12:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 13:06:22 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Es lassen sich natürlich bestimmte Verzweigungstest gruppieren/klassifizieren, dennoch verstehe ich nicht ganz was du mit Alphabet meinst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Alphabet Sigma = {&quot;ja&quot;,&quot;1&quot;,&quot;2&quot;,&quot;?&quot;,...}</p>
<p>Semantik P'(Sigma) = { &quot;ja&quot;, &quot;1&quot;, &quot;2&quot;, &quot;?&quot;, &quot;ja ja&quot;, &quot;ja 1&quot;, &quot;ja 2&quot;, &quot;ja ?&quot;, &quot;1 ja&quot;,...}</p>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Es wird der Baum an sich getestet,</p>
</blockquote>
<p>Das &quot;an sich&quot; hat man schon Kant als unhaltbar vorgeworfen; wichtig ist nicht was er ist, sondern wie er wirkt.<br />
Das soll jetzt nicht zur Philosophie (schon gar nicht der vulkanischen *SCNR*) führen sondern hat ganz konkrete Bedeutung, nämlich</p>
<p>phlox81 schrieb:</p>
<blockquote>
<p>was du mit Worten auf Bäumen willst :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>dadurch kann man das Problem formalisieren, unabhängig davon was die Worte konkret repräsentieren.</p>
<p>Grüsse</p>
<p>*this</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296626</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 01 Jun 2007 13:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 13:25:46 GMT]]></title><description><![CDATA[<p>Gast++ schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Es lassen sich natürlich bestimmte Verzweigungstest gruppieren/klassifizieren, dennoch verstehe ich nicht ganz was du mit Alphabet meinst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Alphabet Sigma = {&quot;ja&quot;,&quot;1&quot;,&quot;2&quot;,&quot;?&quot;,...}</p>
<p>Semantik P'(Sigma) = { &quot;ja&quot;, &quot;1&quot;, &quot;2&quot;, &quot;?&quot;, &quot;ja ja&quot;, &quot;ja 1&quot;, &quot;ja 2&quot;, &quot;ja ?&quot;, &quot;1 ja&quot;,...}</p>
</blockquote>
<p>Gut, Alphabet = Klassifizierung, Semantik P' = Gruppierung, allerdings gehts mir weniger um die Problemlösung, als um die Vorgehensweise.<br />
Die Codeerstellung ist dann sowieso auf die einzelnen Entscheidungsblöcke+Verzweigungen angewiesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296648</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 01 Jun 2007 13:25:46 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 13:40:33 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Vorgehensweise.Die Codeerstellung ist dann sowieso auf die einzelnen Entscheidungsblöcke+Verzweigungen angewiesen.</p>
</blockquote>
<p>Dann schreibst Du eine Funktion die alle Worte der Semantik einmal durch den &quot;Dispatcher&quot; (lass uns das komplette if-else-Konstrukt mal so nennen) schickt un die Rückgabe und ggf. Exceptions zusammen mit dem übergebenen &quot;Wort&quot; in einen (XML)Baum logged.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296658</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 01 Jun 2007 13:40:33 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 13:56:11 GMT]]></title><description><![CDATA[<p>Gast++ schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Vorgehensweise.Die Codeerstellung ist dann sowieso auf die einzelnen Entscheidungsblöcke+Verzweigungen angewiesen.</p>
</blockquote>
<p>Dann schreibst Du eine Funktion die alle Worte der Semantik einmal durch den &quot;Dispatcher&quot; (lass uns das komplette if-else-Konstrukt mal so nennen) schickt un die Rückgabe und ggf. Exceptions zusammen mit dem übergebenen &quot;Wort&quot; in einen (XML)Baum logged.</p>
</blockquote>
<p>Es soll aus dem Modell Testcode generiert werden, z.b. ein einzelner durchlauf durch eine Baumroute.<br />
Ein (stark vereinfachtes) Beispiel:</p>
<pre><code class="language-cpp">function testcase1(testobject to)
{
   to.Send(&quot;ja&quot;);
   check(to.Recv());//auf mögliche antwort testen.
   // und in die nächste verzweigung springen:
   to.Send(&quot;1&quot;);
   check(to.Recv());//auf mögliche antwort testen.
   // ende des generierten testfalls
}
</code></pre>
<p>Aber ich glaube wir reden irgendwie aneinander vorbei.<br />
Mir geht es auch mehr um den Ansatz des MbT bzw. MDA, und ob diese sich für das Konkrete Beispiel eignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296668</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 01 Jun 2007 13:56:11 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 14:11:04 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Aber ich glaube wir reden irgendwie aneinander vorbei.</p>
</blockquote>
<p>Meinst Du? Das glaube ich eigentlich nicht:</p>
<p>- Du hast das Modell in irgendeiner Form vorliegen; z.B. als (UML) XMI<br />
- Du bildest das Modell auf Code ab, also generierst Code.<br />
- Jetzt bildest Du das Modell nochmals ab, und zwar auf das beschriebene Alphabet und nutzt eine Funktion, die dynamisch mit dem Resultat dieser Abbildung operiert um das Generat zu testen.</p>
<p>Das ist doch konzeptionell völlig konsistent mit MDA/MBT.<br />
Damit sowas geht macht man doch MDA.</p>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Mir geht es auch mehr um den Ansatz des MbT bzw. MDA, und ob diese sich für das Konkrete Beispiel eignet.</p>
</blockquote>
<p>Dto.!</p>
<p>Grüsse</p>
<p>*this</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296680</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 01 Jun 2007 14:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 14:28:30 GMT]]></title><description><![CDATA[<p>Gast++ schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Aber ich glaube wir reden irgendwie aneinander vorbei.</p>
</blockquote>
<p>Meinst Du? Das glaube ich eigentlich nicht:</p>
<p>- Du hast das Modell in irgendeiner Form vorliegen; z.B. als (UML) XMI<br />
- Du bildest das Modell auf Code ab, also generierst Code.</p>
<p>- Jetzt bildest Du das Modell nochmals ab, und zwar auf das beschriebene Alphabet und nutzt eine Funktion, die dynamisch mit dem Resultat dieser Abbildung operiert um das Generat zu testen.</p>
</blockquote>
<p>jo. Das Modell wird aus einem Format (MOF/UML/XMI) geladen, und mit hilfe von vorgefertigten Mustern/Klassifizierungen/Gruppierungen<br />
in Testfälle übersetzt, welche dann los gelöst von diesem Prozess den eigentlichen Test fahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296695</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 01 Jun 2007 14:28:30 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 14:43:06 GMT]]></title><description><![CDATA[<p><a href="http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&amp;AID=2061&amp;Table=sd_article" rel="nofollow">http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&amp;AID=2061&amp;Table=sd_article</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296705</guid><dc:creator><![CDATA[Prof84]]></dc:creator><pubDate>Fri, 01 Jun 2007 14:43:06 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 14:51:11 GMT]]></title><description><![CDATA[<p>Prof84 schrieb:</p>
<blockquote>
<p><a href="http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&amp;AID=2061&amp;Table=sd_article" rel="nofollow">http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&amp;AID=2061&amp;Table=sd_article</a></p>
</blockquote>
<p>Kommt dazu noch ne These... ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296712</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 01 Jun 2007 14:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to Modell basiertes Testen bzw. MDA fürs Testen on Fri, 01 Jun 2007 15:51:01 GMT]]></title><description><![CDATA[<p>Prof84 schrieb:</p>
<blockquote>
<p><a href="http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&amp;AID=2061&amp;Table=sd_article" rel="nofollow">http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&amp;AID=2061&amp;Table=sd_article</a></p>
</blockquote>
<p>Der Artikel ist nicht mehr öffentlich zugänglich. Und 2.50€ für eine PDF Datei finde ich dann doch was viel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Kannst du denn sonst noch was zu dem Thema beitragen/sagen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296766</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 01 Jun 2007 15:51:01 GMT</pubDate></item></channel></rss>