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

Book Description

– erstes deutsches Buch zum Thema– Autoren sind renommiert, u.a. Konferenz zu MBT, Autoren der iX-Studie zum Thema "Model Based Testing" – MBT soll demnächst als ein Modul des Expert Level des Certified-Tester-Programms etabliert werden

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Geleitwort
  5. Vorwort
    1. Globale Zielsetzung des Buches
    2. Zielgruppe des Buches
    3. Danksagung
  6. Inhaltsverzeichnis
  7. Teil I MBT – Einstieg und Grundlagen
    1. 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. Rahmen und Definitionen zu MBT schaffen
      5. Rüstzeug für weiterführende Fachliteratur vermitteln
      6. MBT in der Breite, aber nicht immer in der Tiefe präsentieren
      7. Unterschiede zum konventionellen Testprozess klären
      8. Unrealistische Erwartungen an MBT beseitigen
      9. Nutzen und Potenziale von MBT identifizieren
      10. Eignungsprüfung für eigene Testprojekte ermöglichen
      11. Bei der MBT-Werkzeugauswahl unterstützen
      12. An Beispielen veranschaulichen
      13. 1.4 Aufbau des Buches
    2. 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 Testauswertung 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
      4. 2.4 Zusammenfassung
    3. 3 MBT – Ein Einstieg
      1. 3.1 Definition von modellbasiertem Testen
        1. 3.1.1 Ziele für MBT
        2. 3.1.2 Definition von MBT
        3. 3.1.3 Eine erste Betrachtung von Aufwand und Nutzen
      2. 3.2 MBT-Varianten
        1. 3.2.1 Systemmodellgetrieben
        2. 3.2.2 Testmodellgetrieben
        3. 3.2.3 System- und testmodellgetrieben
      3. 3.3 Einordnung von MBT in den Softwaretest
      4. 3.4 Zusammenfassung
    4. 4 Einführung in die Modellierung
      1. 4.1 Wat is’n Modell?
      2. 4.2 Allgemeiner Vergleich von Texten und Modellen
        1. 4.2.1 Merkmale und Mängel natürlicher Sprache
        2. 4.2.2 Vorteile formaler Modelle und visueller Darstellungen
      3. 4.3 Drei grundlegende MBT-Modellkategorien
        1. 4.3.1 Umgebungsmodelle
        2. 4.3.2 Systemmodelle
        3. 4.3.3 Testmodelle
        4. 4.3.4 Zusammenhänge
      4. 4.4 Exkurs: Grundbegriffe der Graphentheorie
      5. 4.5 UML – ein Standard der Softwaremodellierung
      6. 4.6 Intermezzo: zwei Fallbeispiele
        1. 4.6.1 Produktskizze CarKonfigurator
          1. Funktionale Anforderungen
          2. Benutzbarkeitsanforderungen
        2. 4.6.2 Produktskizze Türsteuerung
          1. Funktionale Anforderungen
          2. Sicherheitsanforderungen
      7. 4.7 Modellierung statischer Strukturen
        1. 4.7.1 Objektmodellierung
        2. 4.7.2 Klassenmodellierung
          1. Klassen, Attribute und Operationen
          2. Assoziationen
          3. Generalisierung, abstrakte Klassen und Interfaces
        3. 4.7.3 Pakete und Komponenten
        4. 4.7.4 ER-Modellierung
      8. 4.8 Modellierung dynamischen Verhaltens
        1. 4.8.1 Aktivitätsmodellierung
        2. 4.8.2 Zustandsmodellierung
        3. 4.8.3 Interaktionsmodellierung
      9. 4.9 Nebenläufigkeits- und Echtzeitmodellierung
        1. 4.9.1 Petri-Netze
        2. 4.9.2 Zeitdiagramm
      10. 4.10 Umgebungs-, Funktions- und Nutzungsmodellierung
        1. 4.10.1 Umgebungsmodellierung mit Akteuren
        2. 4.10.2 Funktionsmodellierung mit Anwendungsfällen
        3. 4.10.3 Nutzungsmodellierung
        4. 4.10.4 Präzisierung von Modellen mit der OCL
      11. 4.11 Metamodellierung und Profile
        1. 4.11.1 UML – Spracharchitektur und Metamodell
        2. 4.11.2 Stereotype und Profile
      12. 4.12 Zusammenfassung
    5. 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 Zusammenfassung
  8. Teil II MBT im Testprozess
    1. 6 MBT und der Testprozess
      1. 6.1 Mögliche 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 MBT-Prozesse und Modellkategorien im Detail
        1. 6.2.1 Testmodellgetriebene MBT-Prozesse
          1. Testmanagement
          2. Modellierung
          3. Realisierung
          4. Durchführung
        2. 6.2.2 Systemmodellgetriebene MBT-Prozesse
          1. Das Systemmodell als alleinige Modellinformation
          2. Das Systemmodell als Ausgangspunkt für ein generiertes Testmodell
          3. Das Umgebungsmodell als Ausgangspunkt für MBT
      3. 6.3 Umfang von MBT im Testprozess
      4. 6.4 Einsatz von MBT in den verschiedenen 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 Vorgehensmodelle
        1. 6.5.1 MBT im allgemeinen V-Modell
        2. 6.5.2 MBT im Rational Unified Process
        3. 6.5.3 MBT und agile Entwicklungsmodelle
      6. 6.6 Zusammenfassung
    2. 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 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
        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. 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. Der Fehler zum Fahrzeugtyp »Rolo« wird von den generierten Testfällen nicht aufgedeckt
      7. Nicht alles auf einmal mit nur einem Diagramm testen
      8. Pflegeprozesse nach Modelländerungen
      9. Fachlich unerwünschte Pfade aus der Generierung herausnehmen
      10. 8.6 Zusammenfassung
    4. 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
          1. Vergleich mit dem Aktivitätsdiagramm zum CarKonfigurator aus Abschnitt 4.8.1
        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 Reviews
        2. 9.9.2 Werkzeuggestützte Prüfungen gegen das Metamodell
        3. 9.9.3 Model Checker
        4. 9.9.4 Simulation
        5. 9.9.5 Geeignete Prüfungen zu Qualitätsmerkmalen
      10. 9.10 Zusammenfassung
    5. 10 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 von Ü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 Kontrollflussbasierte Testgenerierung
        3. 10.3.3 Datenflussbasierte Testfallgenerierung
        4. 10.3.4 Datenüberdeckungskriterien
          1. Grenzwertabdeckung (»Boundary Value Coverage«)
          2. Statistisches Datenüberdeckungskriterium
          3. Paarweise Überdeckung (»Pairwise Coverage«)
        5. 10.3.5 Zustandsbasierte Testgenerierung
        6. 10.3.6 Statistische Testgenerierung
        7. 10.3.7 Nutzungsbasierte Testgenerierung – »Operational Profiles«
          1. Schritt 1: Erstellung des Modells
          2. Schritt 2: Bestimmung der Übergangswahrscheinlichkeit
          3. Schritt 3: Umwandlung in eine Markov-Kette
        8. 10.3.8 U2TP-basierte TTCN-3-Generierung
      4. 10.4 Steuerung der Testfallgenerierung
        1. 10.4.1 Mengenmäßige Begrenzung der Testfälle
        2. 10.4.2 Adaptive Testfallgenerierung
        3. 10.4.3 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 Zusammenfassung
    6. 11 Durchführung und Auswertung
      1. 11.1 Manuelle Testdurchführung
      2. 11.2 Automatisierte Testdurchführung
        1. 11.2.1 Formen der Testautomatisierung
          1. Capture & Replay
          2. Programmierte Testautomatisierung
          3. Keyword-Driven Testing
        2. 11.2.2 Zusammenführung von MBT und Keyword-Driven Testing
        3. 11.2.3 Nutzen von modellbasiertem Keyword-Driven Testing
      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
  9. Teil III MBT im Praxiseinsatz
    1. 12 MBT-Werkzeuge
      1. 12.1 Typische Werkzeuglandschaft im Testprozess
        1. 12.1.1 Werkzeuge zur »Planung & Steuerung«
        2. 12.1.2 Werkzeuge zu »Analyse & Design«
        3. 12.1.3 Werkzeuge zur »Realisierung« und »Durchführung«
      2. 12.2 Klassifikationsschemata für MBT-Werkzeuge
        1. 12.2.1 MBT-Taxonomie nach Utting et al.
        2. 12.2.2 MBT-Taxonomie nach Götz et al.
          1. Kategorie I – modellbasierte Testdatengeneratoren
          2. Kategorie II – modellbasierte Testfalleditoren
          3. Kategorie III – modellbasierte Testfallgeneratoren
      3. 12.3 Zusammenfassung
    2. 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
          1. Fragen zur Feststellung des Bedarfs
          2. Fragen zur Feststellung der Fähigkeiten
        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 Langfrist-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
          1. TPI-Skalen und MBT-Ausprägungen
        2. 13.5.2 MBTPI – Prozessverbesserung für modellbasiertes Testen
        3. 13.5.3 Eine Roadmap zur modellbasierten Testreife
        4. 13.5.4 Skalenbereich 1: Modellorientiertes Testen
          1. Skala 1: Modelle zur Lösung einzelner Aufgabenstellungen
          2. Skala 2: Strategische Verankerung im Projekt
          3. Skala 3: Berücksichtigung von MBT bei der Aufwandsschätzung
        5. 13.5.5 Skalenbereich 2: Modellgetriebenes Testen
          1. Skala 4: Einführung von Generatoren
          2. Skala 6: Einordnung der MBT-Verfahren im Testkonzept
          3. Skala 7: Standardisierung des MBT-Prozesses
          4. Skala 8: Substanzielle Kostenersparnis durch MBT
        6. 13.5.6 Skalenbereich 3: Modellzentrisches Testen
          1. Skala 9: Kompetenzaufbau in allgemeinen Modellierungsthemen
          2. Skala 10: MBT im Zentrum des Testprozesses
          3. Skala 13: Organisatorische Verankerung von MBT
        7. 13.5.7 Abschließende Bemerkungen zum Reifegradmodell
      6. 13.6 Zusammenfassung
    3. 14 Wirtschaftlichkeitsbetrachtung
      1. 14.1 Kosten des Einführungsprojekts
      2. 14.2 Rollout-Kosten
      3. 14.3 Werkzeugkosten
        1. 14.3.1 Nutzen von MBT
        2. 14.3.2 Frühzeitige Fehlerfindung
      4. 14.4 Kostenersparnis durch MBT – Fallbeispiel Trapeze ITS
        1. 14.4.1 Ausgangssituation
        2. 14.4.2 Bisherige Kosten der MBT-Einführung
        3. 14.4.3 ROI-Betrachtung der MBT-Einführung
          1. Größe des Testmodells vs. Seitenanzahl der Anforderungsdokumente
          2. Frühzeitige Fehlerfindung
          3. Erhebliche Einsparungen bei der Testfallerstellung
          4. »Voice of the Customer«
      5. 14.5 Zusammenfassung
    4. 15 Möglichkeiten und Grenzen von MBT
      1. 15.1 Was modellbasiertes Testen leisten kann
      2. Komplexitätsreduktion und Testveranschaulichung
      3. Hohe Testabdeckung und transparente standardisierte Testentstehung
      4. Generierte Pfad- und Datenkombinationen mit nicht offensichtlichen Abläufen
      5. Verbesserte Rückverfolgbarkeit und Testpflege
      6. Wieder- bzw. Weiterverwendung bestehender Modelle
      7. Frühzeitigkeit der Testaktivitäten
      8. Automatisierung schon bei der Testfallerstellung
      9. Durchgängige Vorbereitung einer automatisierten Testdurchführung
      10. Sinnvolle Ergänzung der konventionellen Testdesignmethoden
      11. 15.2 Was modellbasiertes Testen unter Umständen leisten kann
      12. 15.3 Was modellbasiertes Testen nicht leisten kann
      13. Komplette Automatisierung der Testfallentstehung auf Basis vorhandener Systemmodelle
      14. Generierung von Code und Testfällen aus denselben Modellen
      15. Automatische Steigerung der Testqualität
      16. 15.4 Was modellbasiertes Testen nicht ersetzen kann
      17. Erfahrungsbasiertes und intuitives Testen
      18. Tests auf Bedienbarkeit
      19. Fachwissen
      20. Gesunder Menschenverstand
      21. 15.5 Ausblick – was MBT künftig bringen wird
      22. 15.6 Zusammenfassung
  10. Anhang
    1. A Abkürzungsverzeichnis
    2. B Glossar
    3. C Quellen
      1. C.1 Literaturangaben
      2. C.2 Webseiten
  11. Index
  12. Fußnoten
    1. Vorwort
    2. 2 Testen heute
    3. 4 Einführung in die Modellierung
    4. 8 Intermezzo 2: CarKonfigurator
    5. 9 Modellierung und Modellprüfung
    6. 10 Testfallgenerierung
    7. 13 MBT erfolgreich einführen
    8. 15 Möglichkeiten und Grenzen von MBT