Planung, Technik und
Management von Software-Qualitätssicherungsmaßnahmen und Software-Tests
Seminardauer: 3 Tage
Ziel:
Die Teilnehmer erlernen das Erstellen von QS- und Testplan, das Abschätzen von
Risiken , verschiedene Techniken der systematischen Testfallermittlung sowie
den Einsatz von Qualitätsmetriken zur Erfolgkontrolle anhand von Beispielen und
praktischen Übungen. Die Teilnehmer lernen die wichtigsten Konzepte und
Verfahren bei Entwickler-Tests und fachlichen Tests während der
Software-Entwicklung kennen und können Vor- und Nachteile der Automatisierung
von Tests einschätzen.
Nach erfolgreicher Teilnahme kennen sie die Zusammenhänge von
Software-Architektur, Qualitätssicherung und Testbarkeit von Programmen und
verfügen über ein einfaches, flexibles und integriertes Vorgehensmodell zur
Erstellung von Software hoher Qualität.
Zielgruppe:
Das Seminar wendet sich in gleicher Weise an fachliche Tester,
Software-Entwickler und Testmanager.
Voraussetzungen:
Grundkenntnisse in der Programmierung sind wünschenswert aber nicht unbedingt
erforderlich.
Methodik:
Der Unterricht wechselt zwischen Vortrag, Diskussion, Demonstration von
Beispielen und praktischen Übungen.
Beschreibung:
Die Teilnehmer erlernen verschiedene Techniken der systematischen Testfallermittlung an Hand von Beispielen und praktischen Übungen. Sie können die zur Testbasis gehörenden Dokumente analysieren und darin enthaltene Anforderungen in zum Testen geeigneter Form formulieren. Die gefundenen Testfälle und Testdaten werden mit Hilfe von vorbereiteten Vorlagen dokumentiert.
Die Teilnehmer lernen die wichtigsten Konzepte und Verfahren bei technischen Tests während der Software-Entwicklung und bei der Automatisierung von Tests kennen. Sie können die Einsetzbarkeit der vorgestellten Techniken für ihre tägliche Arbeit beurteilen und kennen entscheidende Kriterien für eine bessere Testbarkeit von Software.
Das Seminar zeigt Hintergründe, Ziele und Vorgehensweisen des Qualitätsmanagements in der Softwareentwicklung auf und macht Vorschläge für Aufwandsabschätzung und Erfolgskontrolle. Es vermittelt darüber hinaus einen Überblick über aktuelle Strategien in der konstruktiven und analytischen Qualitätsicherung von Software.
Stoffverteilung:
Qualitätssicherung und Test
· Qualitätsziele definieren
· Konstruktive und analytische Qualitätssicherung
· Qualität messen durch Tests
Testplanung
· Testobjektliste erstellen
· Risikobewertung
· Testziele und Endekriterien festlegen
Die Testbasis
· Analyse von fachlichen und technischen Konzepten
· Anforderungen extrahieren, Abnahmekriterien festlegen
· Detaillierung durch Entscheidungstabellen, Ablaufdiagramme und Zustandsautomaten
Testfälle und Testdaten
· Äquivalenzklassenanalyse
· Grenzwertanalyse
· Einzelfallbetrachtung
· Einflussfaktoren, Paarbildung
Datenkombinationstest
· Ermittlung von Testfällen durch
· Abdeckung aller Wirkungen
· Abdeckung aller Testdaten
· Abdeckung bestimmter Kombinationen von
Testdaten
Testfälle und Testdaten beschreiben
· Vorlage zur Testfallbeschreibung
· Vorlage zur Testdatenbeschreibung
Der Lebenszyklustest
· Zustandsdiagramme erstellen
· Ermittlung von Testfällen durch
-Abdeckung aller Zustände
-Abdeckung aller Zustandsübergänge
- Abdeckung aller auslösenden
Ereignisse (Trigger)
Der Datenzyklustest
· Die CRUD Matrix
· Testfälle aus Funktionsketten zusammenstellen
Der Test von Anwendungsfällen und Geschäftsprozessen
· Ablaufdiagramme erstellen
· Ermittlung von Testfällen durch
- Abdeckung aller Zweige
- Abdeckung aller einfachen
Zweigkombinationen
- Weitere Abdeckungsmaße
Verfahren bei technischen Tests
· Statische Code-Analyse
· Inspektionen, Walk-Through
· Überdeckungsgrad-Analyse, Code-Coverage
· Profiling
Testautomation
· Automatisiertes Unit-Testing
· Funktionale Regressionstests
· Last- und Performancetests
· Software-Architektur und Testbarkeit
Testmanagement
· Teststufen und Phasen
· Zeit- und Ressourcenplanung
· Testfälle optimieren und verfolgen
· Fehlermanagement
· Den Testerfolg messen
Weitere Teststrategien
·
Design-By-Contract, eingebettete Tests
·
Test-First Design
·
Exploratives Testen
· Testen durch Benutzen
· Testen durch Dokumentieren