cover-image
image

Mario Winter ist Professor am Institut für Informatik der Technischen Hochschule Köln und dort Mitglied des Forschungsschwerpunkts »Software-Qualität«. Er ist Gründungsmitglied des German Testing Board e.V. und war von 2003 bis 2011 Sprecher der GI-Fachgruppe »Test, Analyse und Verifikation von Software«. Seine Lehrund Forschungsschwerpunkte sind Softwareentwicklung und Projektmanagement, insbesondere die modellbasierte Entwicklung und Qualitätssicherung von Software. Er ist Autor und Mitautor zahlreicher Publikationen im Bereich Softwareentwicklung und Softwaretest, u.a. der Fachbücher »Der Integrationstest« und »Praxiswissen Softwaretest – Testmanagement« sowie der iX-Studie »Software-Testmanagement«.

image

Thomas Roßner ist Mitglied des Vorstands der imbus AG. Er verfügt über jahrelange praktische Erfahrung in der Planung und Entwicklung von Softwaretests in verschiedenen Branchen und Technologien. Er leitete nationale und internationale Forschungs- und Entwicklungsprojekte zum modellbasierten Testen sowie zur Kosten-Nutzen-Optimierung von Testprozessen. Der ISTQB® Certified Tester (Advanced Level Testmanager) ist außerdem SPICE- und TestSPICE-Spezialist. Zudem ist er Mitautor der iX-Studien »Software-Testmanagement« und »Modellbasiertes Testen« sowie des Fachbuches »Praxiswissen Softwaretest – Testmanagement«.

image

Christian Brandes ist Trainer und Principal Consultant bei der imbus AG. Der promovierte Mathematiker verfügt über langjährige Projekterfahrung als Testmanager, Testarchitekt, Testdesigner und Testprozessberater. Er ist ISTQB® Certified Tester (Full Advanced Level, Agile Tester Extension) und als Hochschuldozent für Softwaretest tätig. Zahlreiche Publikationen und Vorträge – zu modellbasiertem Testen, agilem Testen, Testautomatisierung und testbaren Architekturen – runden sein Portfolio ab.

image

Helmut Götz ist Senior Key Expert innerhalb der zentralen Forschungsabteilung der Siemens AG in Erlangen. Seinen Themenschwerpunkt hat er seit fast 20 Jahren im Bereich der Softwarequalitätssicherung sowie in der Etablierung ganzheitlicher Testansätze bei Produktfamilien und Systemen innerhalb der Siemens AG. Als Senior-Key-Experte für »MBT für komplexe Systeme« treibt er die Forschungs- und Kollaborationsaktivitäten auf diesem Gebiet voran. Neben zahlreichen Konferenzpublikationen ist er Mitautor der iX-Studie »Modellbasiertes Testen«.

image

Zu diesem Buch – sowie zu vielen weiteren dpunkt.büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus+:

www.dpunkt.de/plus

Basiswissen modellbasierter Test

Aus- und Weiterbildung zum ISTQB® Foundation Level – Certified Model-Based Tester

2., vollständig überarbeitete und aktualisierte Auflage

Mario Winter
Thomas Roßner
Christian Brandes
Helmut Goetz

image

Mario Winter – mario.winter@th-koeln.de
Thomas Roßner – thomas.rossner@imbus.de
Christian Brandes – christian.brandes@imbus.de
Helmut Götz – helmut.h.goetz@siemens.com

Lektorat: Christa Preisendanz
Copy-Editing: Ursula Zimpfer, Herrenberg
Satz: Birgit Bäuerlein
Herstellung: Susanne Bröckelmann
Umschlaggestaltung: Helmut Kraus, www.exclam.de
Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn

Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:
Print    978-3-86490-297-0
PDF    978-3-96088-005-9
ePub    978-3-96088-006-6
mobi    978-3-96088-007-3

2., vollständig überarbeitete und aktualisierte Auflage
Copyright © 2016 dpunkt.verlag GmbH
Wieblinger Weg 17
69123 Heidelberg

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.
Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.
Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.
5 4 3 2 1 0

Vorwort zur zweiten Auflage

Was ist modellbasiertes Testen?

Modellbasiertes Testen (MBT) umfasst die Nutzung von Modellen für die Automatisierung von Testaktivitäten sowie die Modellierung von Artefakten im Testprozess. In der Literatur sind mittlerweile Hunderte von Veröffentlichungen zu finden, die zunächst vornehmlich in wissenschaftlichen Konferenzen und Zeitschriften publiziert wurden. Seit ca. 2005 erschienen zunehmend auch anwendernahe bzw. praxisbezogene Artikel zum modellbasierten Test und inzwischen sind bereits mehrere englischsprachige Fachbücher zum Thema verfügbar. Im März 2009 erschien die Werkzeugstudie »Modellbasiertes Testen« [Götz 2009] als erstes einschlägiges deutschsprachiges Werk zu MBT. Im Mai 2010 folgte dann die erste Auflage des hier vorgelegten Buches »Basiswissen modellbasierter Test«.

