Zum Inhalt

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.

    v-model

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

    v-model

  • 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.