Spring GDS 25. Jubiläum
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Ein Unit-Test ist ein automatisierter Test, der das kleinste testbare Stueck Code fuer sich prueft. Meist eine einzelne Funktion, Methode oder Klasse. Er prueft eine Sache, ein Szenario, ohne dass sonst etwas angeschlossen ist: keine Datenbank, kein Netzwerk, kein Dateisystem. Alles, was die Einheit normalerweise von aussen bezieht, wird durch einen kontrollierten Ersatz ersetzt, einen Mock oder Stub.
Jeder Test gibt der Einheit eine konkrete Eingabe, fuehrt sie aus und prueft, ob die Ausgabe dem Erwarteten entspricht. Weil die Einheit isoliert laeuft, zeigt ein fehlgeschlagener Test direkt auf den Code, der kaputtging, statt auf eine Stelle drei Systeme weiter. Eine Preisfunktion, die 10 Prozent Rabatt geben soll, laesst sich mit einer Handvoll Tests festnageln, die den Normalfall, den Nullfall und den Grenzfall abdecken, in dem der Rabatt die Summe negativ machen wuerde. Unit-Tests sind schnell, leicht zu automatisieren und geben sofort Rueckmeldung, sobald eine Aenderung bestehendes Verhalten bricht. Deshalb ist eine Codebasis mit guter Abdeckung viel sicherer zu refaktorieren und zu pflegen.
Sie bilden die Basis jeder ernsthaften Teststrategie, unterhalb von Integrationstests und End to End Tests. Sie sind auch das Fundament der testgetriebenen Entwicklung, bei der die Tests vor dem Code geschrieben werden, den sie pruefen sollen.
Unit-Tests sind Teil davon, wie wir Code schreiben, keine Pflicht, die am Ende drangehaengt wird. Wenn die Logik Geld, Berechtigungen oder irgendetwas betrifft, worauf sich ein Nutzer verlaesst, geht sie mit Tests live, die ihre Funktion beweisen und sie weiter beweisen. Diese Abdeckung erlaubt uns, ein System Monate spaeter zu aendern, ohne die Luft anzuhalten.
Fuer Kunden ist dies die stille Haelfte der Software-Qualitaetssicherung, die sich mit der Zeit selbst bezahlt macht. Automatisiertes Unit Testing faengt Regressionen in Sekunden ab statt in einem Support-Ticket, und eine gut getestete Codebasis bleibt guenstig zu erweitern. Wir behandeln die Testsuite als Teil des Produkts, das wir uebergeben, denn das ist sie.
Eine Codebasis geerbt, die Sie sich nicht anzufassen trauen? Bei Tests wuerden wir beginnen.
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Eine Marke in ein funktionierendes Geschäft verwandeln.
Eine halbe Million Menschen. Eine App. Null Chaos.















