Sie sind hier
E-Book

Basiswissen modellbasierter Test

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

AutorMario Winter, Thomas Roßner, Christian Brandes, Helmut Götz
Verlagdpunkt.verlag
Erscheinungsjahr2016
Seitenanzahl474 Seiten
ISBN9783960880059
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis35,99 EUR
Modellbasiertes Testen (MBT) hat zum Ziel, Prinzipien der modellbasierten Softwareentwicklung auf den Test zu übertragen. Es umfasst die Nutzung von Modellen für die Automatisierung von Testaktivitäten sowie die Modellierung von Artefakten im Testprozess. Während MBT in den letzten Jahren eher als viel diskutiertes Schlagwort wahrgenommen wurde, findet es sich heute mit guten Resultaten in der praktischen industriellen Anwendung wieder. Dieses Buch vermittelt die Grundlagen modellbasierten Testens und gibt einen fundierten Überblick über den modellbasierten Testprozess. Es zeigt darüber hinaus 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 Sie diese Fallstricke vermeiden können. Zahlreiche Beispiele auf Basis zweier durchgängiger Anwendungen erläutern die methodischen Grundlagen. Im Rahmen einer Fallstudie wird insbesondere auf die Qualitätsgewinne und Einsparpotenziale eingegangen, die MBT realisieren kann. Die 2. Auflage wurde vollständig überarbeitet und ist konform zum ISTQB®-Lehrplan Foundation Level Extension »Model-Based Tester«. »Das Buch überzeugt in seinem stilistisch wohlausgewogenen Herangehen an die Materie, die aus verschiedenen Perspektiven betrachtet und analysiert wird.« Aus dem Geleitwort zur 1. Auflage von Prof. Dr. Ina Schieferdecker

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 Lehr-und 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«. 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«. 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. 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«.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

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...