Modellbasiertes Testen – von Schlagwortebene und Grundlagenforschung hin zu praktischer industrieller Anwendung

Fast sechs Jahre sind seither ins Land gegangen. Haben diese sechs Jahre das seinerzeit als sehr innovativ, ja sogar experimentell geltende Thema MBT vorangebracht?

Tatsächlich hat sich das modellbasierte Testen immer weiter von der Schlagwortebene und Grundlagenforschung hin zur praktischen industriellen Anwendung entwickelt. Doch viele der Herausforderungen, die wir seinerzeit identifiziert und erläutert haben, sind auch heute noch aktuell:

Dennoch findet man immer häufiger Berichte über den erfolgreichen Einsatz von MBT in der Softwareindustrie. Auch in der Lehre wird das Thema zunehmend adressiert und zumindest auf Schlagwortebene erfreut sich MBT inzwischen eines deutlich höheren Bekanntheitsgrades als 2010.

Zu Letzterem hat unter anderem auch die Aktivität des International Software Testing Qualifications Board (ISTQB®) beigetragen, das modellbasierte Testen in den Lehrplan des ISTQB® Certified Tester als Add-on aufzunehmen. Neben einer höheren Marktdurchdringung sorgt dieser Ende 2015 erschienene Lehrplan auch für eine gewisse Vereinheitlichung von Begriffen, Sichtweisen und Techniken von MBT.

Als wir die ersten Versionen dieses Lehrplans sichteten, waren wir sehr erfreut, dass durch die MBT-Arbeitsgruppe des ISTQB® weite Teile der Inhalte unseres Buches aufgegriffen und somit quasi »zu offiziellen Weihen« geführt wurden. Daher ist es uns vergleichsweise leichtgefallen, mit der nun vorliegenden zweiten Auflage eine Überarbeitung herauszubringen, die die Lernziele des MBT-Lehrplans vollständig abdeckt.

Wir haben uns jedoch bewusst dafür entschieden, den Aufbau des Buches nicht am Lehrplan auszurichten, sondern die Struktur der ersten Auflage weitgehend beizubehalten. Auch haben wir Inhalte, die über den Lehrplan hinausgehen, nicht aus dem Buch entfernt. Stattdessen haben wir eine Leseanleitung ergänzt, die diejenigen Leser, die sich gezielt auf die Prüfung zum »ISTQB® Certified Model-Based Tester« vorbereiten wollen, zu den relevanten Stellen des Buches leitet.

Wir, die Autoren, verfolgen mit dem vorliegenden Buch (wie schon mit der 1. Auflage) das Hauptziel, Ihnen bei der Erschließung des modellbasierten Testens ein guter Ratgeber zu sein! Wir sind überzeugt davon, dass Sie mehr Freude daran haben werden, gute Modelle für gutes modellbasiertes Testen zu erstellen, als die vielen benötigten Testfälle bzw. Testskripte für gutes manuelles bzw. automatisiertes Testen zu schreiben. Daher möchten wir Sie mit dem Buch in die Lage versetzen,

Das Buch bietet Ihnen eine breite Einführung in das Thema, nicht aber werkzeugspezifische Lösungen für konkrete Testprobleme. Es stellt die Grundlagen modellbasierten Testens dar und gibt einen Überblick über verschiedene Modellierungssprachen und Testverfahren. Es zeigt auf, welche Voraussetzungen für den Einsatz modellbasierten Testens in einer Organisation zu schaffen sind, welche möglichen Fallstricke eine erfolgreiche Einführung verhindern können und wie man diese Fallstricke vermeidet. Anhand von einfachen Beispielanwendungen aus verschiedenen Industrieeinsätzen wird insbesondere auch auf die Qualitätsgewinne und Einsparungspotenziale eingegangen, die durch MBT möglich sind.

Die Zielgruppe dieses Buches ist breit angelegt – schließlich soll ein »Basiswissen«-Buch die behandelten Themen so darstellen, dass nicht nur Testspezialisten einen Nutzen davon haben. Das Buch richtet sich primär an

Im Vordergrund stehen dabei solche Tester, die bisher eher nur eine diffuse Vorstellung davon haben, was MBT konkret sein könnte und wie sie es selbst möglicherweise einsetzen könnten. Insbesondere Testanalysten, die sich mit dem methodischen Übergang von zu testenden Anforderungen (z. B. in Modellform) hin zu Testfällen beschäftigen, werden sich angesprochen fühlen. Aber auch Testmanager, die im Rahmen ihrer Teststrategie die ihnen zur Verfügung stehenden Ressourcen möglichst nutzbringend einsetzen wollen, werden Hinweise zum Kosten-Nutzen-Verhältnis modellbasierter Ansätze finden. Testanalysten und technische Testanalysten werden je nach Modellierungshintergrund Möglichkeiten entdecken, ihre Testfälle in Modellform aufzubereiten.

