O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Basiswissen modellbasierter Test, 2nd Edition

Book Description

– erstes deutsches Buch zum Thema – 2. Auflage ist konform zum ISTQB-Lehrplan Foundation Level Extension „Model-Based Tester“– MBT ist im Oktober 2015 als Extension Modul des Foundation Level des Certified-Tester-Programms veröffentlicht worden– renommiertes Autorenteam

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort zur zweiten Auflage
  5. Geleitwort zur ersten Auflage
  6. Inhaltsübersicht
  7. Inhaltsverzeichnis
  8. Teil I: MBT – Einstieg und Grundlagen
    1. Kapitel 1: Einleitung
      1. 1.1 Model Based Testing – nur ein Hype?
      2. 1.2 Viele Definitionen für modellbasiertes Testen
      3. 1.3 Ziele des Buches
      4. 1.4 Aufbau des Buches
      5. 1.5 Leseanleitung für die Qualifikation zum ISTQB® Certified Model-Based Tester
      6. 1.6 Zwei Fallbeispiele
        1. 1.6.1 Produktskizze CarKonfigurator
        2. 1.6.2 Produktskizze Türsteuerung
    2. Kapitel 2: Testen heute
      1. 2.1 Grundbegriffe von Qualitätssicherung und Testen
        1. 2.1.1 Testverfahren
        2. 2.1.2 Kriterien zur Testüberdeckung
        3. 2.1.3 Teststufen
        4. 2.1.4 Randbedingungen des Testens
      2. 2.2 Der fundamentale Testprozess
        1. 2.2.1 Phasen des Testprozesses
        2. 2.2.2 Testplanung
        3. 2.2.3 Teststeuerung und -kontrolle
        4. 2.2.4 Testanalyse und -entwurf
        5. 2.2.5 Testrealisierung und -durchführung
        6. 2.2.6 Bewertung von Endekriterien und Bericht
        7. 2.2.7 Abschluss der Testaktivitäten
        8. 2.2.8 Rollen im Testprozess
      3. 2.3 Herausforderungen beim Testen heute
        1. 2.3.1 Kostenfaktor Test
        2. 2.3.2 Mangelnde Testqualität
        3. 2.3.3 Tester mit Fach-, aber ohne IT-Wissen
        4. 2.3.4 Komplexität der Tests
        5. 2.3.5 Testautomatisierung
        6. 2.3.6 Mangelnde Qualität der Testbasis
        7. 2.3.7 Zu späte Einbindung des Endkunden
      4. 2.4 Zusammenfassung
    3. Kapitel 3: Einführung in die Modellierung
      1. 3.1 Wat is’n Modell?
      2. 3.2 Allgemeiner Vergleich von Texten und Modellen
        1. 3.2.1 Merkmale und Mängel natürlicher Sprache
        2. 3.2.2 Vorteile formaler Modelle und visueller Darstellungen
      3. 3.3 Exkurs: Grundbegriffe der Graphentheorie
      4. 3.4 UML – ein Standard der Softwaremodellierung
      5. 3.5 Modellierung statischer Strukturen
        1. 3.5.1 Objektmodellierung
        2. 3.5.2 Klassenmodellierung
        3. 3.5.3 Pakete und Komponenten
        4. 3.5.4 ER-Modellierung
      6. 3.6 Modellierung dynamischen Verhaltens
        1. 3.6.1 Aktivitätsmodellierung
        2. 3.6.2 Geschäftsprozessmodellierung mit BPMN
        3. 3.6.3 Zustandsmodellierung
        4. 3.6.4 Interaktionsmodellierung
      7. 3.7 Nebenläufigkeits- und Echtzeitmodellierung
        1. 3.7.1 Petri-Netze
        2. 3.7.2 Zeitdiagramm
      8. 3.8 Umgebungs-, Funktions- und Nutzungsmodellierung
        1. 3.8.1 Umgebungsmodellierung mit Akteuren
        2. 3.8.2 Funktionsmodellierung mit Anwendungsfällen
        3. 3.8.3 Nutzungsmodellierung
        4. 3.8.4 Präzisierung von Modellen mit der OCL
      9. 3.9 Metamodellierung und Profile
        1. 3.9.1 UML – Spracharchitektur und Metamodell
        2. 3.9.2 Stereotype und Profile
      10. 3.10 Zusammenfassung
    4. Kapitel 4: MBT – ein Einstieg
      1. 4.1 Detaillierte Definition von MBT
      2. 4.2 MBT zur Testfallgenerierung
      3. 4.3 MBT im Projektkontext
      4. 4.4 MBT-Modellkategorien
        1. 4.4.1 Drei Modellkategorien für MBT
        2. 4.4.2 Umgebungsmodelle
        3. 4.4.3 Systemmodelle
        4. 4.4.4 Testmodelle
      5. 4.5 Nutzen von MBT
        1. 4.5.1 MBT reduziert Fehler in frühen Entwicklungsphasen
        2. 4.5.2 MBT liefert mehr und bessere Testfälle
        3. 4.5.3 MBT unterstützt die Testautomatisierung
      6. 4.6 Einordnung von MBT in den Softwaretest
      7. 4.7 Zusammenfassung
    5. Kapitel 5: Intermezzo 1: Türsteuerung
      1. 5.1 Vorüberlegungen und Planung
      2. 5.2 Modellierung Schritt 1 – funktionale Anforderungen
        1. 5.2.1 Strukturmodell
        2. 5.2.2 Verhaltensmodell
      3. 5.3 Generierung von funktionalen Testfällen
      4. 5.4 Modellierung Schritt 2 – Sicherheitsanforderungen
      5. 5.5 Neugenerierung der Testfälle
      6. 5.6 Bewertung des gewählten MBT-Vorgehens
      7. 5.7 Zusammenfassung
  9. Teil II: MBT im Testprozess
    1. Kapitel 6: MBT und der Testprozess
      1. 6.1 Ausprägungen von MBT im Testprozess
        1. 6.1.1 Modellorientiertes Testen
        2. 6.1.2 Modellgetriebenes Testen
        3. 6.1.3 Modellzentrisches Testen
      2. 6.2 Allgemeine Integration von MBT in den Testprozess
      3. 6.3 Abhängigkeit des MBT-Prozesses von den verwendeten Modellkategorien
        1. 6.3.1 Übersicht über die MBT-Varianten
        2. 6.3.2 Ausschließlich testmodellgetriebene MBT-Prozesse
        3. 6.3.3 Ausschließlich systemmodellgetriebene MBT-Prozesse
        4. 6.3.4 Das Systemmodell als Ausgangspunkt für ein generiertes Testmodell
        5. 6.3.5 System- und testmodellgetriebene MBT-Prozesse
      4. 6.4 Einsatz von MBT für verschiedene Testziele und Teststufen
        1. 6.4.1 Komponententest
        2. 6.4.2 Integrationstest
        3. 6.4.3 Systemtest
        4. 6.4.4 Systemintegrationstest
        5. 6.4.5 Abnahmetest
      5. 6.5 MBT und der Entwicklungsprozess
        1. 6.5.1 Allgemeine Aufgaben bei der Einbettung von MBT in den Entwicklungsprozess
        2. 6.5.2 Betrachtung verschiedener Vorgehensmodelle im Zusammenhang mit MBT
      6. 6.6 Zusammenfassung
    2. Kapitel 7: Planung und Steuerung
      1. 7.1 Risikoidentifikation und -analyse
      2. 7.2 Bestimmung der Teststrategie
      3. 7.3 Aktivitätenplanung und Aufwandsschätzung
        1. 7.3.1 Aktivitäten und Artefakte
        2. 7.3.2 Aufwandsschätzung
      4. 7.4 Werkzeuge und Infrastruktur
      5. 7.5 Mitarbeiterqualifikation
        1. 7.5.1 Fähigkeit, Modelle lesen zu können
        2. 7.5.2 Fähigkeit, Modelle erstellen zu können
        3. 7.5.3 Weitere Fähigkeiten im Zusammenhang mit MBT
      6. 7.6 Steuerung mit Metriken und Testendekriterien
        1. 7.6.1 Produktmetriken
        2. 7.6.2 Projektmetriken
        3. 7.6.3 Prozessmetriken
        4. 7.6.4 Anforderungs- und modellbasierte Testendekriterien
      7. 7.7 Zusammenfassung
    3. Kapitel 8: Intermezzo 2: CarKonfigurator
      1. 8.1 Testobjekt und Ziel
      2. 8.2 Beschreibung der Tests als »Papiermodell«
        1. 8.2.1 Beschreibung der Testschritte
        2. 8.2.2 Auswahl der Testdaten
      3. 8.3 Vom Papiermodell zum UML-Modell
      4. 8.4 Testfallgenerierung: Algorithmus und Ergebnis
      5. 8.5 Bewertung
      6. 8.6 Zusammenfassung
    4. Kapitel 9: Modellierung und Modellprüfung
      1. 9.1 Überblick
      2. 9.2 Erstellung von Testmodellen
        1. 9.2.1 Grundlegende Elemente von Testmodellen
        2. 9.2.2 Modellelemente aus dem CarKonfigurator
        3. 9.2.3 Stabile Knoten-/Kantenbezeichner
        4. 9.2.4 Modellierung der Testpriorität
        5. 9.2.5 Fachlich unerwünschte Pfade
        6. 9.2.6 Modellierung von Testorakeln
        7. 9.2.7 Verknüpfung von Testmodellen und zu testenden Anforderungen
        8. 9.2.8 Exkurs: Testfallableitung aus textuellen Spezifikationen
        9. 9.2.9 Fazit: Motivation eigenständiger Testmodelle
      3. 9.3 Modellierung von Testfallspezifikationen
        1. 9.3.1 Das UML2 Testing Profile
        2. 9.3.2 FIT und FITnesse
        3. 9.3.3 TTCN-3
      4. 9.4 Exkurs: Modellierung von Testumgebungen
      5. 9.5 Nutzung vorhandener Systemmodelle
      6. 9.6 Achtung: Fallstricke!
        1. 9.6.1 Parallele Abläufe oder Alternativen?
        2. 9.6.2 Hierarchische Verfeinerungen
      7. 9.7 Übergang von Systemmodellen zu Testmodellen
        1. 9.7.1 Aus demselben Modell Code und Tests generieren?
        2. 9.7.2 Grenzen von Systemmodellen
        3. 9.7.3 Ähneln sich Systemmodelle und Testmodelle?
        4. 9.7.4 Übergänge vom Systemmodell zum Testmodell
        5. 9.7.5 Zwei Wege zum konkreten Testfall
      8. 9.8 Qualitätsmerkmale und Ziele von Modellen
        1. 9.8.1 Grundlegendes zur Qualität von Modellen
        2. 9.8.2 Korrektheit (inhaltlich)
        3. 9.8.3 Korrektheit (formal)
        4. 9.8.4 Einfachheit
        5. 9.8.5 Verständlichkeit/Lesbarkeit
        6. 9.8.6 Angemessenheit
        7. 9.8.7 Änderbarkeit
        8. 9.8.8 Vollständigkeit (inhaltlich und formal)
        9. 9.8.9 Widerspruchsfreiheit (inhaltlich und formal)
        10. 9.8.10 Prüfbarkeit
        11. 9.8.11 Werkzeugunterstützung
        12. 9.8.12 Konsistenz zu anderen Modellen
      9. 9.9 Prüfung von Modellen
        1. 9.9.1 Modellierungsrichtlinien als Grundlage
        2. 9.9.2 Reviews
        3. 9.9.3 Werkzeuggestützte Prüfungen gegen das Metamodell
        4. 9.9.4 Model Checker
        5. 9.9.5 Iteratives Modellieren und Generieren
        6. 9.9.6 Simulation
        7. 9.9.7 Geeignete Prüfungen zu Qualitätsmerkmalen
      10. 9.10 Zusammenfassung
    5. Kapitel 10: Testauswahlkriterien und Testfallgenerierung
      1. 10.1 Vorbemerkung zum Umfang des Kapitels
      2. 10.2 Einführung in die Generierung
        1. 10.2.1 Was wird generiert – abstrakte oder konkrete Testfälle?
        2. 10.2.2 Einsatz struktureller Überdeckungskriterien
        3. 10.2.3 Das Big Picture der Generierungsverfahren
      3. 10.3 Generierungsverfahren im Einzelnen
        1. 10.3.1 Anforderungsbasierte Testgenerierung
        2. 10.3.2 Modellbezogene Testauswahlkriterien
        3. 10.3.3 Datenflussbasierte Testauswahlkriterien
        4. 10.3.4 Zustandsbasierte Testgenerierung
        5. 10.3.5 Datenüberdeckungskriterien
        6. 10.3.6 Nutzungs- oder nutzungsmusterbezogene Testauswahlkriterien – »Operational Profiles«
        7. 10.3.7 UTP-basierte TTCN-3-Generierung
      4. 10.4 Steuerung der Testfallgenerierung
        1. 10.4.1 Verknüpfung von Testauswahlkriterien
        2. 10.4.2 Mengenmäßige Begrenzung der Testfälle
        3. 10.4.3 Adaptive Testfallgenerierung
        4. 10.4.4 Negativregeln zum Ausschluss bestimmter Modellteile
      5. 10.5 Testneugenerierung nach Änderungen
        1. 10.5.1 Versionsmanagement und MBT
        2. 10.5.2 Pflegeprozesse nach Modelländerungen
        3. 10.5.3 Nichtüberschreibung manueller Testarbeiten
        4. 10.5.4 Exkurs: Adjazenzlisten
      6. 10.6 Zur Generierung weiterer Testartefakte
      7. 10.7 Allgemeine MBT-Taxonomie
      8. 10.8 Bewertung der Testauswahlkriterien
      9. 10.9 Zusammenfassung
    6. Kapitel 11: Realisierung, Durchführung und Auswertung
      1. 11.1 Manuelle Testdurchführung
      2. 11.2 Automatisierte Testdurchführung
        1. 11.2.1 Formen der Testautomatisierung
        2. 11.2.2 Automatisierungsansätze
        3. 11.2.3 Durchführungsansätze
        4. 11.2.4 Verbindung zwischen Modellelementen und Keywords
        5. 11.2.5 MBT und Keyword-Driven Testing – änderungsstabile Testautomatisierung
      3. 11.3 Auswertung und Berichterstattung
        1. 11.3.1 Erzeugung von Traceability-Informationen
        2. 11.3.2 Nutzung der Traceability zur Fortschrittsbewertung
        3. 11.3.3 Nutzung der Traceability zur Ergebnisbewertung
        4. 11.3.4 Strategien zur Reduktion der Anzahl von Abweichungsmeldungen
      4. 11.4 Zusammenfassung
  10. Teil III: MBT im Praxiseinsatz
    1. Kapitel 12: Werkzeuge für MBT
      1. 12.1 Werkzeugeinsatz gemäß der MBT-Definition
      2. 12.2 MBT im Software Lifecycle
      3. 12.3 Klassifikationsschemata für MBT-Werkzeuge
      4. 12.4 Zusammenfassung
    2. Kapitel 13: MBT erfolgreich einführen
      1. 13.1 Hindernisse für die Einführung von MBT
        1. 13.1.1 Unrealistische oder unklare Ziele
        2. 13.1.2 Falsche Werkzeugauswahl
        3. 13.1.3 Probleme von übermorgen lösen wollen
        4. 13.1.4 Erfolg haben
      2. 13.2 Erfolgsfaktoren für die Einführung von MBT
        1. 13.2.1 Ziele klar definieren und messbar machen
        2. 13.2.2 Akzeptanz schaffen
      3. 13.3 Die Einführung als Projekt planen und durchführen
        1. 13.3.1 Analysephase
        2. 13.3.2 Designphase
        3. 13.3.3 Evaluierungsphase
      4. 13.4 Werkzeuge richtig auswählen
        1. 13.4.1 Integrationsfähigkeit
        2. 13.4.2 Anpassung an Prozesse und Personal
        3. 13.4.3 Langfristige Perspektive
        4. 13.4.4 Umgang mit der Testfallexplosion
        5. 13.4.5 MBT-Ansatz passend zur Prozessreife definieren
      5. 13.5 MBT und Prozessreife
        1. 13.5.1 Reifegradbestimmung des Testprozesses
        2. 13.5.2 MBTPI – Prozessverbesserung für modellbasiertes Testen
        3. 13.5.3 Eine Roadmap zur modellbasierten Testreife
        4. 13.5.4 Skalenbereich zum Reifegrad »Modellorientiertes Testen«
        5. 13.5.5 Skalenbereich zum Reifegrad »Modellgetriebenes Testen«
        6. 13.5.6 Skalenbereich zum Reifegrad »Modellzentrisches Testen«
        7. 13.5.7 Abschließende Bemerkungen zum Reifegradmodell
      6. 13.6 Zusammenfassung
    3. Kapitel 14: Wirtschaftlichkeitsbetrachtung
      1. 14.1 Übersicht über Kostenfaktoren von MBT
        1. 14.1.1 Initiale Kosten der Einführung von MBT im Unternehmen
        2. 14.1.2 Initiale Kosten der Einführung im Projekt
        3. 14.1.3 Laufende Kosten von MBT im Testprozess
      2. 14.2 Nutzen von MBT
        1. 14.2.1 Frühzeitige Anforderungsvalidierung und Fehlerfindung
        2. 14.2.2 Ersparnis bei Erstellung und Pflege der Testfälle
        3. 14.2.3 Minimierung von Testfallmengen
        4. 14.2.4 Erhöhung der Testqualität
      3. 14.3 Kostenersparnis durch MBT – Fallbeispiel Trapeze ITS
        1. 14.3.1 Ausgangssituation
        2. 14.3.2 Kosten der MBT-Einführung
        3. 14.3.3 ROI-Betrachtung der MBT-Einführung
      4. 14.4 Zusammenfassung
    4. Kapitel 15: Möglichkeiten und Grenzen von MBT
      1. 15.1 Was modellbasiertes Testen leisten kann
      2. 15.2 Was modellbasiertes Testen unter Umständen leisten kann
      3. 15.3 Was modellbasiertes Testen nicht leisten kann
      4. 15.4 Was modellbasiertes Testen nicht ersetzen kann
      5. 15.5 Ausblick – was MBT künftig bringen wird
      6. 15.6 Zusammenfassung
  11. Anhang
    1. Anhang A: Abkürzungsverzeichnis
    2. Anhang B: Glossar
    3. Anhang C: Quellen
      1. C.1 Literaturangaben
      2. C.2 Webseiten
  12. Index
  13. Fußnoten
    1. Kapitel 2: Testen heute
    2. Kapitel 3: Einführung in die Modellierung
    3. Kapitel 8: Intermezzo 2: CarKonfigurator
    4. Kapitel 9: Modellierung und Modellprüfung
    5. Kapitel 10: Testauswahlkriterien und Testfallgenerierung
    6. Kapitel 13: MBT erfolgreich einführen
    7. Kapitel 15: Möglichkeiten und Grenzen von MBT