Blick ins Buch
Inhaltsverzeichnis
Basiswissen modellbasierter Test1
Vorwort zur zweiten Auflage5
Danksagung8
Geleitwort zur ersten Auflage11
von Prof. Dr. Ina Schieferdecker TU Berlin/Fraunhofer FOKUS11
Inhaltsübersicht13
Inhaltsverzeichnis15
Teil I – MBT – Einstieg und Grundlagen25
1 Einleitung27
1.1 Model Based Testing – nur ein Hype?27
Tab. 1–1 Ergebnisse der Studie zum modellbasierten Testen [Dias-Neto 2009]29
Abb. 1–1 Erfüllte Erwartungen in der MBT-Umfrage 2015 (aus: [Binder 2015])30
1.2 Viele Definitionen für modellbasiertes Testen31
1.3 Ziele des Buches34
Rahmen und Definitionen zu MBT schaffen34
Rüstzeug für weiterführende Fachliteratur vermitteln34
MBT in der Breite, aber nicht immer in der Tiefe präsentieren34
Unterschiede zum konventionellen Testprozess klären35
Unrealistische Erwartungen an MBT beseitigen35
Nutzen und Potenziale von MBT identifizieren35
Eignungsprüfung für eigene Testprojekte ermöglichen36
Bei der MBT-Werkzeugauswahl unterstützen36
An Beispielen veranschaulichen36
1.4 Aufbau des Buches37
1.5 Leseanleitung für die Qualifikation zum ISTQB® Certified Model-Based Tester39
Tab. 1–2 Einstiegspunkte gemäß ISTQB®-MBT-Lehrplan40
1.6 Zwei Fallbeispiele44
1.6.1 Produktskizze CarKonfigurator44
Abb. 1–2 Benutzerschnittstelle des CarKonfigurators44
Funktionale Anforderungen44
Benutzbarkeitsanforderungen45
1.6.2 Produktskizze Türsteuerung45
Funktionale Anforderungen45
Sicherheitsanforderungen46
2 Testen heute47
2.1 Grundbegriffe von Qualitätssicherung und Testen47
Abb. 2–1 Zusammenhänge bei dynamischen Tests49
2.1.1 Testverfahren50
2.1.2 Kriterien zur Testüberdeckung51
2.1.3 Teststufen52
Abb. 2–2 Aufbau eines Testrahmens (nach [Spillner 2012])54
2.1.4 Randbedingungen des Testens55
Abb. 2–3 Das Test-»Teufelsquadrat« (nach [Sneed 1987])56
2.2 Der fundamentale Testprozess56
Abb. 2–4 Testprozess und Dokumente nach ISTQB®57
2.2.1 Phasen des Testprozesses57
2.2.2 Testplanung58
2.2.3 Teststeuerung und -kontrolle58
2.2.4 Testanalyse und -entwurf59
2.2.5 Testrealisierung und -durchführung59
2.2.6 Bewertung von Endekriterien und Bericht60
2.2.7 Abschluss der Testaktivitäten61
2.2.8 Rollen im Testprozess61
2.3 Herausforderungen beim Testen heute62
2.3.1 Kostenfaktor Test63
2.3.2 Mangelnde Testqualität64
2.3.3 Tester mit Fach-, aber ohne IT-Wissen65
2.3.4 Komplexität der Tests66
2.3.5 Testautomatisierung67
2.3.6 Mangelnde Qualität der Testbasis67
2.3.7 Zu späte Einbindung des Endkunden68
Abb. 2–5 Die 10 Hauptursachen, warum laut Standish Group Softwareprojekte scheitern [URL: Standish]68
2.4 Zusammenfassung69
3 Einführung in die Modellierung71
3.1 Wat is’n Modell?71
Abb. 3–1 Modellierung (nach [Mahr 2009])73
3.2 Allgemeiner Vergleich von Texten und Modellen74
3.2.1 Merkmale und Mängel natürlicher Sprache74
3.2.2 Vorteile formaler Modelle und visueller Darstellungen75
3.3 Exkurs: Grundbegriffe der Graphentheorie78
Abb. 3–2 Gerichteter Graph mit 6 Knoten79
Abb. 3–3 Suchbaum mit 9 Knoten und 6 Blättern80
3.4 UML – ein Standard der Softwaremodellierung81
Abb. 3–4 Sichten und Diagramme der UML 281
3.5 Modellierung statischer Strukturen82
3.5.1 Objektmodellierung82
Abb. 3–5 Objekt und Attribute mit Werten in UML83
Abb. 3–6 Objekte und Verbindungen in UML84
3.5.2 Klassenmodellierung84
Klassen, Attribute und Operationen84
Abb. 3–7 Klasse mit Attributen und Operationen in UML86
Assoziationen86
Abb. 3–8 Assoziation in UML87
Abb. 3–9 Klassenmodell des CarKonfigurators in UML88
Generalisierung, abstrakte Klassen und Interfaces88
Abb. 3–10 Klassendiagramm mit Generalisierung und abstrakter Oberklasse90
3.5.3 Pakete und Komponenten90
Abb. 3–11 Pakete und Paketbeziehungen in UML91
Abb. 3–12 Komponenten in UML92
3.5.4 ER-Modellierung92
Abb. 3–13 Ausschnitt aus dem ER-Modell des CarKonfigurators93
3.6 Modellierung dynamischen Verhaltens93
3.6.1 Aktivitätsmodellierung94
Abb. 3–14 Aktivitätsdiagramm mit Aufrufaktion und Verzweigung95
Abb. 3–15 Aktivitätsdiagramm mit parallelem Ablauf97
Abb. 3–16 Aktivitätsdiagramm mit Aufrufaktion und Objektfluss98
3.6.2 Geschäftsprozessmodellierung mit BPMN98
Abb. 3–17 BPMN-Diagramm des Bestellprozesses im VirtualShowRoom100
3.6.3 Zustandsmodellierung100
Abb. 3–18 Zustandsdiagramm der GUI des CarKonfigurators105
3.6.4 Interaktionsmodellierung105
Abb. 3–19 UML-Sequenzdiagramm106
Tab. 3–1 Interaktionsoperatoren der UML (nach [Rupp 2012])108
3.7 Nebenläufigkeits- und Echtzeitmodellierung109
3.7.1 Petri-Netze109
Abb. 3–20 Petri-Netz der Türsteuerung111
3.7.2 Zeitdiagramm112
Abb. 3–21 Zeitlicher Ablauf in CarKonfigurator113
3.8 Umgebungs-, Funktions- und Nutzungsmodellierung113
3.8.1 Umgebungsmodellierung mit Akteuren113
Abb. 3–22 Systemumgebung der Türsteuerung114
3.8.2 Funktionsmodellierung mit Anwendungsfällen114
Abb. 3–23 Anwendungsfalldiagramm CarKonfigurator116
Abb. 3–24 Beschreibungsschema für Anwendungsfälle117
3.8.3 Nutzungsmodellierung118
Abb. 3–25 Nutzungshäufigkeit der Systemfunktion »Öffnen« der Türsteuerung118
Abb. 3–26 Ereignis-Sequenz-Graph der Türsteuerung119
Abb. 3–27 Nutzungsprofil der Türsteuerung120
3.8.4 Präzisierung von Modellen mit der OCL121
3.9 Metamodellierung und Profile122
3.9.1 UML – Spracharchitektur und Metamodell123
Abb. 3–28 Ausschnitt aus dem UML-Metamodell (aus [OMG 2015])124
3.9.2 Stereotype und Profile124
Abb. 3–29 Darstellungsformen einer stereotypisierten Klasse125
Abb. 3–30 UML-Metamodellausschnitt für Stereotype und Profile126
3.10 Zusammenfassung127
4 MBT – ein Einstieg129
4.1 Detaillierte Definition von MBT129
Abb. 4–1 Tests modellieren und Tests generieren129
4.2 MBT zur Testfallgenerierung130
Abb. 4–2 Manuelles und automatisiertes Testen131
Abb. 4–3 MBT für die Erstellung von Testfällen131
4.3 MBT im Projektkontext131
Abb. 4–4 Die Modell-Stakeholder im Überblick132
4.4 MBT-Modellkategorien133
4.4.1 Drei Modellkategorien für MBT133
Abb. 4–5 Zusammenhang der drei Modellkategorien134
4.4.2 Umgebungsmodelle134
4.4.3 Systemmodelle135
4.4.4 Testmodelle136
Abb. 4–6 Die Bestandteile eines Testmodells137
4.5 Nutzen von MBT138
4.5.1 MBT reduziert Fehler in frühen Entwicklungsphasen138
4.5.2 MBT liefert mehr und bessere Testfälle139
4.5.3 MBT unterstützt die Testautomatisierung140
Abb. 4–7 MBT und Testautomatisierung141
4.6 Einordnung von MBT in den Softwaretest141
Abb. 4–8 Einordnung von MBT in den Softwaretest (nach [Schieferdecker 2007])142
4.7 Zusammenfassung142
5 Intermezzo 1: Türsteuerung143
5.1 Vorüberlegungen und Planung143
5.2 Modellierung Schritt 1 – funktionale Anforderungen143
5.2.1 Strukturmodell144
Abb. 5–1 Initiales Klassendiagramm der Türsteuerung144
Abb. 5–2 Die Türsteuerung als konkrete Objekte145
5.2.2 Verhaltensmodell145
Abb. 5–3 Zustandsdiagramm der Türsteuerung146
5.3 Generierung von funktionalen Testfällen146
5.4 Modellierung Schritt 2 – Sicherheitsanforderungen149
Abb. 5–4 Datenmodell mit Erweiterung um Notentriegelung149
Abb. 5–5 Zustandsmodell mit Erweiterung um Notentriegelung150
5.5 Neugenerierung der Testfälle151
5.6 Bewertung des gewählten MBT-Vorgehens154
5.7 Zusammenfassung155
Teil II – MBT im Testprozess157
6 MBT und der Testprozess159
6.1 Ausprägungen von MBT im Testprozess160
Abb. 6–1 Ausprägungen von modellbasiertem Testen160
6.1.1 Modellorientiertes Testen160
Abb. 6–2 Modellorientiertes Testen161
Abb. 6–3 W-Modell (Quelle: [Spillner 2002])162
6.1.2 Modellgetriebenes Testen162
Abb. 6–4 Modellgetriebenes Testen163
6.1.3 Modellzentrisches Testen163
Abb. 6–5 Modellzentrisches Testen mit Ringstruktur bzw. Rücktransformation164
6.2 Allgemeine Integration von MBT in den Testprozess165
Abb. 6–6 Änderungen im ISTQB®-Testprozess durch die Einführung von MBT (aus [Eckardt 2009])165
Tab. 6–1 Änderungen in Testplanung und Steuerung166
Tab. 6–2 Änderungen in Testanalyse und Testentwurf166
Tab. 6–3 Änderungen in Testrealisierung und Testdurchführung167
Tab. 6–5 Phase Testabschluss167
6.3 Abhängigkeit des MBT-Prozesses von den verwendeten Modellkategorien168
6.3.1 Übersicht über die MBT-Varianten168
Abb. 6–7 Varianten modellbasierten Testens (aus [Schieferdecker 2007])169
6.3.2 Ausschließlich testmodellgetriebene MBT-Prozesse169
Abb. 6–8 Aktivitäten im testmodellgetriebenen Testprozess171
Testmanagement171
Modellierung172
Realisierung172
Durchführung173
6.3.3 Ausschließlich systemmodellgetriebene MBT-Prozesse174
Abb. 6–9 Aktivitäten im systemmodellgetriebenen Testprozess176
6.3.4 Das Systemmodell als Ausgangspunkt für ein generiertes Testmodell177
Abb. 6–10 Aktivitäten im systemmodellgetriebenen Prozess mit generiertem Testmodell178
6.3.5 System- und testmodellgetriebene MBT-Prozesse179
6.4 Einsatz von MBT für verschiedene Testziele und Teststufen179
Tab. 6–6 UML-Diagrammtypen und ihre Nutzung im Testen (aus [Schieferdecker 2007]).180
6.4.1 Komponententest181
6.4.2 Integrationstest181
6.4.3 Systemtest182
6.4.4 Systemintegrationstest182
6.4.5 Abnahmetest183
6.5 MBT und der Entwicklungsprozess183
6.5.1 Allgemeine Aufgaben bei der Einbettung von MBT in den Entwicklungsprozess183
6.5.2 Betrachtung verschiedener Vorgehensmodelle im Zusammenhang mit MBT184
MBT im sequenziellen Entwicklungsvorgehen184
Abb. 6–11 Allgemeines V-Modell185
MBT im iterativ-inkrementellen Entwicklungsvorgehen185
Abb. 6–12 Rational Unified Process186
Abb. 6–13 RUP und testmodellgetriebener MBT-Prozess (aus [Bouquet 2006])188
MBT und agile Entwicklungsmodelle188
Abb. 6–14 MBT außerhalb und innerhalb eines agilen Vorgehens (aus [Puolitaival 2008])189
6.6 Zusammenfassung191
7 Planung und Steuerung193
7.1 Risikoidentifikation und -analyse194
Tab. 7–1 Top-Ten-Risikofaktoren und deren Ausprägung bei der Einführung von MBT195
7.2 Bestimmung der Teststrategie196
7.3 Aktivitätenplanung und Aufwandsschätzung198
7.3.1 Aktivitäten und Artefakte198
7.3.2 Aufwandsschätzung200
Abb. 7–1 Projektstrukturplan für den Systemtest der Türsteuerung201
Abb. 7–2 Verfeinerter Projektstrukturplan mit Testzielen und Details zur Modellierung202
Abb. 7–3 Projektplan nach dem Planning Poker203
Abb. 7–4 Projektplan nach Korrektur während der Modellierungsphase204
7.4 Werkzeuge und Infrastruktur204
7.5 Mitarbeiterqualifikation205
Abb. 7–5 Modellierer und Tester – zwei Gruppen mit kleiner Schnittmenge206
Abb. 7–6 Modellierungskenntnisse207
7.5.1 Fähigkeit, Modelle lesen zu können207
7.5.2 Fähigkeit, Modelle erstellen zu können208
7.5.3 Weitere Fähigkeiten im Zusammenhang mit MBT209
7.6 Steuerung mit Metriken und Testendekriterien209
Tab. 7–4 Messziele und Messobjekte für Testmetriken (aus [Spillner 2014])210
7.6.1 Produktmetriken210
7.6.2 Projektmetriken211
Abb. 7–7 Anzahl spezifizierter Testfälle im klassischen und im modellbasierten Test212
Tab. 7–5 Gegenüberstellung von klassischen und modellbasierten Fortschrittsmetriken213
Abb. 7–8 Gegenüberstellung der Zahl generierter Testfälle und der in Testmodellen referenzierten Anforderungen213
7.6.3 Prozessmetriken213
Abb. 7–9 DDP und Fehlerfindungszahlen von drei Teststufen über zehn Entwicklungsstände beobachtet215
Abb. 7–10 DDP pro Arbeitsstunde in drei Teststufen über zehn Entwicklungsstände216
Tab. 7–6 Gegenüberstellung von klassischen und modellbasierten Prozessmetriken216
7.6.4 Anforderungs- und modellbasierte Testendekriterien217
Abb. 7–11 Ausschnitt aus dem Testmodell für eine Zentralverriegelung218
7.7 Zusammenfassung219
8 Intermezzo 2: CarKonfigurator221
8.1 Testobjekt und Ziel221
8.2 Beschreibung der Tests als »Papiermodell«222
8.2.1 Beschreibung der Testschritte222
Abb. 8–1 Einfaches Modell der Testschritte223
8.2.2 Auswahl der Testdaten224
Abb. 8–2 Mögliche Äquivalenzklassen und Repräsentanten zum Parameter »Rabatt«225
Abb. 8–3 Anreicherung des Testschrittemodells um die jeweils gewählten Testdaten227
8.3 Vom Papiermodell zum UML-Modell227
Abb. 8–4 Ausschnitt aus einem möglichen UML-Profil zur vorgeschlagenen Testmodellierung228
Abb. 8–5 Datentypen und Äquivalenzklassen als UML-Klassen229
Abb. 8–6 Gewählte Testdaten- Repräsentanten als Objekte230
Abb. 8–7 Testschritte und zugewiesene Testdaten als Aktivitätsdiagramm231
8.4 Testfallgenerierung: Algorithmus und Ergebnis232
Abb. 8–8 Aus dem Modell generierte Testfälle in einem Testmanagementwerkzeug233
8.5 Bewertung234
Der Fehler zum Fahrzeugtyp »Rolo« wird von den generierten Testfällen nicht aufgedeckt234
Nicht alles auf einmal mit nur einem Diagramm testen234
Pflegeprozesse nach Modelländerungen235
Fachlich unerwünschte Pfade aus der Generierung herausnehmen235
8.6 Zusammenfassung235
9 Modellierung und Modellprüfung237
9.1 Überblick237
Abb. 9–1 Überblick über die behandelten Szenarien238
9.2 Erstellung von Testmodellen238
9.2.1 Grundlegende Elemente von Testmodellen238
Abb. 9–2 Elemente eines Testfalls (Wiederholung)239
9.2.2 Modellelemente aus dem CarKonfigurator240
Tab. 9–1 Im Beispiel gewählte UML-Darstellung von Testfallelementen240
Abb. 9–3 Die verwendeten Modellelemente im Einsatz241
9.2.3 Stabile Knoten-/Kantenbezeichner241
9.2.4 Modellierung der Testpriorität242
Abb. 9–4 Kennzeichnung des Normalablaufs in einem Aktivitätsdiagramm243
9.2.5 Fachlich unerwünschte Pfade243
Abb. 9–5 Im Modell enthaltener, aber fachlich unerwünschter Pfad (»Geschlechtsumwandlung«)244
9.2.6 Modellierung von Testorakeln245
9.2.7 Verknüpfung von Testmodellen und zu testenden Anforderungen247
Abb. 9–6 Beziehungen zur Rückverfolgbarkeit248
Abb. 9–7 Zu testende Anforderungen als eigenständige Elemente direkt im Testmodell249
9.2.8 Exkurs: Testfallableitung aus textuellen Spezifikationen250
Abb. 9–8 Die Testfallableitung aus Prosatexten bringt gleich mehrere Probleme mit sich.251
9.2.9 Fazit: Motivation eigenständiger Testmodelle252
Abb. 9–9 Parallelen zwischen Entwurfsmodell und Testmodell253
9.3 Modellierung von Testfallspezifikationen253
9.3.1 Das UML2 Testing Profile253
Abb. 9–10 UTP-Testverhalten (aus [URL: UTP])256
9.3.2 FIT und FITnesse257
Abb. 9–11 Testtabelle in FIT (Quelle: [URL: FIT])258
9.3.3 TTCN-3258
Abb. 9–12 Aufbau von TTCN-3 (nach [Willcock 2005])259
Abb. 9–13 TTCN-3 Beispielspezifikation260
9.4 Exkurs: Modellierung von Testumgebungen261
9.5 Nutzung vorhandener Systemmodelle264
9.6 Achtung: Fallstricke!265
9.6.1 Parallele Abläufe oder Alternativen?265
Abb. 9–14 Modellierung paralleler Abläufe266
9.6.2 Hierarchische Verfeinerungen268
Abb. 9–15 Hierarchische Verfeinerung von Modellen268
9.7 Übergang von Systemmodellen zu Testmodellen269
9.7.1 Aus demselben Modell Code und Tests generieren?270
Abb. 9–16 »Alles« aus demselben Modell zu generieren ist gefährlich!270
9.7.2 Grenzen von Systemmodellen270
9.7.3 Ähneln sich Systemmodelle und Testmodelle?271
Abb. 9–17 Eine Verzweigung in einem Ablaufdiagramm272
Abb. 9–18 Testmodell zum Türsteuerungs-Beispiel273
9.7.4 Übergänge vom Systemmodell zum Testmodell273
Abb. 9–19 CarKonfigurator- Testmodell in tedeso274
9.7.5 Zwei Wege zum konkreten Testfall276
9.8 Qualitätsmerkmale und Ziele von Modellen277
9.8.1 Grundlegendes zur Qualität von Modellen277
9.8.2 Korrektheit (inhaltlich)278
9.8.3 Korrektheit (formal)278
9.8.4 Einfachheit279
9.8.5 Verständlichkeit/Lesbarkeit279
9.8.6 Angemessenheit279
9.8.7 Änderbarkeit279
9.8.8 Vollständigkeit (inhaltlich und formal)280
9.8.9 Widerspruchsfreiheit (inhaltlich und formal)280
9.8.10 Prüfbarkeit280
9.8.11 Werkzeugunterstützung281
9.8.12 Konsistenz zu anderen Modellen281
9.9 Prüfung von Modellen282
9.9.1 Modellierungsrichtlinien als Grundlage282
9.9.2 Reviews283
9.9.3 Werkzeuggestützte Prüfungen gegen das Metamodell283
9.9.4 Model Checker283
9.9.5 Iteratives Modellieren und Generieren284
9.9.6 Simulation285
9.9.7 Geeignete Prüfungen zu Qualitätsmerkmalen286
Tab. 9–2 Mögliche Qualitäts- sicherungsmaßnahmen pro Qualitätsmerkmal286
9.10 Zusammenfassung287
10 Testauswahlkriterien und Testfallgenerierung289
10.1 Vorbemerkung zum Umfang des Kapitels289
10.2 Einführung in die Generierung290
10.2.1 Was wird generiert – abstrakte oder konkrete Testfälle?290
Abb. 10–1 Modellierung des CarKonfigurator-Beispiels im MBT-Werkzeug tedeso292
Abb. 10–2 Abstrakte (links) und konkrete (rechts) Testfalldarstellung292
10.2.2 Einsatz struktureller Überdeckungskriterien293
10.2.3 Das Big Picture der Generierungsverfahren294
Abb. 10–3 Taxonomie der MBT-Testauswahlkriterien296
10.3 Generierungsverfahren im Einzelnen296
10.3.1 Anforderungsbasierte Testgenerierung296
10.3.2 Modellbezogene Testauswahlkriterien298
Kontrollflussorientierte Testgenerierung298
10.3.3 Datenflussbasierte Testauswahlkriterien301
10.3.4 Zustandsbasierte Testgenerierung302
Abb. 10–4 Beispiel für zustandsbasierte Überdeckungskriterien303
10.3.5 Datenüberdeckungskriterien304
Statistisches Datenüberdeckungskriterium305
Paarweise Überdeckung (Pairwise Coverage)305
10.3.6 Nutzungs- oder nutzungsmusterbezogene Testauswahlkriterien – »Operational Profiles«306
Abb. 10–5 Prozess des statistischen Testens (aus [Zander-Nowicka 2008])306
Schritt 1: Erstellung des Modells309
Abb. 10–6 Aktivitätsdiagramm mit Übergangswahrscheinlichkeiten310
Schritt 2: Bestimmung der Übergangswahrscheinlichkeit310
Schritt 3: Umwandlung in eine Markov-Kette310
Abb. 10–7 »Flache« Markov-Kette mit konkreten (berechneten) Übergangswahrscheinlichkeiten311
10.3.7 UTP-basierte TTCN-3-Generierung311
Abb. 10–8 Klassendiagramm des Testkontextes für den CarKonfigurator-Systemtest312
Abb. 10–9 Klassendiagramm des Testdatenpools für den CarKonfigurator- Systemtest313
Abb. 10–10 Sequenzdiagramm eines Testfalls für den CarKonfigurator- Systemtest314
Abb. 10–11 TTCN-3-Spezifikation des Testkontexts315
10.4 Steuerung der Testfallgenerierung317
10.4.1 Verknüpfung von Testauswahlkriterien317
10.4.2 Mengenmäßige Begrenzung der Testfälle319
Abb. 10–12 Zustandsautomat einer Schiebetür mit Angabe der Wichtigkeit der Funktionen durch Stereotypen320
10.4.3 Adaptive Testfallgenerierung321
Abb. 10–13 Prinzipdarstellung einer Systemtestphase321
Tab. 10–1 Einfluss der Generierungsoptionen auf die Anzahl der generierten Testfälle am Beispiel CarKonfigurator, realisiert mit dem Werkzeug tedeso322
10.4.4 Negativregeln zum Ausschluss bestimmter Modellteile322
Abb. 10–14 Markierung einer fachlich unerwünschten Kantenkombination323
Abb. 10–15 Entscheidungstabelle zur Auswahl von unerwünschten Pfaden324
10.5 Testneugenerierung nach Änderungen324
10.5.1 Versionsmanagement und MBT325
10.5.2 Pflegeprozesse nach Modelländerungen326
10.5.3 Nichtüberschreibung manueller Testarbeiten326
10.5.4 Exkurs: Adjazenzlisten328
10.6 Zur Generierung weiterer Testartefakte329
10.7 Allgemeine MBT-Taxonomie330
Abb. 10–16 Taxonomie von modellbasiertem Test330
10.8 Bewertung der Testauswahlkriterien332
Tab. 10–4 Vor- und Nachteile der Testauswahlkriterien332
10.9 Zusammenfassung333
11 Realisierung, Durchführung und Auswertung335
11.1 Manuelle Testdurchführung335
Abb. 11–1 Textuelle Testfallspezifikation als Grundlage für manuelle Testdurchführung336
Abb. 11–2 Grafische Testfallspezifikation als Grundlage für manuelle Testdurchführung337
Abb. 11–3 Darstellung von generierten Testfällen in einem Durchführungsassistenten338
11.2 Automatisierte Testdurchführung338
11.2.1 Formen der Testautomatisierung339
Capture & Replay339
Programmierte Testautomatisierung341
Data-Driven Testing342
Keyword-Driven Testing343
11.2.2 Automatisierungsansätze344
Der »Adapteransatz«344
Der »Transformationsansatz«345
Der »kombinierte Ansatz«345
Abb. 11–4 Automatisierungsansätze (nach [Utting 2007])345
11.2.3 Durchführungsansätze346
Abb. 11–5 Modellbasierte Online-/ Offline-Testdurchführung346
11.2.4 Verbindung zwischen Modellelementen und Keywords347
Abb. 11–6 Vom Testmodell zur modellbasierten Testautomatisierung mittels Keywords348
Abb. 11–7 Aufgabenteilung zwischen Testanalyst und Testautomatisierer348
11.2.5 MBT und Keyword-Driven Testing – änderungsstabile Testautomatisierung349
11.3 Auswertung und Berichterstattung351
11.3.1 Erzeugung von Traceability-Informationen351
Abb. 11–8 Ausgewählter Pfad im Testmodell des CarKonfigurators353
Abb. 11–9 Kombinationsmöglichkeiten der Testdaten354
Abb. 11–10 Ablagestruktur im Testmanagementsystem sorgt für automatische Traceability355
11.3.2 Nutzung der Traceability zur Fortschrittsbewertung356
Abb. 11–11 Ergebnisdarstellung der CarKonfigurator-Tests im Testmanagementsystem356
Abb. 11–12 Darstellung des Testfortschritts auf Modellebene357
11.3.3 Nutzung der Traceability zur Ergebnisbewertung358
Abb. 11–13 Darstellung und Protokollierung der Testfälle im Durchführungsassistenten359
Abb. 11–14 Darstellung fehlerhafter Pfade und Daten im Modell360
11.3.4 Strategien zur Reduktion der Anzahl von Abweichungsmeldungen360
Abb. 11–15 Beispiel für die Ähnlichkeitsfunktion von vier Pfaden eines LTS (aus [Cartaxo 2007])362
11.4 Zusammenfassung363
Teil III – MBT im Praxiseinsatz365
12 Werkzeuge für MBT367
12.1 Werkzeugeinsatz gemäß der MBT-Definition367
12.2 MBT im Software Lifecycle368
Abb. 12–1 Typische Werkzeuglandschaft im herkömmlichen Testprozess368
Abb. 12–2 Beispielhafte Einbindung eines MBT-Werkzeugs im Entwicklungsprozess369
Tab. 12–1 Evaluierte MBT-Werkzeuge in [Götz 2009]370
12.3 Klassifikationsschemata für MBT-Werkzeuge370
Kategorie I – modellbasierte Testdatengeneratoren371
Abb. 12–3 Prinzipdarstellung für modellbasierte Testdatengeneratoren372
Abb. 12–4 CTE TESTONA als Vertreter von modellbasierten Testdateneditoren/ -generatoren373
Kategorie II – modellbasierte Testfalleditoren373
Abb. 12–5 Prinzipdarstellung für modellbasierte Testfalleditoren374
Kategorie III – modellbasierte Testfallgeneratoren375
Abb. 12–6 Prinzipdarstellung für modellbasierte Testfallgeneratoren375
12.4 Zusammenfassung376
13 MBT erfolgreich einführen377
13.1 Hindernisse für die Einführung von MBT377
13.1.1 Unrealistische oder unklare Ziele378
13.1.2 Falsche Werkzeugauswahl378
13.1.3 Probleme von übermorgen lösen wollen379
13.1.4 Erfolg haben380
13.2 Erfolgsfaktoren für die Einführung von MBT380
13.2.1 Ziele klar definieren und messbar machen380
13.2.2 Akzeptanz schaffen381
13.3 Die Einführung als Projekt planen und durchführen382
Abb. 13–1 Einführungsvorgehen für MBT382
13.3.1 Analysephase383
Fragen zur Feststellung des Bedarfs383
Fragen zur Feststellung der Fähigkeiten384
13.3.2 Designphase386
13.3.3 Evaluierungsphase387
13.4 Werkzeuge richtig auswählen387
13.4.1 Integrationsfähigkeit388
13.4.2 Anpassung an Prozesse und Personal388
13.4.3 Langfristige Perspektive389
13.4.4 Umgang mit der Testfallexplosion390
13.4.5 MBT-Ansatz passend zur Prozessreife definieren390
13.5 MBT und Prozessreife391
13.5.1 Reifegradbestimmung des Testprozesses391
Abb. 13–2 TPI NEXT®-Entwicklungsmatrix mit Clustern392
TPI-Skalen und MBT-Ausprägungen392
13.5.2 MBTPI – Prozessverbesserung für modellbasiertes Testen394
Tab. 13–1 MBTPI-Kernbereiche und ihre Zuordnung zu TPI NEXT-Kernbereichen395
13.5.3 Eine Roadmap zur modellbasierten Testreife396
Tab. 13–2 Reifegrade der MBTPI-Kernbereiche je MBT-Ausprägung396
Abb. 13–3 MBTPI- Entwicklungsmatrix398
13.5.4 Skalenbereich zum Reifegrad »Modellorientiertes Testen«399
Skala 1: Modelle zur Lösung einzelner Aufgabenstellungen399
Skala 2: Strategische Verankerung im Projekt399
Skala 3: Berücksichtigung von MBT bei der Aufwandsschätzung400
13.5.5 Skalenbereich zum Reifegrad »Modellgetriebenes Testen«401
Skala 4: Einführung von Generatoren401
Skala 6: Einordnung der MBT-Verfahren im Testkonzept401
Skala 7: Standardisierung des MBT-Prozesses402
Skala 8: Substanzielle Kostenersparnis durch MBT402
13.5.6 Skalenbereich zum Reifegrad »Modellzentrisches Testen«403
Skala 9: Kompetenzaufbau in allgemeinen Modellierungsthemen403
Skala 10: MBT im Zentrum des Testprozesses403
Skala 13: Organisatorische Verankerung von MBT404
13.5.7 Abschließende Bemerkungen zum Reifegradmodell405
13.6 Zusammenfassung405
14 Wirtschaftlichkeitsbetrachtung407
14.1 Übersicht über Kostenfaktoren von MBT407
14.1.1 Initiale Kosten der Einführung von MBT im Unternehmen408
14.1.2 Initiale Kosten der Einführung im Projekt409
14.1.3 Laufende Kosten von MBT im Testprozess410
14.2 Nutzen von MBT411
14.2.1 Frühzeitige Anforderungsvalidierung und Fehlerfindung412
Tab. 14–1 Fehlerkosten in IT-Projekten [SQS 2009]412
14.2.2 Ersparnis bei Erstellung und Pflege der Testfälle412
14.2.3 Minimierung von Testfallmengen413
14.2.4 Erhöhung der Testqualität414
14.3 Kostenersparnis durch MBT – Fallbeispiel Trapeze ITS414
Abb. 14–1 Fahrgastinformation Hamburg (Quelle: Trapeze ITS Switzerland)415
14.3.1 Ausgangssituation415
Tab. 14–2 MBT-tedeso-Projekt bei Trapeze ITS415
Abb. 14–2 Testansatz vor der MBT- Einführung416
Abb. 14–3 Testansatz nach der Einführung des MBT-Werkzeugs tedeso417
14.3.2 Kosten der MBT-Einführung417
Tab. 14–3 Kosten des MBT-Projekts aufgeschlüsselt nach Projektphasen419
14.3.3 ROI-Betrachtung der MBT-Einführung419
Größe des Testmodells vs. Seitenanzahl der Anforderungsdokumente419
Abb. 14–4 Snapshot aus dem tedeso-Testmodell421
Frühzeitige Fehlerfindung421
Abb. 14–5 Beispiel einer Fehlerbehebungskette in den Anforderungen422
Erhebliche Einsparungen bei der Testfallerstellung423
Tab. 14–4 Übersicht der Aufwände für die Testfallerstellung vor und nach der MBT-Einführung424
»Voice of the Customer«425
14.4 Zusammenfassung426
15 Möglichkeiten und Grenzen von MBT427
15.1 Was modellbasiertes Testen leisten kann427
Komplexitätsreduktion und Testveranschaulichung427
Hohe Testüberdeckung und transparente standardisierte Testentstehung428
Abb. 15–1 MBT = Übergang vom impliziten zum expliziten Testmodell429
Generierte Pfad- und Datenkombinationen mit nicht offensichtlichen Abläufen429
Verbesserte Rückverfolgbarkeit und Testpflege430
Wieder- bzw. Weiterverwendung bestehender Modelle430
Frühzeitigkeit der Testaktivitäten431
Automatisierung schon bei der Testfallerstellung431
Durchgängige Vorbereitung einer automatisierten Testdurchführung431
Sinnvolle Ergänzung der konventionellen Testdesignmethoden431
15.2 Was modellbasiertes Testen unter Umständen leisten kann432
Tab. 15–1 In einem Beispiel-MBT- Projekt gefundene Fehler (aus [Steingruber 2008])433
15.3 Was modellbasiertes Testen nicht leisten kann434
Komplette Automatisierung der Testfallentstehung auf Basis vorhandener Systemmodelle434
Generierung von Code und Testfällen aus denselben Modellen434
Automatische Steigerung der Testqualität434
15.4 Was modellbasiertes Testen nicht ersetzen kann435
Erfahrungsbasiertes und intuitives Testen435
Tests auf Bedienbarkeit435
Fachwissen436
Gesunder Menschenverstand436
15.5 Ausblick – was MBT künftig bringen wird436
Abb. 15–2 ModelBus-Konzept und Architektur (Quelle: [URL: ModelBus])438
15.6 Zusammenfassung439
Anhang441
A Abkürzungsverzeichnis443
B Glossar445
C Quellen455
C.1 Literaturangaben455
C.2 Webseiten466
(letzter Zugriff am 26. Februar 2016)466
Index469
www.dpunkt.de0

