Wenn du deine Software nicht testen kannst, ist die Architektur Mist! 💩
Jeder Softwareentwickler kennt es vermutlich:
Wenn bei einem Altsystem, bei dem Frontend, Backend und Datenbank zusammenhängen, Tests geschrieben werden sollen, wird es aufwendig.
Die einzelnen Komponenten können nicht losgelöst voneinander getestet werden.
Genau aus diesem Grund sollte bei jedem neuen Softwareprojekt von Beginn an auf eine modulare Architektur gesetzt werden, alles andere ist ein riesiger Fehler meiner Meinung nach.
Nur so kann sichergestellt werden, dass jede einzelne Komponente unabhängig voneinander getestet werden kann.
Denn Tests sind extrem wichtig für ein erfolgreiches Softwareprojekt.
👉🏼 Durch das Schreiben von Unit-Tests wird der Entwickler gezwungen, den Code modularer und klarer zu gestalten, was die allgemeine Codequalität verbessert.
👉🏼 Entwickler können Änderungen am Code vornehmen, ohne Angst haben zu müssen, dass sie bestehende Funktionalitäten unbeabsichtigt kaputt gehen.
👉🏼 Unit-Tests stellen sicher, dass der Code auch nach Refactorings weiterhin korrekt funktioniert.
👉🏼 Unit-Tests unterstützen agile Methoden, indem sie kontinuierliche Integration und kontinuierliches Testen ermöglichen.
👉🏼 die Produktivität bei der Entwicklung hoch bleibt.
Wenn im Laufe der Entwicklung erkannt wird, dass die Software nicht gescheit getestet werden kann, ist das ein Anzeichen dafür, dass die Architektur Mist ist und man sie überdenken sollte.
Man sollte bei der Auswahl der Testdaten sicherstellen das diese so nah wie möglich an der Realität sind. Also z.B. für deine Postleitzahl im Test nicht den String “zipCode” verwenden weil die Variable so heisst sondern “71069”. Dadurch hat man eine lebendige Dokumentation des Codes die möglichst nah an der Fachlichkeit ist.
Wie stehst du zu dem Thema?