Gespräch zwischen zwei Studenten

Eine kurze Geschichte über Unit-Tests, nach einer wahren Begebenheit


Vorhang auf, Tische mit Terminals und rollbaren Bürostühlen. Der Student Adam sitzt an einem der Terminals und programmiert.

Die Tür schwingt auf. Student Bert betritt die Bühne.

Bert: Hi, Adam!

Adam: Hallo!

Bert hängt seine Jacke über den Stuhl, setzt sich daneben und startet sein Terminal. Während das Terminal hochfährt, beginnt er ein Gespräch:

Bert: Wie sieht's denn aus mit dem Übungsblatt? Hast Du noch was geschafft?

Adam: Ja, ich bin jetzt bei der 2c. a und b habe ich schon fertig.

Bert: Cool, dann sind wir ja fast fertig. Ich checke gleich mal aus und denk mich mal rein, dann können wir die c zusammen fertig machen.

Adam: Okay.

Berts Terminal ist hochgefahren. Er loggt sich ein, checkt das Projekt aus, und rollt für kurze Zeit über den Quelltext.

Bert: Hast Du schon irgendwelche Tests dazu geschrieben.

Adam: Ja, ich habe da so eine Main-Methode.

Bert: Keine Unit-Tests? Wo liegt das denn?

Adam: Da, im Default-Package.

Adam rutscht rüber und zeigt Bert den Quelltext.

Adam: Siehst Du, am Ende gebe ich die Ergebnisse mit System.out.println() aus, die muss man dann nur noch vergleichen.

Bert: Hu! Okay. Ich glaube, ich erlaube mir mal ein paar JUnit-Tests zu schreiben, um mich mal reinzudenken.

Adam: Pf, wenn du meinst...? Tu, was Du nicht lassen kannst. Ich lös' jetzt die c.

Adam rutscht wieder zurück zu seinem Platz und beginnt wieder zu tippen.

Bert beginnt auch zu tippen. Er kopiert ein paar Test-Methoden hin und her und modifiziert sie, um die in der Aufgabenstellung genannten Fälle zu berücksichtigen. Nach einer Vierstelstunde klickt er auf einen Knopf mit einem Pfeil. Ein roter Balken erscheint.

Bert: Ähm, Adam? Die Tests sagen mir gerade, dass die Lösung für Aufgabe a und b auch noch nicht funktioniert.

Adam kommt erschrocken rübergerollert.

Adam: Was? Das kann doch gar nicht sein! Zeig mir mal den Testfall!

Adam klickt auf Berts Terminal rum und denkt angestrengt nach.

Adam: Hah! Da vergisst Du doch, das Objekt hinzuzufügen! Da ist doch Dein Testfall falsch!

Bert: Nein, das mache ich dort schon.

Bert zeigt auf eine Codezeile.

Adam: (Ächz.) Scheiße. Wieso klappt das denn nicht?!?