Weitere E-Books zum Thema: Management - Wirtschaft - Coaching

Opinion Mining im Web 2.0

E-Book Opinion Mining im Web 2.0

In diesem Buch werden die Grundlagen des Opinion Minings dargestellt sowie mögliche Ansätze, Methoden und Algorithmen aus den Bereichen Text Mining, linguistische Algorithmen, semantische ...

PostgreSQL 9

E-Book PostgreSQL 9

POSTGRESQL 9 //- Administration und Programmierung der Open Source-Datenbank- Die Version 9 mit vielen neuen Features- Migration von und Replikation mit anderen Datenbanksystemen- Einbindung in die ...

SQL Server

E-Book SQL Server

Datenbanken bilden das Rückgrat nahezu jeder Businessanwendung. Dabei spielt oft die Performance eine entscheidende Rolle. Solange diese akzeptabel ist, wird das Thema gerne unterbewertet. Wenn sich ...

Weitere Zeitschriften

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

dental:spiegel

dental:spiegel

dental:spiegel - Das Magazin für das erfolgreiche Praxisteam. Der dental:spiegel gehört zu den Top 5 der reichweitenstärksten Fachzeitschriften für Zahnärzte in Deutschland (laut LA-DENT 2011 ...

SPORT in BW (Württemberg)

SPORT in BW (Württemberg)

SPORT in BW (Württemberg) ist das offizielle Verbandsorgan des Württembergischen Landessportbund e.V. (WLSB) und Informationsmagazin für alle im Sport organisierten Mitglieder in Württemberg. ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

Evangelische Theologie

Evangelische Theologie

 Über »Evangelische Theologie« In interdisziplinären Themenheften gibt die Evangelische Theologie entscheidende Impulse, die komplexe Einheit der Theologie wahrzunehmen. Neben den ...