Ebenso sollen auch Projektleiter, Anforderungsanalytiker, Modellierer und Entwickler erfahren, welche Möglichkeiten modellbasierte Teststrategien zu bieten haben – schließlich genügen oft schon geringe Erweiterungen oder Anpassungen an vorhandene Modelle, um für den Test relevante Artefakte aus ihnen »auf Knopfdruck« erzeugen zu können (wobei der »Knopf« in der Regel erst konzipiert und realisiert werden muss).

Schließlich will das Buch generell allen, die wissen möchten, was es mit dem Begriff »MBT« denn nun auf sich hat, eine Antwort geben. Es kann als Leitfaden zur Entwicklung einer eigenen MBT-Methodik und als Entscheidungsgrundlage für deren Einsatz herangezogen werden.

Die einzige Voraussetzung zum »erfolgreichen« Lesen des Buches sind Grundkenntnisse des Softwaretestens, wie sie z. B. im Rahmen des »ISTQB® Certified Tester – Foundation Level« vermittelt werden. Der dort beschriebene fundamentale Testprozess wird im vorliegenden Buch auf modellbasierte Disziplinen erweitert bzw. angepasst. Auch die dort vorgestellten Test- und Testmanagementverfahren werden – soweit sie für MBT relevant sind – aufgegriffen und in den MBT-Kontext eingeordnet.

Danksagung

Zu allererst gebührt unser Dank unseren Familien. Die Erstellung eines Buchmanuskripts ist nicht familienkompatibel, da man Ruhe benötigt und – viel schwieriger – mehrere Stunden Zeit »am Stück«. Keiner der Autoren konnte dafür eine längere Auszeit nehmen, sondern das Buch musste von Anfang an parallel zum Tages- und Projektgeschäft entstehen. Dies setzt ein großes Maß an Toleranz bei allen unmittelbar Betroffenen voraus, und wir hatten das große Glück, dieses Maß sehr oft zu erfahren.

Weiterhin danken wir dem dpunkt.verlag, allen voran Frau Preisendanz, die uns trotz mehrfacher Terminverschiebungen (einige davon höherer Gewalt wie Krankheitsausfällen geschuldet) die Treue hielt. Wir hoffen, dass das Urteil der Leser sie im Nachhinein in ihrer Geduld bestätigen wird.

Wir danken ebenso den Lesern der ersten Auflage, die uns mit ihren wertvollen Hinweisen an vielen Stellen aus dem sich fast zwangsläufig ergebenden »Wald«, den wir »vor lauter Bäumen« nicht mehr gesehen haben, geführt haben.

Und schließlich danken die Autoren einander für das funktionierende Kollektiv, das konstruktive Diskutieren auch abweichender Standpunkte und das Vergnügen, am selben Strang zu ziehen. Die Diskussionen rund um den vom ISTQB® veröffentlichten Lehrplan und das Vorgehen bei der Gestaltung dieser Neuauflage waren – genau wie vor 6 Jahren – gehaltvoll, konstruktiv und unverändert von einer spürbaren Begeisterung für das Thema MBT geprägt.

Wir wünschen unseren Lesern, dass das Buch ihre Erwartungen erfüllt und sie es mit Gewinn und Vergnügen zurate ziehen.

Mario Winter, Thomas Roßner, Christian Brandes, Helmut Götz,
im Juli 2016

Geleitwort zur ersten Auflage

von Prof. Dr. Ina Schieferdecker TU Berlin/Fraunhofer FOKUS

Modellbasiertes Testen geistert seit Jahren durch Konferenzen, Foren und Diskussionsrunden. In einer Vielzahl von Forschungs- und Entwicklungsprojekten sind Arbeiten mit dem Ziel durchgeführt worden, unter Nutzung von Modellen das Testen von softwarebasierten Systemen effektiver und effizienter zu gestalten. Dabei soll sowohl der Aufwand für das Testen minimiert als auch die Qualität der Tests erhöht werden. Die Kernidee des modellbasierten Testens wurde bereits mit der Softwarekrise in den 1960ern formuliert und ist anhand automatenbasierter Ansätze zumindest theoretisch umgesetzt worden. Jedoch bieten erst heutige Modellierungs- und Automatisierungsmethoden und -werkzeuge entlang der Model-Driven-Engineering-Initiativen Möglichkeiten, die Kernideen in den breiten praktischen Einsatz für softwarebasierte Systeme industrieller Größe zu überführen.

