DevOps – Testen, aber richtig! Klassisch vs. Unit Tests, TDD

Bei der Qualitätssicherung – und die besteht nun einmal hauptsächlich aus Testen – unterscheide ich zwischen dem SOLL und IST Zustand der klassischen Vorgehensweise und Unit Tests durch den Test-First Ansatz (Test-Driven-Development, TDD).

Die Vorgehensweise der Qualitätssicherung im klassischen Sinn (SOLL):

  1. Entwickler schreibt eine Methode, Klasse oder eine Applikation
  2. Wenn genug Zeit vorhanden, meistens nur optional
    • Manuelle Tests starten
    • Unit Tests erstellen
    • Integration Tests erstellen
  3. Wenn genug Zeit vorhanden, meistens nur optional
    • Es werden alle manuellen Tests von Anfang an neu gestartet
    • Es werden alle Unit Tests neu gestartet
    • Es werden alle Integrationstests neu gestartet
  4. Es werden gemeldete Fehler behoben

Die Vorgehensweise der Qualitätssicherung im klassischen Sinn (IST):

  1. Entwicklungsteam schreibt eine Methode, Klasse oder eine Applikation
  2. Es werden Fehler behoben (und ggf. ungewollt weitere erzeugt)
  3. Fehleranalyse dauert sehr lange, Kosten steigen pro Fehlerfall

Die Vorgehensweise der Qualitätssicherung bei Test Driven Development (Test-First Ansatz, ausgeführt zur Entwicklungszeit)

  1. Schreibe einen Test
  2. Starte alle Tests
  3. Stelle sicher, dass der/die Tests grün werden
    => der produktive Code muss geschrieben werden
  4. Starte alle Tests
    1. Der neue Test schlägt fehl (Red)?
      => Fehler beheben und weiter mit 4.
    2. Der neue Test ist okay (Green)
      => Produktiven Code aufräumen (Blue)
    3. Alle Tests sind okay und kein Bedarf den Code aufzuräumen
      =>  Schreibe einen neuen Test (weiter mit 1.)

Dadurch entsteht ein Zyklus, der mit einem fehlschlagenden Test beginnt (RED) und behoben wird (GREEN). Ggf. kann der Code vereinfacht und aufgeräumt werden (BLUE).
Es entwickelt sich dadurch nach und nach der produktive, aufgeräumte Quellcode – in kleinsten Schritten, überschaubar, lesbar und voll automatisiert.

Mein Fazit:
Der Idee hinter TDD steht für mehr Qualität, Stabilität, Wartbarkeit – und das zu jederzeit automatisiert per Knopfdruck

Weitere Empfehlungen zum Thema Unit Tests und Test Driven Development

3 Gedanken zu “DevOps – Testen, aber richtig! Klassisch vs. Unit Tests, TDD

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s