```html id="testarten_vergleich" Testarten im Softwareprozess

    Testebenen im Überblick
    Eine einfache Eselsbrücke: Vom Kleinen zum Großen.

    Die Analogie: Ein Auto bauen
  1)   Komponententest → Du prüfst den Motor allein auf dem Prüfstand.
  2)  Integrationstest → Du prüfst, ob Motor + Getriebe + Kupplung zusammenpassen.
  3)  Funktionstest → Du fährst das fertige Auto und schaust, ob es das tut, was es soll.

    Die drei Ebenen
    🔩 Komponententest (= Unit Test)
  -  Testet die kleinste Einheit isoliert – eine Funktion, eine Klasse, ein Modul
  -  Abhängigkeiten werden durch Platzhalter (Mocks/Stubs) ersetzt
  -  Wird meist vom Entwickler selbst geschrieben
    Beispiel: Funktion berechneRabatt(preis, prozent) → gibt sie bei 100 € und 10 % korrekt 90 € zurück?

    🔗 Integrationstest
   - Testet das Zusammenspiel mehrerer Komponenten
  -  Findet Fehler an den Schnittstellen zwischen Modulen
  -  Einzeln funktionieren die Teile – aber passen sie zusammen?
     Beispiel: Funktioniert die Verbindung zwischen Login-Modul und Datenbank? Wird der Token korrekt weitergegeben?

    ✅ Funktionstest (= Systemtest / Blackbox-Test)
  - Testet das Gesamtsystem aus Nutzersicht
  -  Kein Blick in den Code – nur Input → Output
  -  Prüft: Erfüllt das System die Anforderungen?


     Beispiel:  Der Nutzer klickt auf „Bestellen" → landet die Bestellung korrekt in der Datenbank und kommt eine Bestätigungsmail an?

     Schnelle Übersicht
                                 Komponente	                Integration	            Funktion
    Was wird getestet?	         Eine Einheit	             Zusammenspiel	        Gesamtsystem
    Wer testet?             	 Entwickler	                Entwickler / Tester	     Tester
    Sieht man den Code?	        Ja (Whitebox)	               Teils	             Nein (Blackbox)
    Wann?	                        Früh	                    Mitte	              Spät
    Fehler gefunden bei…	        Logik	                   Schnittstellen	     Anforderungen


    Die Reihenfolge ist immer: Komponente → Integration → Funktion – nie umgekehrt. Erst wenn die Einzelteile stimmen, hat das Zusammenbauen Sinn.

Unterschied: Komponententest, Funktionstest, Integrationstest

Diese drei Testarten gehören zu den wichtigsten Teststufen im Softwareentwicklungsprozess. Sie unterscheiden sich darin, welche Teile der Software getestet werden.

Komponententest (Unit Test)

Test einzelner, isolierter Softwarebausteine (Komponenten).
Beispiel:
Test einer Funktion, die zwei Zahlen addiert.

Integrationstest

Test des Zusammenspiels mehrerer Komponenten.
Beispiel:
Login-Modul arbeitet mit Datenbank zusammen.

Funktionstest (Systemtest)

Test der gesamten Funktionalität aus Sicht des Anwenders.
Beispiel:
Ein Benutzer meldet sich an und führt eine Bestellung durch.

Vergleich

Testart Testobjekt Ziel
Komponententest Einzelne Funktion / Modul Korrekte interne Logik
Integrationstest Zusammenspiel mehrerer Komponenten Korrekte Zusammenarbeit
Funktionstest Gesamtes System Erfüllung der Anforderungen
Merksatz für die FISI-Prüfung:

Komponententest = einzelne Bausteine
Integrationstest = Zusammenspiel der Bausteine
Funktionstest = gesamtes System aus Anwendersicht

Typische Prüfungsantwort

Komponententests prüfen einzelne Softwaremodule isoliert. Integrationstests prüfen das Zusammenspiel mehrerer Module. Funktionstests prüfen das gesamte System aus Sicht der Anforderungen bzw. des Anwenders.
```