Skip to content
IRC-Coding IRC-Coding
TDD CI CD Red Green Refactor GitHub Actions

TDD & CI/CD einfach erklärt: Red-Green-Refactor, Pipeline & Prüfungsfragen

Test-Driven Development (TDD) und CI/CD: Red-Green-Refactor, Continuous Integration/Delivery/Deployment, Tools, Beispiel und typische Prüfungsfragen.

S

schutzgeist

1 min read

TDD & CI/CD

Dieser Beitrag ist eine Begriffserklärung zu TDD und CI/CD – inklusive Prüfungsfragen, Kernkomponenten und Tags.

In a Nutshell

TDD: Tests werden vor dem Code geschrieben (Red–Green–Refactor). CI/CD: automatisierte Integration und Auslieferung über Pipelines.

Kompakte Fachbeschreibung

TDD folgt dem Zyklus:

  • Red: Test schreiben, der fehlschlägt
  • Green: minimaler Code, damit Test besteht
  • Refactor: verbessern ohne Funktionsänderung

CI/CD:

  • CI: Build + Tests nach jedem Commit
  • CD: automatisiertes Ausliefern (Delivery bis Staging, Deployment bis Produktion)

Prüfungsrelevante Stichpunkte

  • TDD = Test zuerst
  • Red-Green-Refactor
  • CI = automatisiertes Bauen/Testen
  • CD = automatisiertes Ausliefern (IHK-relevant)
  • TDD erhöht Testabdeckung
  • CI/CD reduziert manuelle Fehler (Sicherheit)
  • Schnellere Releases (Wirtschaftlichkeit)
  • Pipeline muss dokumentiert sein

Kernkomponenten

  1. Unit Tests
  2. Testframeworks (JUnit/pytest)
  3. CI-Server (Jenkins/GitHub Actions)
  4. Build Tools
  5. Container/Deployment
  6. Pipeline-Skripte
  7. Rollback-Strategien
  8. Staging-Umgebungen
  9. Code-Quality-Tools

Praxisbeispiel (pytest)

def add(a, b):
  return a + b

def test_add():
  assert add(2, 3) == 5

Vorteile und Nachteile

Vorteile

  • Höhere Codequalität
  • Automatisierte QS
  • Schnellere Fehlersuche
  • Wiederholbare Deployments

Nachteile

  • Initialaufwand
  • Infrastruktur nötig
  • Disziplin erforderlich

Typische Prüfungsfragen (mit Kurzantwort)

  1. Was bedeutet Red-Green-Refactor? Test schreiben, minimal implementieren, dann refactoren.
  2. Ziel von CI? Automatisiertes Testen und Zusammenführen.
  3. Delivery vs Deployment? Delivery bis Staging, Deployment bis Produktion.

Freie Antwort

TDD zwingt früh über Anforderungen/Schnittstellen nachzudenken. CI/CD ist im DevOps-Kontext Standard und zeigt in Projekten Professionalität.

Lernstrategie

  1. Kleine Funktion per TDD entwickeln.
  2. GitHub Actions Pipeline für build/test einrichten.
  3. Pipeline auf Papier skizzieren (Prüfung).
  4. Kein Deployment ohne Tests.

Wichtigste Quellen

  1. https://martinfowler.com/bliki/TestDrivenDevelopment.html
  2. https://docs.github.com/en/actions
Zurück zum Blog
Share:

Ähnliche Beiträge