Glossar zum Thema Testen
-
Test Vorgehensmodelle:
- Waterfall Model: Ein sequenzielles Vorgehensmodell, bei dem jeder Schritt des Testprozesses nacheinander durchgeführt wird.
- Iterative Model: Ein Vorgehensmodell, bei dem der Testprozess in mehreren Iterationen durchgeführt wird.
- Agile Model: Ein flexibles Vorgehensmodell, das auf Zusammenarbeit und Reaktion auf Veränderungen basiert.
- V-Model: Ein Vorgehensmodell, das die Testaktivitäten parallel zu den Entwicklungsaktivitäten durchführt und eine klare Verbindung zwischen den Phasen herstellt.
- rechter Ast: Testaktivitäten
- linker Ast: Entwicklungsaktivitäten
- Phasen des V-Modells:
- Anforderungsanalyse: Definition der Anforderungen und Erstellung von Testplänen.
- Systementwurf: Entwurf des Systems und Erstellung von Testfällen.
- Implementierung: Entwicklung des Systems und Durchführung von Unit-Tests.
- Integration: Zusammenführung der Komponenten und Durchführung von Integrationstests.
- Systemtest: Testen des gesamten Systems auf Funktionalität und Anforderungen.
- Abnahmetest: Überprüfung, ob das System den Anforderungen des Kunden entspricht.

- Iteratives Vorgehensmodell: Ein Ansatz, bei dem das Testen in mehreren Iterationen durchgeführt wird, um kontinuierliches Feedback und Verbesserungen zu ermöglichen.

-
Softwaretest Levels:
- Unit Test: Testet einzelne Komponenten (z. B. Funktionen, Methoden) isoliert.
- Komponententest: Testet die Interaktion zwischen mehreren Komponenten.
- Integrationstest: Testet das Zusammenspiel mehrerer Komponenten.
- Systemtest: Testet das gesamte System auf Funktionalität und Anforderungen.
- Abnahmetest (User Acceptance Test): Testet, ob das System den Anforderungen des Kunden entspricht.
-
Methoden des Softwaretestens:
- Black-Box-Test: Testet die Funktionalität ohne Kenntnis der internen Struktur.
- White-Box-Test: Testet die interne Struktur und Logik des Codes.
- Grey-Box-Test: Kombination aus Black-Box- und White-Box-Test.
- Manual Testing: Testen durch menschliche Tester, die Testfälle ausführen.
- Automated Testing: Testen durch automatisierte Testskripte und Tools.
- Regression Testing: Wiederholtes Ausführen von Testfällen, um sicherzustellen, dass neue Änderungen keine bestehenden Funktionen beeinträchtigen.
- Performance Testing: Testet die Leistung eines Systems unter bestimmten Bedingungen.
- Load Testing: Testet das Verhalten eines Systems unter einer bestimmten Last.
- Stress Testing: Testet das Verhalten eines Systems unter extremen Bedingungen.
- End-to-End Testing: Testet die gesamte Anwendung von Anfang bis Ende.
-
Typen von Tests:
- Funktionale Tests: Testen die Funktionalität des Systems gemäß den Anforderungen.
- Nicht-funktionale Tests: Testen Aspekte wie Leistung, Sicherheit, Benutzerfreundlichkeit usw.
- Regressionstests: Testen, ob neue Änderungen bestehende Funktionen beeinträchtigen.
- Explorative Tests: Tester erkunden das System ohne vorher festgelegte Testfälle.
- Smoke Testing: Schnelltest, um zu prüfen, ob die grundlegenden Funktionen funktionieren.
- Sanity Testing: Überprüfung, ob eine bestimmte Funktion nach Änderungen noch funktioniert.
-
Software Testing Life Cycle (STLC):
- Requirement Analysis: Analyse der Anforderungen, um Testfälle zu erstellen.
- Test Planning: Planung der Teststrategie, Ressourcen und Zeitrahmen.
- Test Case Design / Development: Erstellung von Testfällen basierend auf den Anforderungen.
- Test Environment Setup: Einrichtung der Testumgebung.
- Test Execution: Durchführung der Tests und Aufzeichnung der Ergebnisse.
- Defect Reporting: Dokumentation und Meldung von gefundenen Fehlern.
- Test Closure: Abschluss des Testprozesses, Analyse der Ergebnisse und Lessons Learned.
-
Validation versus Verification:
- Validation: Überprüfung, ob das System die Anforderungen des Kunden erfüllt (Are we building the right product?).
- Verification: Überprüfung, ob das System korrekt implementiert wurde (Are we building the product right?).
-
Quality Assurance vs. Testing: Clearing the Confusion
- Quality Assurance (QA): Umfasst alle Aktivitäten, die sicherstellen, dass der Softwareentwicklungsprozess qualitativ hochwertige Produkte liefert. QA ist prozess- und präventiv orientiert.
- Testing: Konzentriert sich auf die Identifizierung von Fehlern im fertigen Produkt. Testing ist produkt- und detektivisch orientiert.
-
Rollen im Softwaretest:
- Test Manager: Verantwortlich für die Planung, Koordination und Überwachung des gesamten Testprozesses.
- Test Lead: Führt das Testteam und stellt sicher, dass die Teststrategie umgesetzt wird.
- Tester:
- Test Analyst: Analysiert Anforderungen und erstellt Testfälle.
- Test Designer: Entwirft detaillierte Testfälle basierend auf den Anforderungen.
- Test Executor: Führt die Tests durch und dokumentiert die Ergebnisse.
- Automation Engineer: Entwickelt und pflegt automatisierte Testskripte.