Basiswissen Testautomatisierung Aus- und Weiterbildung zum ISTQB® Advanced Level Specialist - Certified Test Automation Engineer
Long description: Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch erklärt, wie Testautomatisierung mit Fokus auf den funktionalen Systemtest konzipiert und in bestehende Projekte und die Organisation eingegliedert wird. Dabe...
Autor principal: | |
---|---|
Otros Autores: | , , , |
Formato: | Libro electrónico |
Idioma: | Alemán |
Publicado: |
Heidelberg :
dpunkt.verlag
2021.
|
Edición: | 3rd ed |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630835006719 |
Tabla de Contenidos:
- Basiswissen Testautomatisierung
- Vorwort zur 3. Auflage
- Danksagung
- Geleitwort zur 3. Auflage
- Geleitwort zur 2. Auflage1
- Inhaltsübersicht
- Inhaltsverzeichnis
- 1 Einführung in die Testautomatisierung und ihre Ziele
- 1.1 Einleitung
- 1.1.1 Standards und Normen
- 1.1.2 Der Einsatz von Maschinen
- Die Mechanisierung im Softwaretest
- 1.1.3 Mengen und Massen
- 1.2 Was ist unter Testautomatisierung zu verstehen?
- 1.3 Ziele der Testautomatisierung
- Vorteile der Testautomatisierung
- Nachteile der Testautomatisierung
- Beschränkungen und Grenzen der Testautomatisierung
- 1.4 Erfolgsfaktoren für die Testautomatisierung
- 1.4.1 Testautomatisierungsstrategie
- Exkurs: Testautomatisierungs-Manifest
- Transparenz vor Komfort
- Zusammenarbeit vor Unabhängigkeit
- Qualität vor Quantität
- Flexibilität vor Kontinuität
- 1.4.2 Testautomatisierungsarchitektur
- Anforderungen an die Testautomatisierungsarchitektur
- 1.4.3 Testbarkeit des SUT
- 1.4.4 Testautomatisierungsframework
- Wartung des Testautomatisierungscodes
- Empfehlungen zur Verringerung des Wartungsaufwands:
- 1.5 Exkurs: Teststufen und Projektarten
- 1.5.1 Testautomatisierung auf unterschiedlichen Teststufen
- Komponententest
- Integrationstest
- Systemtest
- Abnahmetest
- 1.5.2 Einsatzgebiet nach Projektart
- Das klassische Softwareentwicklungsprojekt
- Das Wartungsprojekt und die Produktweiterentwicklung
- Das SAP-Projekt
- Agile Projekte
- DevOps
- Culture
- Automation
- Lean
- Measurement
- Sharing
- Migrationsprojekte
- Testdatengenerierung
- Datenvergleich
- Ablaufvergleich
- Migration der Testautomatisierung
- 2 Vorbereitungen für die Testautomatisierung
- 2.1 SUT-Faktoren mit Einfluss auf die Testautomatisierung
- Exkurs: Der Schnittstellenbegriff im Lehrplan
- 2.2 Bewertung und Auswahl von Werkzeugen.
- 2.2.1 Verantwortlichkeiten
- 2.2.2 Exkurs: Evaluierung von Automatisierungswerkzeugen
- Unterstützte Technologien
- Möglichkeiten der Testfallbeschreibung und Modularisierung
- Zielgruppe
- Integration in die Werkzeuglandschaft
- Proof of Concept
- Schulungen, Support und Dokumentation
- Lizenzmodell
- 2.2.3 Exkurs: Evaluieren leicht gemacht
- Vorbereitung der Szenarien
- Vorbereitung des Testrechners
- Installation des Werkzeugs und Erstellung des Arbeitsbereichs
- Erstellen des ersten Szenarios
- Refactoring und Parametrierung des ersten Szenarios
- Umsetzung weiterer Szenarien
- Integration in den Entwicklungsprozess
- Abschluss
- 2.2.4 Typische Herausforderungen
- Inkompatibilität bei Werkzeugschnittstellen
- Verändertes SUT wird nicht mehr vom Testwerkzeug unterstützt
- GUI-Elemente können vom Testwerkzeug nicht vollständig genutzt werden
- Bedienung des Testwerkzeugs ist kompliziert
- Beeinträchtigung des SUT durch das Testwerkzeug
- Änderungen des SUT durch das Werkzeug
- Fehlende Ressourcen
- Updates
- Auswirkung auf die IT-Sicherheit
- Fehlende Portabilität
- 2.3 Auslegung auf Testbarkeit und Automatisierung
- 3 Die generische Testautomatisierungsarchitektur
- 3.1 Einführung in die generische Testautomatisierungsarchitektur (gTAA)
- 3.1.1 Warum eine gute Testautomatisierungsarchitektur so wichtig ist
- 3.1.2 Entwicklung von Testautomatisierungslösungen
- S - Das Single-Responsibility-Prinzip oder auch die fest definierte Aufgabe
- O - Das Open/Closed-Prinzip oder auch Erweiterbarkeit
- L - Das Liskov-Substitution-Prinzip oder auch die Ersetzbarkeit
- I - Das Interface-Segregation-Prinzip oder die Komponentensegregation
- D - Das Dependency-Inversion-Prinzip oder die Abhängigkeitsumkehr
- 3.1.3 Die Schichten der gTAA
- Die einzelnen Schichten im Detail
- Steckbrief: Testgenerierungsschicht.
- Steckbrief: Testdefinitionsschicht
- Steckbrief: Testausführungsschicht
- Steckbrief: Testadaptierungsschicht
- 3.1.4 Projektmanagement einer TAS
- 3.1.5 Konfigurationsmanagement einer TAS
- 3.1.6 Unterstützung des Testmanagements und anderer Zielgruppen
- 3.2 Der Entwurf einer TAA
- 3.2.1 Grundlegende Fragestellungen
- Welche Anforderungen werden an die TAA gestellt?
- Vergleich und Gegenüberstellung verschiedener Entwurfs- und Architekturansätze
- In welchen Bereichen bieten Abstraktionen einen Vorteil?
- Wie soll die TAS mit dem SUT vernetzt werden?
- Welche Rahmenbedingungen bezüglich Umgebung und Architektur des SUT sind zu berücksichtigen?
- Wie hoch ist der Zeitaufwand und die Komplexität der Implementierung der TAA?
- Wie komplex ist die Verwendung der TAA und TAS?
- 3.2.2 Welcher Ansatz zur Automatisierung von Testfällen soll unterstützt werden?
- Der Mitschnitt-Ansatz (Capture &
- Replay)
- Die lineare Skripterstellung
- Strukturierte Skripterstellung
- Datengetriebenes Testen
- Schlüsselwortgetriebenes Testen
- Die prozessgetriebene Skripterstellung
- Das modellbasierte Testen
- Zusammenfassung
- 3.2.3 Welche technischen Überlegungen zum SUT sind zu beachten?
- Schnittstellen des SUT
- SUT-Daten und Konfigurationen
- SUT-Standards und rechtliche Vorgaben
- Werkzeuge und Werkzeugumgebungen für die Entwicklung des SUT
- Testschnittstellen im Softwareprodukt
- 3.2.4 Überlegungen zu Entwicklungs- und Qualitätssicherungsprozessen
- Auslöser einer Testdurchführung
- Exkurs: Testumgebung des SUT
- Anforderungen an die Bereitstellung der Ergebnisse
- 3.3 TAS-Entwicklung
- 3.3.1 Kompatibilität zwischen TAS und SUT
- 3.3.2 Synchronisierung zwischen TAS und SUT
- 3.3.3 Wiederverwendbarkeit in einer TAS
- 3.3.4 Unterstützung verschiedener Zielsysteme.
- 3.3.5 Exkurs: Realisierung in unterschiedlichen Vorgehensmodellen und Methoden
- Kompatibilität in agilen Projekten
- Synchronisierung durch BDD/ATDD
- Synchronisierung von unabhängigen SUT- und TAS-Entwicklungsprozessen
- 4 Risiken und Eventualitäten bei der Softwareverteilung
- 4.1 Auswahl des Testautomatisierungsansatzes und Planung von Verteilung/Rollout
- 4.1.1 Die Erprobung oder der Pilotversuch
- Ermittlung eines geeigneten Projekts
- Planen und Durchführen des Pilotversuchs
- Evaluierung des Pilotversuchs
- 4.1.2 Die Verteilung oder das Deployment
- Iterative und Inkrementelle Verteilungen sind hilfreich
- Unterstützung bei der Implementierung bereitstellen
- Kontinuierliche Verbesserung auf Basis von Nutzerfeedback
- Exkurs: Auf existierende Testprozesse aufbauen
- Exkurs: Auf bestehenden Erfahrungen und Artefakten aufbauen
- 4.2 Strategie für die Bewertung und Begrenzung von Risiken
- Typische Risiken
- Häufige Auslöser bzw. verstärkende Faktoren
- 4.2.1 Spezifische Risiken bei der Erstverteilung
- Zu lange Gesamtausführungszeit der Testsuites
- Installations- und Konfigurationsprobleme bei der Testumgebung
- 4.2.2 Spezifische Risiken bei der Wartungsverteilung
- Notwendige Änderungen an Testsuites und Testrahmen
- Unerwartete Seiteneffekte durch Änderungen von zentralen TAS-Komponenten
- Fehler durch Änderungen an der TAS-Infrastruktur
- Zusätzliche Fehler oder Performanzprobleme durch die Aktualisierung der TAS
- 4.3 Wartung der Testautomatisierung
- 4.3.1 Auslöser und Arten von Wartungsaktivitäten
- Adaptive Wartung
- Korrektive Wartung
- Verbessernde Wartung
- Präventive Wartung
- 4.3.2 Überlegungen zur Dokumentation der automatisierten Testmittel
- 4.3.3 Der Umfang von Wartungsaktivitäten
- 4.3.4 Wartung von Fremdkomponenten
- 4.3.5 Wartung von Schulungsmaterial
- 4.3.6 Verbesserung der Wartbarkeit.
- 4.4 Exkurs: Einsatzgebiet nach Systemarten
- 4.4.1 Desktop-Applikationen
- Hilfsfunktionen in der getesteten Applikation
- 4.4.2 Client-Server-Systeme
- Parallele Verwendung durch mehrere User
- Virtualisierung
- 4.4.3 Webapplikationen
- Teilautomatisierte Tests
- 4.4.4 Mobile Applikationen
- Herausforderungen bei der Automatisierung mobiler Applikationen
- Auswahl der Testplattformen
- Besonderheiten/spezielle Probleme bei der GUI-Testautomatisierung von mobilen Applikationen
- Umgang mit Interrupts
- Unterschiedliche Hardware der Endgeräte
- Netzwerkperformanz und unterschiedliche Typen von Netzwerkanbindungen
- Lösungsansätze
- Multi-Layer-Test
- Einsatz von Simulatoren und Emulatoren
- Risikobasierte Auswahl der Zielplattformen
- Einsatz von Cloud-Services
- 4.4.5 Webservices
- 4.4.6 Data Warehouse
- Plausibilitätschecks
- Nachimplementierung
- Definierte Eingabe-Ausgabe-Paare
- 4.4.7 Dynamische GUIs: Formularlösungen
- 4.4.8 Cloud Based Systems
- 4.4.9 Künstliche Intelligenz und Machine Learning
- Cross-Validation Test
- Hypothesis Testing
- Metamorphic Testing
- Adversarial Testing
- Sensitivity Testing
- Evolution Testing
- Intuitive Testfallermittlung und exploratives Testen
- Nutzung von KI und ML für Test und Testautomatisierung
- 5 Berichte und Metriken
- 5.1 Exkurs: Metriken und Validität
- 5.2 Beispiele für Metriken
- Nutzwert der TAS
- Aufwand für die Erstellung automatisierter Tests
- Anzahl von falsch negativen und falsch positiven Ergebnissen
- Testüberdeckung (Codeüberdeckung, Anforderungsüberdeckung)
- 5.3 Konkrete Implementierung und Realisierbarkeit in einer TAS
- 5.3.1 Exkurs: TAS und SUT als Quellen für Protokolle
- 5.3.2 Exkurs: Zentralisierte Verwaltung und Auswertung von Protokollen
- 5.3.3 Implementierung der Protokollierung in einer TAS.
- 5.4 Erstellung von Berichten zur Testautomatisierung.