Nur: Was ist genau mit modellbasiertem Testen gemeint? Arbeitet man sich in dieses Gebiet ein, so ergeben sich umgehend verschiedene Sichten, die die Breite, das Potenzial, aber auch die Herausforderungen beim modellbasierten Testen erahnen lassen: Welche Modelle sind gemeint? Systemmodelle, Anforderungsmodelle, Entwurfsmodelle, Nutzermodelle, Architekturmodelle, Verhaltensmodelle etc.? Oder gar Testmodelle? Was ist überhaupt ein Modell? Welche Techniken werden für die Modellierung genutzt? Auf welcher Abstraktionsstufe wird modelliert? Welche Aspekte werden modelliert? Welche Phasen im Testprozess werden durch einen modellbasierten Ansatz tangiert? Geht es im Wesentlichen um einen modellbasierten Testentwurf inklusive der automatisierten Generierung der Testfälle? Oder aber geht es auch um die Automatisierung der Testausführung? Ist eine schrittweise Einführung modellbasierter Testansätze möglich? Und wenn ja – wie? Und wie entwickelt sich modellbasiertes Testen langfristig, wenn das softwarebasierte System weiterentwickelt wird? Wie bettet sich die Weiterentwicklung der modellbasierten Tests in diese Wartung und Weiterentwicklung ein? Usw. usf., bis hin zur »K.-o.-Frage«: Lohnt sich das Ganze überhaupt? Oder aber bis zu einer anderen K.-o.-Frage: Machen wir das nicht eh schon seit Langem?

Lassen Sie sich mit diesem Buch in das Gebiet einführen und erwarten Sie eine kritische Diskussion und Reflektion obiger und weiterer Fragen. Während es eine Vielzahl englischsprachiger Publikationen und Abhandlungen zum modellbasierten Testen gibt, lag ein vergleichbares Werk für den deutschsprachigen Raum noch nicht vor. Thomas Roßner, Christian Brandes, Helmut Götz und Mario Winter haben sich der Aufgabe gestellt, das Gebiet des modellbasierten Testens zu strukturieren, darzustellen und beispielhaft zu erläutern. Dabei wird aufbauend auf einer allgemeinen Betrachtung von Modellierungs- und Testansätzen ein systematischer Zugang zum modellbasierten Testen gegeben: Angefangen mit Modellkategorien und verschiedenen Arten modellbasierten Testens wird die Einbettung in den Testprozess erläutert und die Qualität der Modelle diskutiert. Kapitel zur Automatisierung der Testgenerierung, der Testausführung und zur Klassifikation von Werkzeugen für das modellbasierte Testen unterlegen die konzeptionellen Betrachtungen mit praktischen Herangehensweisen. Anwendungsbeispiele reflektieren im Buch durchgängig die präsentierten Ansätze. Abschließend werden Migrationsstrategien, Effektivitätsbetrachtungen sowie Vor- und Nachteile modellbasierten Testens kritisch diskutiert, sodass eine objektivierte Analyse modellbasierter Testmethoden für eigene Entwicklungs- und Qualitätssicherungsprozesse ermöglicht wird.

Wenn ich eine Kritik ansetzen darf, dann insbesondere die, warum das Buch erst jetzt erscheint, haben die Autoren doch über Studien, Artikel und Vorträge das Gebiet des modellbasierten Testens schon längst durchdrungen. Andererseits, gut Ding will Weile haben. Das Buch überzeugt in seinem stilistisch wohlausgewogenen Herangehen an die Materie, die aus verschiedenen Perspektiven betrachtet und analysiert wird. Das Buch präsentiert Basiswissen zum modellbasierten Testen. Eine Fortsetzung wäre wünschenswert, in der die diversen Methoden anhand konkreter Techniken und Algorithmen noch detaillierter erörtert werden würden.

Ina Schieferdecker
Juni 2010

Inhaltsübersicht

Teil I        MBT – Einstieg und Grundlagen

1        Einleitung

2        Testen heute

3        Einführung in die Modellierung

4        MBT – ein Einstieg

5        Intermezzo 1: Türsteuerung

Teil II      MBT im Testprozess

6        MBT und der Testprozess

7        Planung und Steuerung

8        Intermezzo 2: CarKonfigurator

9        Modellierung und Modellprüfung

10      Testauswahlkriterien und Testfallgenerierung

11      Realisierung, Durchführung und Auswertung

Teil III      MBT im Praxiseinsatz

12      Werkzeuge für MBT

13      MBT erfolgreich einführen

14      Wirtschaftlichkeitsbetrachtung

15      Möglichkeiten und Grenzen von MBT

Anhang

A        Abkürzungsverzeichnis

B        Glossar

C        Quellen

Index

Inhaltsverzeichnis

Teil I        MBT – Einstieg und Grundlagen

