„Modellbasiertes Testen“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Apu 42 (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
typo
 
(10 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Modellbasiertes Testen (MBT)''' ist ein Oberbegriff für die Nutzung von [[Modell|Modellen]] zur
'''Modellbasiertes Testen''' ({{enS|''model-based testing''}}, ''MBT'') ist ein Oberbegriff für die Nutzung von [[Modell]]en zur Automatisierung von Testaktivitäten und zur Generierung von Testartefakten im Testprozess. Darunter fällt insbesondere die Generierung von [[Testfall|Testfällen]] aus Modellen (z. B. unter Verwendung der [[Unified Modeling Language|UML]]), die das Sollverhalten des zu testenden Systems beschreiben.
* Automatisierung von Testaktivitäten
* Generierung von Testartefakten im Testprozess.
Darunter fällt insbesondere die Generierung von [[Testfall|Testfällen]] aus Modellen (z. B. unter Verwendung der [[Unified Modeling Language|UML]]), die das Sollverhalten des zu testenden Systems beschreiben.


== Ziele und Nutzen ==
== Ziele und Nutzen ==
Zeile 10: Zeile 7:
== Modellkategorien für MBT ==
== Modellkategorien für MBT ==


Beim MBT wird die zu testende Software oder ihre Umgebung (z. B. in Form von Nutzungsprofilen) oder eben der Test selbst als Verhaltens- und/oder Strukturmodell dargestellt. [Roßner 2010] unterscheidet folglich zwischen
Beim MBT wird die zu testende Software oder ihre Umgebung (z. B. in Form von Nutzungsprofilen) oder eben der Test selbst als Verhaltens- und/oder Strukturmodell dargestellt. Roßner unterscheidet folglich zwischen
* Systemmodellen
* Systemmodellen
* Umgebungsmodellen
* Umgebungsmodellen
* Testmodellen
* Testmodellen
im MBT-Einsatz.<ref name="rossner">T. Roßner, C. Brandes, H. Götz, M. Winter: ''Basiswissen Modellbasierter Test''. dpunkt-Verlag, 2010, ISBN 3-898-64589-4</ref><!--Welche Seiten???-->
im MBT-Einsatz.


''Systemmodelle'' beschreiben Anforderungen an das Softwaresystem und können in Form von Analyse- oder Design-Modellen vorliegen. Sie fokussieren i.A. nicht den Test und beinhalten deshalb insbesondere keine Testdaten (i.S. einer Stichprobe aus allen möglichen Eingabedaten in das System). Folglich kann eine Generierung auf solchen Modellen maximal zu abstrakten [[Testfall|Testfällen]] (d.h. ohne Angabe konkreter Werte für Testdaten) führen.
''Systemmodelle'' beschreiben Anforderungen an das Softwaresystem und können in Form von Analyse- oder Design-Modellen vorliegen. Sie fokussieren im Allgemeinen nicht den Test und beinhalten deshalb insbesondere keine Testdaten (im Sinne einer Stichprobe aus allen möglichen Eingabedaten in das System). Folglich kann eine Generierung auf solchen Modellen maximal zu abstrakten [[Testfall|Testfällen]] (das heißt ohne Angabe konkreter Werte für Testdaten) führen.


''Testmodelle'' können aus vorhandenen Systemmodellen entstehen, bieten aber mehr Möglichkeiten für den Test. Sie beschreiben den Test eines Systems und bilden Testentscheidungen, die ein Tester vielleicht nur „im Kopf“ gefällt hat, explizit ab. So können in ihnen nicht nur Abläufe von Testschritten, sondern [[Testdaten]], Prüfschritte und ggf. Testorakel modelliert werden. Als Folge wird es möglich, aus ihnen nicht nur abstrakte, sondern konkrete, ja sogar vollständige und ausführbare Testfälle zu generieren. Verwendet man in Testmodellen eine schlüsselwortbasierte Notation für Testschritte (siehe [[Keyword-Driven Testing]]), können sogar automatisiert ausführbare Testfälle entstehen.
''Testmodelle'' können aus vorhandenen Systemmodellen entstehen, bieten aber mehr Möglichkeiten für den Test. Sie beschreiben den Test eines Systems und bilden Testentscheidungen, die ein Tester vielleicht nur „im Kopf“ gefällt hat, explizit ab. So können in ihnen nicht nur Abläufe von Testschritten, sondern [[Testdaten]], Prüfschritte und ggf. Testorakel modelliert werden. Als Folge wird es möglich, aus ihnen nicht nur abstrakte, sondern konkrete, ja sogar vollständige und ausführbare Testfälle zu generieren. Verwendet man in Testmodellen eine schlüsselwortbasierte Notation für Testschritte (siehe [[Keyword-Driven Testing]]), können sogar automatisiert ausführbare Testfälle entstehen.


Testmodelle setzen aber bei den Testern Kenntnisse in der Erstellung von Modellen voraus. Diese Skillanforderung kann entscheidend für den Erfolg einer MBT-Einführung sein.
Testmodelle setzen aber bei den Testern Kenntnisse in der Erstellung von Modellen voraus. Das Vorhandensein dieser Fähigkeit kann entscheidend für den Erfolg einer MBT-Einführung sein.


== MBT-Ausprägungen ==
== MBT-Ausprägungen ==


Je nachdem, welche Modellkategorien zum Einsatz kommen und welche Rolle die Modelle im modellbasierten Testprozess spielen, kann man von unterschiedlichen Ausprägungen und Reifegraden von MBT sprechen. [Roßner 2010] definiert die folgenden:
Je nachdem, welche Modellkategorien zum Einsatz kommen und welche Rolle die Modelle im modellbasierten Testprozess spielen, kann man von unterschiedlichen Ausprägungen und Reifegraden von MBT sprechen. Roßner definiert die folgenden:<ref name="rossner" />
* Beim ''modellorientierten Testen'' dienen Modelle als Leitfaden und Grundlage für das Testdesign, ohne dass zwingend Generatoren zum Einsatz kommen müssen. Da Modelle im Vergleich zu natürlichsprachlichen Anforderungsspezifikationen deutliche Qualitätsvorteile mit sich bringen können, profitiert schon hier die Testqualität.
* Beim ''modellorientierten Testen'' dienen Modelle als Leitfaden und Grundlage für das Testdesign, ohne dass zwingend Generatoren zum Einsatz kommen müssen. Da Modelle im Vergleich zu natürlichsprachlichen Anforderungsspezifikationen deutliche Qualitätsvorteile mit sich bringen können, profitiert schon hier die Testqualität.
* ''Modellgetriebenes Testen'' bezeichnet den Einsatz von Generatoren, um Testartefakte, insb. Testfälle, aus Modellen zu generieren. Häufig handelt es sich hierbei aber um eine unidirektionale Werkzeug-Einbahnstraße, bei der z.&nbsp;B. die Testergebnisse nicht ins Modell zurück übertragen werden.
* ''Modellgetriebenes Testen'' bezeichnet den Einsatz von Generatoren, um Testartefakte, insb. Testfälle, aus Modellen zu generieren. Häufig handelt es sich hierbei aber um eine unidirektionale Werkzeug-Einbahnstraße, bei der z.&nbsp;B. die Testergebnisse nicht ins Modell zurück übertragen werden.
Zeile 31: Zeile 28:
== MBT-Werkzeuge ==
== MBT-Werkzeuge ==


Je nachdem, welche Modelle Grundlage der Testgenerierung sein sollen und wie weit die Generierung reichen soll, ist der Einsatz von kommerziellen Generatoren oder die Eigenentwicklung eines Generators vorzusehen. Eine Übersicht über kommerzielle MBT-Werkzeuge ist zu finden in [Götz 2009]. Ebenfalls findet man darin folgende Taxonomie für MBT-Werkzeuge:
Je nachdem, welche Modelle Grundlage der Testgenerierung sein sollen und wie weit die Generierung reichen soll, ist der Einsatz von kommerziellen Generatoren oder die Eigenentwicklung eines Generators vorzusehen. Eine Übersicht über kommerzielle MBT-Werkzeuge ist zu finden bei H. Götz.<ref>H. Götz et al.: ''iX-Studie Modellbasiertes Testen''. Heise Zeitschriften Verlag, Hannover, 2009</ref><!--Auf welchen Seiten???-->
Ebenfalls findet man darin folgende Taxonomie für MBT-Werkzeuge:
* ''Modellbasierte Testdatengeneratoren'' sind Werkzeuge, die basierend auf einem Modell der Eingangs- und Ausgangsdaten des Testobjekts und bestimmten Steuerinformationen Testdaten für die Erstellung von abstrakten und/oder konkreten Testfällen erzeugen. (Beispiel: CTE, siehe [[Klassifikationsbaum-Methode]])
* ''Modellbasierte Testdatengeneratoren'' sind Werkzeuge, die basierend auf einem Modell der Eingangs- und Ausgangsdaten des Testobjekts und bestimmten Steuerinformationen Testdaten für die Erstellung von abstrakten und/oder konkreten Testfällen erzeugen. (Beispiel: CTE, siehe [[Klassifikationsbaum-Methode]])
* ''Modellbasierte Testfalleditoren'' sind Werkzeuge, die basierend auf einem abstrakten Modell von Testfällen konkrete Repräsentationen des Testfalls zur manuellen Durchführung bzw. Testskripte zur automatischen Testdurchführung erzeugen.
* ''Modellbasierte Testfalleditoren'' sind Werkzeuge, die basierend auf einem abstrakten Modell von Testfällen konkrete Repräsentationen des Testfalls zur manuellen Durchführung bzw. Testskripte zur automatischen Testdurchführung erzeugen.
* ''Modellbasierte Testfallgeneratoren'' sind Werkzeuge, die basierend auf einem Modell des Systemverhaltens, der Systemumgebung oder des Tests sowie bestimmter Steuerinformationen mehrere (logisch zusammengehörende) Testfälle bzw. Testskripte automatisch nach konfigurierbaren Abdeckungskriterien erzeugen.
* ''Modellbasierte Testfallgeneratoren'' sind Werkzeuge, die basierend auf einem Modell des Systemverhaltens, der Systemumgebung oder des Tests sowie bestimmter Steuerinformationen mehrere (logisch zusammengehörende) Testfälle bzw. Testskripte automatisch nach konfigurierbaren Abdeckungskriterien erzeugen.


Eine andere und komplexere Taxonomie ist zu finden in [Utting 2007].
Eine andere und komplexere Taxonomie ist zu finden bei M. Utting.<ref>M. Utting, B. Legeard: ''Practical Model-Based Testing – A Tools Approach''. Morgan Kaufmann Publ., Amsterdam, 2007, ISBN 0-123-72501-1</ref><!--Auf welchen Seiten???-->


In der Regel wird es nötig sein, die [[Testabdeckung]] beim Generiervorgang steuern zu können. Typischerweise finden hierbei die aus den [[White-Box-Test]]-Verfahren bekannten graphenbasierten Abdeckungsmaße Verwendung (siehe [[Kontrollflussorientierte Testverfahren]]), aber es sind auch andere Abdeckungsstrategien denkbar (z.&nbsp;B. aufgrund von Risikoinformationen im Modell).
In der Regel wird es nötig sein, die [[Testabdeckung]] beim Generiervorgang steuern zu können. Typischerweise finden hierbei die aus den [[White-Box-Test]]-Verfahren bekannten graphenbasierten Abdeckungsmaße Verwendung (siehe [[Kontrollflussorientierte Testverfahren]]), aber es sind auch andere Abdeckungsstrategien denkbar (z.&nbsp;B. aufgrund von Risikoinformationen im Modell).


Vor der Generierung ist es i.A. unverzichtbar, nicht nur den Generator zu testen, sondern die zu verarbeitenden Modelle geeigneten QS-Maßnahmen zuzuführen. Dazu zählen z.&nbsp;B. [[Review (Softwaretest)|Reviews]], werkzeuggestützte Prüfungen gegen Metamodelle oder [[Model Checking]].
Vor der Generierung ist es i.&nbsp;A. unverzichtbar, nicht nur den Generator zu testen, sondern die zu verarbeitenden Modelle geeigneten QS-Maßnahmen zuzuführen. Dazu zählen z.&nbsp;B. [[Review (Softwaretest)|Reviews]], werkzeuggestützte Prüfungen gegen Metamodelle oder [[Model Checking]].


Ein Werkzeug welches die Beschreibung eines Modells, dessen graphische Darstellung als Ablaufdiagramme bis hin zur Implementierung und Ausführung von Testfällen ermöglicht ist [[Spec Explorer]] von [[Microsoft]], welches als kostenfreies Add-on für Visual Studio angeboten wird. <ref>[http://www.specexplorer.com Spec Explorer]</ref>
Ein Werkzeug, welches die Beschreibung eines Modells, dessen graphische Darstellung als Ablaufdiagramme bis hin zur Implementierung und Ausführung von Testfällen ermöglicht, ist [[Spec Explorer]] von [[Microsoft]], welches als kostenfreies Add-on für Visual Studio angeboten wird.<ref>[http://www.specexplorer.com Spec Explorer]</ref>


Im Bereich der modellbasierten Ergebnisermittlung ("Testorakel") gibt es regelbasierte Ansätze, die die Fallbearbeitung erleichtern sollen. [[RapidRep]]
Im Bereich der modellbasierten Ergebnisermittlung ("Testorakel") gibt es regelbasierte Ansätze, die die Fallbearbeitung erleichtern sollen. [[RapidRep]]


== Siehe auch ==
== Siehe auch ==

* [[Hardware in the Loop]] – Methode zum Test eingebetteter Systeme (z.&nbsp;B. Fahrzeugsteuergeräte)
* [[Hardware in the Loop]] – Methode zum Test eingebetteter Systeme (z.&nbsp;B. Fahrzeugsteuergeräte)
* [[Liste von Modultest-Software]]
* [[Liste von Modultest-Software]]
* [[modellzentriertes Testen]] - Methodik für Design und Spezifikation im Softwaretest; Erweiterung des modellbasierten Testdesigns um Testmanagementinformationen, das Mindset des Testers und Möglichkeiten zur Anpassung an Speziallösungen
* [[Time Partition Testing]]: Modellbasierter Test eingebetteter Steuerungs- und Regelungssysteme
* [[Time Partition Testing]]: Modellbasierter Test eingebetteter Steuerungs- und Regelungssysteme
* [[Zustandsbezogener Test]]
* [[Zustandsbezogener Test]]

* [http://www.xqual.com/qa/tools.html QM-Tools im Vergleich]
== Einzelnachweise ==
<references />


== Literatur ==
== Literatur ==
* P. Baker et al.: ''Model-Driven Testing – Using the UML Testing Profile''. Springer-Verlag, Berlin, 2008, ISBN 3-642-09159-8

* Eckard Bringmann, Andreas Krämer: [http://piketec.com/downloads/papers/Kraemer2008-Model_based_testing_of_automotive_systems.pdf ''Model-Based Testing of Automotive Systems.''] In: ''ICST.'' S. 485–493, 2008 International Conference on Software Testing, Verification, and Validation, 2008 (PDF-Datei; 228&nbsp;kB)
* [Baker 2008] Baker, P.; Dai, Z. R.; Grabowski, J.; Haugen, Ø.; Schieferdecker, I.; Williams, C.: "Model-Driven Testing – Using the UML Testing Profile". Springer-Verlag, Berlin, 2008, ISBN 3-642-09159-8
* T. Eckardt, M. Spijkerman: ''Modellbasiertes Testen auf Basis des fundamentalen Testprozesses''. Beitrag zur TAV 28 in Dortmund, 2009
*[Bringmann 2008] [http://piketec.com/downloads/papers/Kraemer2008-Model_based_testing_of_automotive_systems.pdf Eckard Bringmann, Andreas Krämer. "Model-Based Testing of Automotive Systems", In: ICST, pp.485-493, 2008 International Conference on Software Testing, Verification, and Validation, 2008] (PDF-Datei; 228&nbsp;kB)
* B. Güldali et al.: ''Starthilfe für modellbasiertes Testen: Entscheidungsunterstützung für Projekt- und Testmanager''. OBJEKTspektrum 3/10, S. 63–69, 2010
* [Eckardt 2009] Eckardt, T.; Spijkerman, M.: "Modellbasiertes Testen auf Basis des fundamentalen Testprozesses". Beitrag zur TAV 28 in Dortmund, 2009
* A. Kramer, B. Legeard: ''Model-Based Testing Essentials - Guide to the ISTQB(R) Certified Model-Based Tester - Foundation Level''. John Wiley & Sons, 2016, ISBN 978-1119130017
* [Götz 2009] Götz, H.; Nickolaus, M.; Roßner, T.; Salomon, K.: "iX-Studie Modellbasiertes Testen". Heise Zeitschriften Verlag, Hannover, 2009
* A. Pretschner: ''Zur Kosteneffektivität modellbasierten Testens''. Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme II, Braunschweig, 2006
* [Güldali 2010] Güldali, B.; Jungmayr, S.; Mlynarski, M.; Neumann, S.; Winter, M.: "Starthilfe für modellbasiertes Testen: Entscheidungsunterstützung für Projekt- und Testmanager". OBJEKTspektrum 3/10, S. 63-69, 2010
* I. Schieferdecker: ''Modellbasiertes Testen''. OBJEKTspektrum 3/07, S. 39–45, 2007
* [Kramer 2016] Kramer, A., Legeard, B.: "Model-Based Testing Essentials - Guide to the ISTQB(R) Certified Model-Based Tester - Foundation Level". John Wiley & Sons, 2016, ISBN-13 978-1119130017
* M. Utting, A. Pretschner, B. Legeard: ''A Taxonomy of Model-Based Testing''. Working Paper 4/2006, University of Waikato, 2006
* [Pretschner 2006] Pretschner, A.: "Zur Kosteneffektivität modellbasierten Testens". Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme II, Braunschweig, 2006
* [[Justyna Zander]], [[Ina Schieferdecker]], Pieter J. Mosterman: ''Model-Based Testing for Embedded Systems (Computational Analysis, Synthesis, and Design of Dynamic Systems)'', CRC Press 2011, ISBN 1439818452.
* [Roßner 2010] Roßner, T.; Brandes, C.; Götz, H.; Winter, M.: "Basiswissen Modellbasierter Test". dpunkt-Verlag, 2010, ISBN 3-898-64589-4
* [Schieferdecker 2007] Schieferdecker, I.: "Modellbasiertes Testen". OBJEKTspektrum 3/07, S. 39-45, 2007
* [Utting 2006] Utting, M.; Pretschner, A.; Legeard, B.: "A Taxonomy of Model-Based Testing". Working Paper 4/2006, University of Waikato, 2006
* [Utting 2007] Utting, M.; Legeard, B.: "Practical Model-Based Testing – A Tools Approach". Morgan Kaufmann Publ., Amsterdam, 2007, ISBN 0-123-72501-1
* Justyna Zander, Ina Schieferdecker, Pieter J. Mosterman: ''Model-Based Testing for Embedded Systems (Computational Analysis, Synthesis, and Design of Dynamic Systems)'', CRC Press 2011, ISBN 1439818452.
* Frank Böhr: ''Model-Based Statistical Testing of Embedded Real-Time Software with Continuous and Discrete Signals in a Concurrent Environment: The Usage Net Approach '', Verlag Dr.Hut 2012, ISBN 978-3-8439-0348-6.
* Frank Böhr: ''Model-Based Statistical Testing of Embedded Real-Time Software with Continuous and Discrete Signals in a Concurrent Environment: The Usage Net Approach '', Verlag Dr.Hut 2012, ISBN 978-3-8439-0348-6.

== Einzelnachweise ==
<references/>


== Weblinks ==
== Weblinks ==

* [http://www.sigs-datacom.de/fileadmin/user_upload/zeitschriften/os/2010/03/gueldali_OS_03_10.pdf Starthilfe für modellbasiertes Testen: Entscheidungsunterstützung für Projekt- und Testmanager] in OBJEKTspektrum 03/2010 (PDF-Datei; 856&nbsp;kB)
* [http://www.sigs-datacom.de/fileadmin/user_upload/zeitschriften/os/2010/03/gueldali_OS_03_10.pdf Starthilfe für modellbasiertes Testen: Entscheidungsunterstützung für Projekt- und Testmanager] in OBJEKTspektrum 03/2010 (PDF-Datei; 856&nbsp;kB)
* [http://www.sigs.de/publications/os/2006/03/kunz_sensler_OS_03_06.pdf Modellgetriebene Testentwicklung] Ausführlichere Darstellung Modellgetriebener Testentwicklung (Model Driven Test Development, MDTD). (PDF-Datei; 7,39&nbsp;MB)
* [http://www.sigs.de/publications/os/2006/03/kunz_sensler_OS_03_06.pdf Modellgetriebene Testentwicklung] Ausführlichere Darstellung Modellgetriebener Testentwicklung (Model Driven Test Development, MDTD). (PDF-Datei; 7,39&nbsp;MB)

Aktuelle Version vom 30. August 2023, 12:15 Uhr

Modellbasiertes Testen (englisch model-based testing, MBT) ist ein Oberbegriff für die Nutzung von Modellen zur Automatisierung von Testaktivitäten und zur Generierung von Testartefakten im Testprozess. Darunter fällt insbesondere die Generierung von Testfällen aus Modellen (z. B. unter Verwendung der UML), die das Sollverhalten des zu testenden Systems beschreiben.

Ziele und Nutzen

[Bearbeiten | Quelltext bearbeiten]

Hauptziel ist es, nicht nur die Durchführung von Tests (siehe Testautomatisierung), sondern schon deren Erstellung zu (teil-)automatisieren. Man verspricht sich davon Transparenz und Steuerbarkeit in der Testfallentstehung, wodurch der Testprozess wirtschaftlicher und die Testqualität personenunabhängiger gestaltet werden kann.

Modellkategorien für MBT

[Bearbeiten | Quelltext bearbeiten]

Beim MBT wird die zu testende Software oder ihre Umgebung (z. B. in Form von Nutzungsprofilen) oder eben der Test selbst als Verhaltens- und/oder Strukturmodell dargestellt. Roßner unterscheidet folglich zwischen

  • Systemmodellen
  • Umgebungsmodellen
  • Testmodellen

im MBT-Einsatz.[1]

Systemmodelle beschreiben Anforderungen an das Softwaresystem und können in Form von Analyse- oder Design-Modellen vorliegen. Sie fokussieren im Allgemeinen nicht den Test und beinhalten deshalb insbesondere keine Testdaten (im Sinne einer Stichprobe aus allen möglichen Eingabedaten in das System). Folglich kann eine Generierung auf solchen Modellen maximal zu abstrakten Testfällen (das heißt ohne Angabe konkreter Werte für Testdaten) führen.

Testmodelle können aus vorhandenen Systemmodellen entstehen, bieten aber mehr Möglichkeiten für den Test. Sie beschreiben den Test eines Systems und bilden Testentscheidungen, die ein Tester vielleicht nur „im Kopf“ gefällt hat, explizit ab. So können in ihnen nicht nur Abläufe von Testschritten, sondern Testdaten, Prüfschritte und ggf. Testorakel modelliert werden. Als Folge wird es möglich, aus ihnen nicht nur abstrakte, sondern konkrete, ja sogar vollständige und ausführbare Testfälle zu generieren. Verwendet man in Testmodellen eine schlüsselwortbasierte Notation für Testschritte (siehe Keyword-Driven Testing), können sogar automatisiert ausführbare Testfälle entstehen.

Testmodelle setzen aber bei den Testern Kenntnisse in der Erstellung von Modellen voraus. Das Vorhandensein dieser Fähigkeit kann entscheidend für den Erfolg einer MBT-Einführung sein.

MBT-Ausprägungen

[Bearbeiten | Quelltext bearbeiten]

Je nachdem, welche Modellkategorien zum Einsatz kommen und welche Rolle die Modelle im modellbasierten Testprozess spielen, kann man von unterschiedlichen Ausprägungen und Reifegraden von MBT sprechen. Roßner definiert die folgenden:[1]

  • Beim modellorientierten Testen dienen Modelle als Leitfaden und Grundlage für das Testdesign, ohne dass zwingend Generatoren zum Einsatz kommen müssen. Da Modelle im Vergleich zu natürlichsprachlichen Anforderungsspezifikationen deutliche Qualitätsvorteile mit sich bringen können, profitiert schon hier die Testqualität.
  • Modellgetriebenes Testen bezeichnet den Einsatz von Generatoren, um Testartefakte, insb. Testfälle, aus Modellen zu generieren. Häufig handelt es sich hierbei aber um eine unidirektionale Werkzeug-Einbahnstraße, bei der z. B. die Testergebnisse nicht ins Modell zurück übertragen werden.
  • Werden alle relevanten Testinformationen in Modellform gepflegt und die Werkzeuge zu einem Ring verbunden, kann von modellzentrischem Testen gesprochen werden.

Je nachdem, welche Modelle Grundlage der Testgenerierung sein sollen und wie weit die Generierung reichen soll, ist der Einsatz von kommerziellen Generatoren oder die Eigenentwicklung eines Generators vorzusehen. Eine Übersicht über kommerzielle MBT-Werkzeuge ist zu finden bei H. Götz.[2] Ebenfalls findet man darin folgende Taxonomie für MBT-Werkzeuge:

  • Modellbasierte Testdatengeneratoren sind Werkzeuge, die basierend auf einem Modell der Eingangs- und Ausgangsdaten des Testobjekts und bestimmten Steuerinformationen Testdaten für die Erstellung von abstrakten und/oder konkreten Testfällen erzeugen. (Beispiel: CTE, siehe Klassifikationsbaum-Methode)
  • Modellbasierte Testfalleditoren sind Werkzeuge, die basierend auf einem abstrakten Modell von Testfällen konkrete Repräsentationen des Testfalls zur manuellen Durchführung bzw. Testskripte zur automatischen Testdurchführung erzeugen.
  • Modellbasierte Testfallgeneratoren sind Werkzeuge, die basierend auf einem Modell des Systemverhaltens, der Systemumgebung oder des Tests sowie bestimmter Steuerinformationen mehrere (logisch zusammengehörende) Testfälle bzw. Testskripte automatisch nach konfigurierbaren Abdeckungskriterien erzeugen.

Eine andere und komplexere Taxonomie ist zu finden bei M. Utting.[3]

In der Regel wird es nötig sein, die Testabdeckung beim Generiervorgang steuern zu können. Typischerweise finden hierbei die aus den White-Box-Test-Verfahren bekannten graphenbasierten Abdeckungsmaße Verwendung (siehe Kontrollflussorientierte Testverfahren), aber es sind auch andere Abdeckungsstrategien denkbar (z. B. aufgrund von Risikoinformationen im Modell).

Vor der Generierung ist es i. A. unverzichtbar, nicht nur den Generator zu testen, sondern die zu verarbeitenden Modelle geeigneten QS-Maßnahmen zuzuführen. Dazu zählen z. B. Reviews, werkzeuggestützte Prüfungen gegen Metamodelle oder Model Checking.

Ein Werkzeug, welches die Beschreibung eines Modells, dessen graphische Darstellung als Ablaufdiagramme bis hin zur Implementierung und Ausführung von Testfällen ermöglicht, ist Spec Explorer von Microsoft, welches als kostenfreies Add-on für Visual Studio angeboten wird.[4]

Im Bereich der modellbasierten Ergebnisermittlung ("Testorakel") gibt es regelbasierte Ansätze, die die Fallbearbeitung erleichtern sollen. RapidRep

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b T. Roßner, C. Brandes, H. Götz, M. Winter: Basiswissen Modellbasierter Test. dpunkt-Verlag, 2010, ISBN 3-898-64589-4
  2. H. Götz et al.: iX-Studie Modellbasiertes Testen. Heise Zeitschriften Verlag, Hannover, 2009
  3. M. Utting, B. Legeard: Practical Model-Based Testing – A Tools Approach. Morgan Kaufmann Publ., Amsterdam, 2007, ISBN 0-123-72501-1
  4. Spec Explorer
  • P. Baker et al.: Model-Driven Testing – Using the UML Testing Profile. Springer-Verlag, Berlin, 2008, ISBN 3-642-09159-8
  • Eckard Bringmann, Andreas Krämer: Model-Based Testing of Automotive Systems. In: ICST. S. 485–493, 2008 International Conference on Software Testing, Verification, and Validation, 2008 (PDF-Datei; 228 kB)
  • T. Eckardt, M. Spijkerman: Modellbasiertes Testen auf Basis des fundamentalen Testprozesses. Beitrag zur TAV 28 in Dortmund, 2009
  • B. Güldali et al.: Starthilfe für modellbasiertes Testen: Entscheidungsunterstützung für Projekt- und Testmanager. OBJEKTspektrum 3/10, S. 63–69, 2010
  • A. Kramer, B. Legeard: Model-Based Testing Essentials - Guide to the ISTQB(R) Certified Model-Based Tester - Foundation Level. John Wiley & Sons, 2016, ISBN 978-1119130017
  • A. Pretschner: Zur Kosteneffektivität modellbasierten Testens. Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme II, Braunschweig, 2006
  • I. Schieferdecker: Modellbasiertes Testen. OBJEKTspektrum 3/07, S. 39–45, 2007
  • M. Utting, A. Pretschner, B. Legeard: A Taxonomy of Model-Based Testing. Working Paper 4/2006, University of Waikato, 2006
  • Justyna Zander, Ina Schieferdecker, Pieter J. Mosterman: Model-Based Testing for Embedded Systems (Computational Analysis, Synthesis, and Design of Dynamic Systems), CRC Press 2011, ISBN 1439818452.
  • Frank Böhr: Model-Based Statistical Testing of Embedded Real-Time Software with Continuous and Discrete Signals in a Concurrent Environment: The Usage Net Approach , Verlag Dr.Hut 2012, ISBN 978-3-8439-0348-6.