Basiswissen Testautomatisierung

Book description

Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch gibt einen fundierten Überblick, wie Testautomatisierung mit Fokus auf den funktionalen Systemtest konzipiert und in bestehende Projekte und die Organisation eingegliedert wird. Dabei werden sowohl fachliche als auch technische Konzepte vorgestellt. Auch auf neue, wesentliche Aspekte der Testautomatisierung wie den automatisierten Test mobiler Applikationen und das Thema Service-Virtualisierung als Voraussetzung stabiler komplexer Testabläufe wird eingegangen. Eingehend behandelt werden darüber hinaus Qualitätsgewinne und Einsparpotenziale durch Testautomatisierung. Die 3. Auflage wurde vollständig überarbeitet und ist konform zum ISTQB®-Lehrplan Advanced Level Specialist – Certified Test Automation Engineer. Das Buch eignet sich mit vielen erläuternden Beispielen gleichermaßen zur Vorbereitung auf die Zertifizierung wie als kompaktes Basiswerk zum Thema in der Praxis und an Hochschulen.

Table of contents

  1. Cover
  2. Über den Autor
  3. Titel
  4. Impressum
  5. Vorwort zur 3. Auflage
  6. Geleitwort zur 3. Auflage
  7. Geleitwort zur 2. Auflage
  8. Inhaltsübersicht
  9. Inhaltsverzeichnis
  10. 1 Einführung in die Testautomatisierung und ihre Ziele 1
    1. 1.1 Einleitung
    2. 1.1.1 Standards und Normen
    3. 1.1.2 Der Einsatz von Maschinen
    4. 1.1.3 Mengen und Massen
    5. 1.2 Was ist unter Testautomatisierung zu verstehen?
    6. 1.3 Ziele der Testautomatisierung
    7. 1.4 Erfolgsfaktoren für die Testautomatisierung
    8. 1.4.1 Testautomatisierungsstrategie
    9. 1.4.2 Testautomatisierungsarchitektur
    10. 1.4.3 Testbarkeit des SUT
    11. 1.4.4 Testautomatisierungsframework
    12. 1.5 Exkurs: Teststufen und Projektarten
    13. 1.5.1 Testautomatisierung auf unterschiedlichen Teststufen
    14. 1.5.2 Einsatzgebiet nach Projektart
  11. 2 Vorbereitungen für die Testautomatisierung
    1. 2.1 SUT-Faktoren mit Einfluss auf die Testautomatisierung
    2. 2.2 Bewertung und Auswahl von Werkzeugen
    3. 2.2.1 Verantwortlichkeiten
    4. 2.2.2 Exkurs: Evaluierung von Automatisierungswerkzeugen
    5. 2.2.3 Exkurs: Evaluieren leicht gemacht
    6. 2.2.4 Typische Herausforderungen
    7. 2.3 Auslegung auf Testbarkeit und Automatisierung
  12. 3 Die generische Testautomatisierungsarchitektur
    1. 3.1 Einführung in die generische Testautomatisierungsarchitektur (gTAA)
    2. 3.1.1 Warum eine gute Testautomatisierungsarchitektur so wichtig ist
    3. 3.1.2 Entwicklung von Testautomatisierungslösungen
    4. 3.1.3 Die Schichten der gTAA
    5. 3.1.4 Projektmanagement einer TAS
    6. 3.1.5 Konfigurationsmanagement einer TAS
    7. 3.1.6 Unterstützung des Testmanagements und anderer Zielgruppen
    8. 3.2 Der Entwurf einer TAA
    9. 3.2.1 Grundlegende Fragestellungen
    10. 3.2.2 Welcher Ansatz zur Automatisierung von Testfällen soll unterstützt werden?
    11. 3.2.3 Welche technischen Überlegungen zum SUT sind zu beachten?
    12. 3.2.4 Überlegungen zu Entwicklungs- und Qualitätssicherungsprozessen
    13. 3.3 TAS-Entwicklung
    14. 3.3.1 Kompatibilität zwischen TAS und SUT
    15. 3.3.2 Synchronisierung zwischen TAS und SUT
    16. 3.3.3 Wiederverwendbarkeit in einer TAS
    17. 3.3.4 Unterstützung verschiedener Zielsysteme
    18. 3.3.5 Exkurs: Realisierung in unterschiedlichen Vorgehensmodellen und Methoden
  13. 4 Risiken und Eventualitäten bei der Softwareverteilung
    1. 4.1 Auswahl des Testautomatisierungsansatzes und Planung von Verteilung/Rollout
    2. 4.1.1 Die Erprobung oder der Pilotversuch
    3. 4.1.2 Die Verteilung oder das Deployment
    4. 4.2 Strategie für die Bewertung und Begrenzung von Risiken
    5. 4.2.1 Spezifische Risiken bei der Erstverteilung
    6. 4.2.2 Spezifische Risiken bei der Wartungsverteilung
    7. 4.3 Wartung der Testautomatisierung
    8. 4.3.1 Auslöser und Arten von Wartungsaktivitäten
    9. 4.3.2 Überlegungen zur Dokumentation der automatisierten Testmittel
    10. 4.3.3 Der Umfang von Wartungsaktivitäten
    11. 4.3.4 Wartung von Fremdkomponenten
    12. 4.3.5 Wartung von Schulungsmaterial
    13. 4.3.6 Verbesserung der Wartbarkeit
    14. 4.4 Exkurs: Einsatzgebiet nach Systemarten
    15. 4.4.1 Desktop-Applikationen
    16. 4.4.2 Client-Server-Systeme
    17. 4.4.3 Webapplikationen
    18. 4.4.4 Mobile Applikationen
    19. 4.4.5 Webservices
    20. 4.4.6 Data Warehouse
    21. 4.4.7 Dynamische GUIs: Formularlösungen
    22. 4.4.8 Cloud Based Systems
    23. 4.4.9 Künstliche Intelligenz und Machine Learning
  14. 5 Berichte und Metriken
    1. 5.1 Exkurs: Metriken und Validität
    2. 5.2 Beispiele für Metriken
    3. 5.3 Konkrete Implementierung und Realisierbarkeit in einer TAS
    4. 5.3.1 Exkurs: TAS und SUT als Quellen für Protokolle
    5. 5.3.2 Exkurs: Zentralisierte Verwaltung und Auswertung von Protokollen
    6. 5.3.3 Implementierung der Protokollierung in einer TAS
    7. 5.4 Erstellung von Berichten zur Testautomatisierung
    8. 5.4.1 Qualitätskriterien für Berichte
  15. 6 Überführung des manuellen Testens in eine automatisierte Umgebung
    1. 6.1 Kriterien für die Automatisierung
    2. 6.1.1 Eignungskriterien für die Umstellung auf automatisierte Tests
    3. 6.1.2 Vorbereitung der Umstellung auf automatisierte Tests
    4. 6.2 Erforderliche Schritte zur Automatisierung von Regressionstests
    5. 6.3 Faktoren bei der Automatisierung des Testens neuer oder geänderter Funktionen
    6. 6.4 Faktoren bei der Automatisierung von Fehlernachtests
  16. 7 Verifizierung der Testautomatisierungslösung
    1. 7.1 Warum die Qualitätssicherung einer TAS wichtig ist
    2. 7.2 Verifizieren der Komponenten der automatisierten Testumgebung
    3. 7.3 Verifizieren der automatisierten Testsuite
  17. 8 Fortlaufende Optimierung
    1. 8.1 Möglichkeiten der Optimierung der Testautomatisierung
    2. 8.2 Planung und Realisierung der Testautomatisierungsverbesserung
  18. 9 Ausblick
    1. 9.1 Herausforderungen in der Testautomatisierung
    2. 9.1.1 Allgegenwärtige Vernetzung
    3. 9.1.2 Testautomatisierung für die IT-Sicherheit
    4. 9.1.3 Testautomatisierung für autonome Systeme
    5. 9.2 Trends und mögliche Entwicklungen
    6. 9.2.1 Agile Softwareentwicklung ohne Testautomatisierung ist nicht denkbar
    7. 9.2.2 Neue Outsourcing-Szenarien für die Automatisierung
    8. 9.2.3 Die Automatisierung der Automatisierung
    9. 9.2.4 Ausbildung und Standardisierung
    10. 9.3 Innovation und Weiterentwicklung
  19. Anhang
    1. A Softwarequalitätsmerkmale
    2. A.1 Funktionalität (functional suitability)
    3. A.2 Performanz (performance efficiency)
    4. A.3 Kompatibilität (compatibility)
    5. A.4 Benutzbarkeit (usability)
    6. A.5 Zuverlässigkeit (reliability)
    7. A.6 Sicherheit (security)
    8. A.7 Wartbarkeit (maintainability)
    9. A.8 Übertragbarkeit (portability)
    10. B Last- und Performanztest
    11. B.1 Arten von Last- und Performanztests
    12. B.2 Tätigkeiten im Last- und Performanztest
    13. B.3 Definieren der Performanzziele
    14. B.4 Identifizieren der Transaktionen bzw. Szenarien
    15. B.5 Erstellen der Testdaten
    16. B.6 Erstellung von Testszenarien
    17. B.7 Durchführung der Tests
    18. B.8 Monitoring
    19. B.9 Typische Komponenten von Last- und Performanzwerkzeugen
    20. B.10 Checklisten
  20. C Kriterienkatalog zur Testwerkzeugauswahl
  21. D Glossar
  22. E Abkürzungen
  23. F Quellen
  24. Fußnoten
  25. Stichwortverzeichnis

Product information

  • Title: Basiswissen Testautomatisierung
  • Author(s): Manfred Baumgartner, Stefan Gwihs, Richard Seidl, Thomas Steirer, Marc-Florian Wendland
  • Release date: January 2021
  • Publisher(s): dpunkt
  • ISBN: 9783864906756