1        Einleitung

1.1      Model Based Testing – nur ein Hype?

1.2      Viele Definitionen für modellbasiertes Testen

1.3      Ziele des Buches

1.4      Aufbau des Buches

1.5      Leseanleitung für die Qualifikation zum ISTQB® Certified Model-Based Tester

1.6      Zwei Fallbeispiele

1.6.1    Produktskizze CarKonfigurator

1.6.2    Produktskizze Türsteuerung

2        Testen heute

2.1      Grundbegriffe von Qualitätssicherung und Testen

2.1.1    Testverfahren

2.1.2    Kriterien zur Testüberdeckung

2.1.3    Teststufen

2.1.4    Randbedingungen des Testens

2.2      Der fundamentale Testprozess

2.2.1    Phasen des Testprozesses

2.2.2    Testplanung

2.2.3    Teststeuerung und -kontrolle

2.2.4    Testanalyse und -entwurf

2.2.5    Testrealisierung und -durchführung

2.2.6    Bewertung von Endekriterien und Bericht

2.2.7    Abschluss der Testaktivitäten

2.2.8    Rollen im Testprozess

2.3      Herausforderungen beim Testen heute

2.3.1    Kostenfaktor Test

2.3.2    Mangelnde Testqualität

2.3.3    Tester mit Fach-, aber ohne IT-Wissen

2.3.4    Komplexität der Tests

2.3.5    Testautomatisierung

2.3.6    Mangelnde Qualität der Testbasis

2.3.7    Zu späte Einbindung des Endkunden

2.4      Zusammenfassung

3        Einführung in die Modellierung

3.1      Wat is’n Modell?

3.2      Allgemeiner Vergleich von Texten und Modellen

3.2.1    Merkmale und Mängel natürlicher Sprache

3.2.2    Vorteile formaler Modelle und visueller Darstellungen

3.3      Exkurs: Grundbegriffe der Graphentheorie

3.4      UML – ein Standard der Softwaremodellierung

3.5      Modellierung statischer Strukturen

3.5.1    Objektmodellierung

3.5.2    Klassenmodellierung

3.5.3    Pakete und Komponenten

3.5.4    ER-Modellierung

3.6      Modellierung dynamischen Verhaltens

3.6.1    Aktivitätsmodellierung

3.6.2    Geschäftsprozessmodellierung mit BPMN

3.6.3    Zustandsmodellierung

3.6.4    Interaktionsmodellierung

3.7      Nebenläufigkeits- und Echtzeitmodellierung

3.7.1    Petri-Netze

3.7.2    Zeitdiagramm

3.8      Umgebungs-, Funktions- und Nutzungsmodellierung

3.8.1    Umgebungsmodellierung mit Akteuren

3.8.2    Funktionsmodellierung mit Anwendungsfällen

3.8.3    Nutzungsmodellierung

3.8.4    Präzisierung von Modellen mit der OCL

3.9      Metamodellierung und Profile

3.9.1    UML – Spracharchitektur und Metamodell

3.9.2    Stereotype und Profile

3.10      Zusammenfassung

4        MBT – ein Einstieg

4.1      Detaillierte Definition von MBT

4.2      MBT zur Testfallgenerierung

4.3      MBT im Projektkontext

4.4      MBT-Modellkategorien

4.4.1    Drei Modellkategorien für MBT

4.4.2    Umgebungsmodelle

4.4.3    Systemmodelle

4.4.4    Testmodelle

4.5      Nutzen von MBT

4.5.1    MBT reduziert Fehler in frühen Entwicklungsphasen

4.5.2    MBT liefert mehr und bessere Testfälle

4.5.3    MBT unterstützt die Testautomatisierung

4.6      Einordnung von MBT in den Softwaretest

4.7      Zusammenfassung

5        Intermezzo 1: Türsteuerung

5.1      Vorüberlegungen und Planung

5.2      Modellierung Schritt 1 – funktionale Anforderungen

5.2.1    Strukturmodell

5.2.2    Verhaltensmodell

5.3      Generierung von funktionalen Testfällen

5.4      Modellierung Schritt 2 – Sicherheitsanforderungen

5.5      Neugenerierung der Testfälle

5.6      Bewertung des gewählten MBT-Vorgehens

5.7      Zusammenfassung

Teil II      MBT im Testprozess

6        MBT und der Testprozess

6.1      Ausprägungen von MBT im Testprozess

6.1.1    Modellorientiertes Testen

6.1.2    Modellgetriebenes Testen

6.1.3    Modellzentrisches Testen

6.2      Allgemeine Integration von MBT in den Testprozess

6.3      Abhängigkeit des MBT-Prozesses von den verwendeten Modellkategorien

6.3.1    Übersicht über die MBT-Varianten

