Test

Gerne sorge ich bereits in der Designphase dafür, dass die Fachlichkeit nicht nur verstanden wird, sondern auch weitestgehend automatisiert testbar ist. Tests sind mehr als nur Tests: sie sind auch eine Manifestation des Zielzustands der Anwendung. Jeder Test ist eine ausführbare Spezifikation. Test-Driven Development (TDD) und Behaviour Driven Development (BDD) sind hier ein etabliertes und erfolgversprechendes Vorgehen. Als Ergebnis erhalten Sie und das ganze Team

  • frühe Einblicke in den Fortschrittsstatus der angefragten Features,
  • eine Art Versicherung, ein Sicherheitsnetz, gegen unbeabsichtigte Veränderungen (Regression) und
  • eine Dokumentation des Istzustands Ihrer Anwendung, die auch wirklich die Wahrheit erzählt und
  • die sich Schritt für Schritt dem Zielzustand annähert.
Werkzeuge meiner Wahl hierfür sind JUnit, Mockito, Jacoco und Sonarqube. Zunehmend setze ich auch hier KI-gestützte Werkzeuge ein – etwa zur Generierung erster Testfälle oder zur Analyse von Testabdeckung – ohne dass das Prinzip der ausführbaren Spezifikation dabei verloren geht.