6.3.2    Ausschließlich testmodellgetriebene MBT-Prozesse

6.3.3    Ausschließlich systemmodellgetriebene MBT-Prozesse

6.3.4    Das Systemmodell als Ausgangspunkt für ein generiertes Testmodell

6.3.5    System- und testmodellgetriebene MBT-Prozesse

6.4      Einsatz von MBT für verschiedene Testziele und Teststufen

6.4.1    Komponententest

6.4.2    Integrationstest

6.4.3    Systemtest

6.4.4    Systemintegrationstest

6.4.5    Abnahmetest

6.5      MBT und der Entwicklungsprozess

6.5.1    Allgemeine Aufgaben bei der Einbettung von MBT in den Entwicklungsprozess

6.5.2    Betrachtung verschiedener Vorgehensmodelle im Zusammenhang mit MBT

6.6      Zusammenfassung

7        Planung und Steuerung

7.1      Risikoidentifikation und -analyse

7.2      Bestimmung der Teststrategie

7.3      Aktivitätenplanung und Aufwandsschätzung

7.3.1    Aktivitäten und Artefakte

7.3.2    Aufwandsschätzung

7.4      Werkzeuge und Infrastruktur

7.5      Mitarbeiterqualifikation

7.5.1    Fähigkeit, Modelle lesen zu können

7.5.2    Fähigkeit, Modelle erstellen zu können

7.5.3    Weitere Fähigkeiten im Zusammenhang mit MBT

7.6      Steuerung mit Metriken und Testendekriterien

7.6.1    Produktmetriken

7.6.2    Projektmetriken

7.6.3    Prozessmetriken

7.6.4    Anforderungs- und modellbasierte Testendekriterien

7.7      Zusammenfassung

8        Intermezzo 2: CarKonfigurator

8.1      Testobjekt und Ziel

8.2      Beschreibung der Tests als »Papiermodell«

8.2.1    Beschreibung der Testschritte

8.2.2    Auswahl der Testdaten

8.3      Vom Papiermodell zum UML-Modell

8.4      Testfallgenerierung: Algorithmus und Ergebnis

8.5      Bewertung

8.6      Zusammenfassung

9        Modellierung und Modellprüfung

9.1      Überblick

9.2      Erstellung von Testmodellen

9.2.1    Grundlegende Elemente von Testmodellen

9.2.2    Modellelemente aus dem CarKonfigurator

9.2.3    Stabile Knoten-/Kantenbezeichner

9.2.4    Modellierung der Testpriorität

9.2.5    Fachlich unerwünschte Pfade

9.2.6    Modellierung von Testorakeln

9.2.7    Verknüpfung von Testmodellen und zu testenden Anforderungen

9.2.8    Exkurs: Testfallableitung aus textuellen Spezifikationen

9.2.9    Fazit: Motivation eigenständiger Testmodelle

9.3      Modellierung von Testfallspezifikationen

9.3.1    Das UML2 Testing Profile

9.3.2    FIT und FITnesse

9.3.3    TTCN-3

9.4      Exkurs: Modellierung von Testumgebungen

9.5      Nutzung vorhandener Systemmodelle

9.6      Achtung: Fallstricke!

9.6.1    Parallele Abläufe oder Alternativen?

9.6.2    Hierarchische Verfeinerungen

9.7      Übergang von Systemmodellen zu Testmodellen

9.7.1    Aus demselben Modell Code und Tests generieren?

9.7.2    Grenzen von Systemmodellen

9.7.3    Ähneln sich Systemmodelle und Testmodelle?

9.7.4    Übergänge vom Systemmodell zum Testmodell

9.7.5    Zwei Wege zum konkreten Testfall

9.8      Qualitätsmerkmale und Ziele von Modellen

9.8.1    Grundlegendes zur Qualität von Modellen

9.8.2    Korrektheit (inhaltlich)

9.8.3    Korrektheit (formal)

9.8.4    Einfachheit

9.8.5    Verständlichkeit/Lesbarkeit

9.8.6    Angemessenheit

9.8.7    Änderbarkeit

9.8.8    Vollständigkeit (inhaltlich und formal)

9.8.9    Widerspruchsfreiheit (inhaltlich und formal)

9.8.10  Prüfbarkeit

9.8.11  Werkzeugunterstützung

9.8.12  Konsistenz zu anderen Modellen

9.9      Prüfung von Modellen

9.9.1    Modellierungsrichtlinien als Grundlage

9.9.2    Reviews

9.9.3    Werkzeuggestützte Prüfungen gegen das Metamodell

9.9.4    Model Checker

9.9.5    Iteratives Modellieren und Generieren

9.9.6    Simulation

9.9.7    Geeignete Prüfungen zu Qualitätsmerkmalen

9.10    Zusammenfassung

10      Testauswahlkriterien und Testfallgenerierung

10.1    Vorbemerkung zum Umfang des Kapitels

10.2    Einführung in die Generierung

10.2.1  Was wird generiert – abstrakte oder konkrete Testfälle?

10.2.2  Einsatz struktureller Überdeckungskriterien

10.2.3  Das Big Picture der Generierungsverfahren

10.3    Generierungsverfahren im Einzelnen

10.3.1  Anforderungsbasierte Testgenerierung

10.3.2  Modellbezogene Testauswahlkriterien

10.3.3  Datenflussbasierte Testauswahlkriterien

10.3.4  Zustandsbasierte Testgenerierung

10.3.5  Datenüberdeckungskriterien

10.3.6  Nutzungs- oder nutzungsmusterbezogene Testauswahlkriterien – »Operational Profiles«

10.3.7  UTP-basierte TTCN-3-Generierung

10.4    Steuerung der Testfallgenerierung

10.4.1  Verknüpfung von Testauswahlkriterien

10.4.2  Mengenmäßige Begrenzung der Testfälle

10.4.3  Adaptive Testfallgenerierung

10.4.4  Negativregeln zum Ausschluss bestimmter Modellteile

10.5    Testneugenerierung nach Änderungen

10.5.1  Versionsmanagement und MBT

10.5.2  Pflegeprozesse nach Modelländerungen

10.5.3  Nichtüberschreibung manueller Testarbeiten

10.5.4  Exkurs: Adjazenzlisten

10.6    Zur Generierung weiterer Testartefakte

10.7    Allgemeine MBT-Taxonomie

10.8    Bewertung der Testauswahlkriterien

10.9    Zusammenfassung

11      Realisierung, Durchführung und Auswertung

11.1    Manuelle Testdurchführung

11.2    Automatisierte Testdurchführung

11.2.1  Formen der Testautomatisierung

11.2.2  Automatisierungsansätze

11.2.3  Durchführungsansätze

11.2.4  Verbindung zwischen Modellelementen und Keywords

11.2.5  MBT und Keyword-Driven Testing – änderungsstabile Testautomatisierung

11.3    Auswertung und Berichterstattung

11.3.1  Erzeugung von Traceability-Informationen

11.3.2  Nutzung der Traceability zur Fortschrittsbewertung

11.3.3  Nutzung der Traceability zur Ergebnisbewertung

11.3.4  Strategien zur Reduktion der Anzahl von Abweichungsmeldungen

11.4    Zusammenfassung

Teil III      MBT im Praxiseinsatz

12      Werkzeuge für MBT

12.1    Werkzeugeinsatz gemäß der MBT-Definition

12.2    MBT im Software Lifecycle

12.3    Klassifikationsschemata für MBT-Werkzeuge

12.4    Zusammenfassung

13      MBT erfolgreich einführen

13.1    Hindernisse für die Einführung von MBT

13.1.1  Unrealistische oder unklare Ziele

13.1.2  Falsche Werkzeugauswahl

13.1.3  Probleme von übermorgen lösen wollen

13.1.4  Erfolg haben

13.2    Erfolgsfaktoren für die Einführung von MBT

13.2.1  Ziele klar definieren und messbar machen

13.2.2  Akzeptanz schaffen

13.3    Die Einführung als Projekt planen und durchführen

13.3.1  Analysephase

13.3.2  Designphase

13.3.3  Evaluierungsphase

13.4    Werkzeuge richtig auswählen

13.4.1  Integrationsfähigkeit

13.4.2  Anpassung an Prozesse und Personal

13.4.3  Langfristige Perspektive

13.4.4  Umgang mit der Testfallexplosion

13.4.5  MBT-Ansatz passend zur Prozessreife definieren

13.5    MBT und Prozessreife

13.5.1  Reifegradbestimmung des Testprozesses

13.5.2  MBTPI – Prozessverbesserung für modellbasiertes Testen

13.5.3  Eine Roadmap zur modellbasierten Testreife

13.5.4  Skalenbereich zum Reifegrad »Modellorientiertes Testen«

13.5.5  Skalenbereich zum Reifegrad »Modellgetriebenes Testen«

13.5.6  Skalenbereich zum Reifegrad »Modellzentrisches Testen«

13.5.7  Abschließende Bemerkungen zum Reifegradmodell

13.6    Zusammenfassung

14      Wirtschaftlichkeitsbetrachtung

14.1    Übersicht über Kostenfaktoren von MBT

14.1.1  Initiale Kosten der Einführung von MBT im Unternehmen

14.1.2  Initiale Kosten der Einführung im Projekt

14.1.3  Laufende Kosten von MBT im Testprozess

14.2    Nutzen von MBT

14.2.1  Frühzeitige Anforderungsvalidierung und Fehlerfindung

14.2.2  Ersparnis bei Erstellung und Pflege der Testfälle

14.2.3  Minimierung von Testfallmengen

14.2.4  Erhöhung der Testqualität

14.3    Kostenersparnis durch MBT – Fallbeispiel Trapeze ITS

14.3.1  Ausgangssituation

14.3.2  Kosten der MBT-Einführung

14.3.3  ROI-Betrachtung der MBT-Einführung

14.4    Zusammenfassung

15      Möglichkeiten und Grenzen von MBT

15.1    Was modellbasiertes Testen leisten kann

15.2    Was modellbasiertes Testen unter Umständen leisten kann

15.3    Was modellbasiertes Testen nicht leisten kann

15.4    Was modellbasiertes Testen nicht ersetzen kann

15.5    Ausblick – was MBT künftig bringen wird

15.6    Zusammenfassung

Anhang

A        Abkürzungsverzeichnis

B        Glossar

C        Quellen

C.1      Literaturangaben

C.2      Webseiten

Index

Teil I

MBT – Einstieg und Grundlagen

1 Einleitung

Dieses Kapitel erläutert den Hintergrund, vor dem das Buch geschrieben wurde. Hauptauslöser waren der »Hype« um das Schlagwort »modellbasierter Test« sowie die Vielzahl sehr heterogener existierender Definitionen. Diese wurden mittlerweile auf einen pragmatischen gemeinsamen Nenner gebracht. Darauf aufbauend werden die Ziele des Buches formuliert und der sich daraus ergebende Aufbau sowie der Inhalt der folgenden Kapitel skizziert.

1.1 Model Based Testing – nur ein Hype?

Über 35 Jahre »The Art of Software Testing«

Seit nunmehr über 45 Jahren ist die »Softwarekrise« in mehr oder weniger spürbarer Form immer weiter in den Alltag vorgedrungen. Es vergeht kaum ein Tag, an dem nicht über »Software- oder IT-Fehler« berichtet wird. Vor über 35 Jahren erschien unter dem Titel »The Art of Software Testing« die erste Monografie zum Thema Softwaretest [Myers 1979] die seitdem zigfach fast unverändert nachgedruckt wurde. In jüngerer Zeit ist die Literatur zum Softwaretest förmlich explodiert, und mittlerweile wird bei der überwiegenden Mehrzahl von Softwareprojekten nicht mehr gefragt, ob getestet wird, sondern nur noch was, wie und wie viel. Zur Effizienzsteigerung wird dabei insbesondere auf die automatisierte Durchführung der Tests gesetzt.

Was ist modellbasiertes Testen?

Modellbasiertes Testen zielt in erster Linie darauf ab, die Automatisierung auf bislang weniger zugängliche Tätigkeiten in früheren Phasen des Testens auszudehnen. Dort werden nach wie vor aus oft umgangssprachlich formulierten Anforderungen und Systemspezifikationen unter Benutzung mehr oder weniger methodischer Verfahren Testfälle manuell erstellt. Das modellbasierte Testen konzentriert sich auf die Erstellung eines oder mehrerer formaler Modelle, anhand derer z. B. die Testfälle nach vorgegebenen Testkriterien automatisch generiert (und auch ausgeführt) werden können.

Viel testen = gut testen?

Nun bedeutet »viel testen« bzw. »Testen auf Knopfdruck« im Sinne von vielen automatisch generierten Testfällen nicht automatisch auch »gut testen«. Was aber ist »gutes Testen«? Und wie erreicht man es mit modellbasiertem Testen? Gutes Testen soll einerseits Fehler finden, bevor sie der Kunde findet. Andererseits soll gutes Testen das Vertrauen darin erhöhen, dass das Produkt seinen Einsatzzweck wirklich erfüllt. Für gutes Testen muss also einerseits bekannt sein, wo Fehler am wahrscheinlichsten zu finden sind, und andererseits müssen der Einsatzzweck und die Risiken des Produkts definiert sein.

Effektiv und effizient Testen!

Die Fragen nach der Effektivität, also den »richtigen« bzw. wichtigen Tests, sowie der Effizienz, also der »richtigen« bzw. Ressourcen sparenden Erstellung und Durchführung dieser Tests, rücken dabei immer mehr in den Vordergrund. Naturgemäß fokussiert das Management eher auf die Effizienz und damit auf die Automatisierung sich oft wiederholender und schematisch ausführbarer Tätigkeiten. Vor diesem Hintergrund ist der teilweise mit völlig überzogenen Erwartungen an die zu erzielende Produktqualität einhergehende »Hype« der automatischen Testausführungswerkzeuge in den späten 90er-Jahren zu verstehen.

MBT in der Literatur

Mark Utting und Bruno Legeard setzten in einem der ersten Bücher zu MBT [Utting 2007