JavaScript: Unit-Testing

Gründe gegen Unit Tests

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Gründe, die gegen Unit Tests sprechen, finden sich schnell. Doch sind diese Gründe auch valide? Einige typische Argumente gegen Tests inklusive der passenden Gegenargumente liefert dieses Video.
05:19

Transkript

Wer auf der Suche ist nach Gründen, die gegen Unit Test zu sprechen, der wird relativ schnell fündig. Es gibt eine Vielzahl von Gründen die dagegen sprechen, die Frage ist nur: Wie valide sind diese Gründe überhaupt? Genau das, das möchte ich gerne mit Ihnen In diesem Video klären. Dazu habe ich eine Liste von Argumenten gegen Tests aufgeführt. Und möchte mit Ihnen jedes diese Argumente kurz besprechen. Das ertse Argument was man sehr oft hört ist das Argument dass ein Entwickler noch keine Vorkenntnisse hat. Natürlich ist es schwer sich mit einem Thema auseinanderzusetzen wenn man noch keine Kenntnisse in diesem Umfeld hat. Aber es Gegenmaßnahme dazu könnte man sich ja dieses Thema hereinarbeiten. Zum Beispiel mit einem Video Training. Ein weiterer Grund gegen Unit Test, den ich ganz oft höre ist der Punkt: Mein Code funktioniert. Und ja das glaube ich Ihnen. Ich bin fest davon überzeugt dass der Code den Sie programmieren funktioniert. Zumindest jetzt, die Frage ist was mit diesem Code in ein paar Wochen geschieht. Wenn Sie Änderungen daran vornehmen, wenn die ersten Kollegen Änderungen vornehmen, häufig ist es doch so, wenn wir Code schreiben dann funktioniert dieser, wir testen ihn. Irgendwann im Laufe des Projektes müssen diesen Code dann erweitern, und genau dann schleichen sich die Fehler ein, weil der Code immer komplizierter wird. Wir machen aber vielleicht auch nur ein Refactoring, gehen also hin und benennen ein paar Variablen um und auch hier können wir schnell was kaputt machen. An dieser Stelle helfen die Unit Test allerdings. Sie stellen für uns sicher dass der Code nicht nur nach der Entwicklung sondern auch nach einer Änderung funktionieren. Zeitdruck ist auch ein Punkt, den man sehr oft hört. Es gibt sicherlich Zeiten in einen Projekt, bei dem man sagen könnte, nun ja vielleicht wollen wir jetzt auf Unit Tests verzichten, weil wir genau am Ende eines Sprints sind, weil wir kurz vor dem Release Zeitpunkt sind und wenn wir wirklich jetzt noch Bugs fixen müssen, Features hereinbringen weil wir einfach eine festgelegte Deadline haben. Das kann aber muss kein valider Grund gegen Unit Test sein. Man sollte sich nur über eins im Klaren sein, dieser Zeitdruck falls Sie den haben sollten Sie den erst am Ende einer Projektphase haben, sprich kurz vor dem Release Termin. Wenn Sie den bereits zum Anfang haben und somit auch am Anfang noch keine Tests haben, dann machen Sie etwas in der Planung falsch beziehungsweise Ihr Projektmanager macht vielleicht etwas eine Planung falsch. Denn wenn ich das ganze Projekt über sprinnten muss, dann bin ich irgendwann KO Viele Entwickler stellen in Frage ob sich Unit-Tests überhaupt lohnen. Sie gehen davon aus, dass der Zeitaufwand im Vergleich zum Nutzen einfach zu hoch ist. Das mag im ersten Augenblick wie ein durchaus schlüssiges Argument klingen. Aber ich frage Sie an dieser Stelle wie viel Zeitaufwand ist denn zu hoch für ein Set von Tests was Ihnen ermöglicht Ihren Code gefahrlos im Nachhinein überarbeiten zu können. Wie viel Zeit würden Sie also investieren um im Laufe des Projekts, zu Ihrem Zeitpunkt Änderungen an Ihrem Code druchführen zu können. Ich glaube das ist eine ganze Menge Zeit, die sie dort investieren können, wenn Sie mal überlegen wie lang ihre Software in der Regel lebt. Dementsprechend glaube ich auch, dass dieses Argument hier, wenn man es über einen längeren Zeitraum hinweg betrachtet nicht gültig ist. Was sicher sein kann und auch häufig der Fall ist ist, dass sie bereits bestehenden Code haben. Die wenigsten Entwickler haben den Luxus jeden Tag ein neues Projekt starten zu dürfen. Sondern häufig arbeiten wir an einer Codebasis die bei viel Jahre alt ist. Und diese war vielleicht nicht auf unit-Testing vorbereitet, sprich Abhängigkeiten wurden nicht vernünftig voneinander isoliert Und hier ist unit Testing ganz klar schwierig. Schwierig bedeutet aber nicht dass es unmöglich ist. Sie können zum Beispiel einen ersten Einstieg mit indikations-Tests starten und anschließend ein Refactoring durchführen oder beziehungsweiseein Re-Design, welches Ihnen dann ermöglicht Unit Tests zu schreiben. Tja, was uns aber in der Regel dazwischen kommt ist der innere Schweinehund nämlich die Macht der Gewohnheit. Das haben wir ja noch nie so gemacht warum soll man damit heute anfangen. Na ja vielleicht wollen wir heute damit anfangen, weil wir feststellen dass wir in der Vergangenheit das ein und andere Problem haben, vielleicht haben wir häufig Fehler nach Erweiterungen von Funktionalität festgestellt. Vielleicht haben wir gesehen dass unser Code schwer wartbar ist und genau an solchen Punkten, da helfen uns die Unit Tests. Und als letzer Punkt, Na ja da höre ich ganz oft Unit Test ist langweilig. Das was wir eigentlich schreiben wollen dass es spannend der produktive Code den wir später sehen, aber Unit Test die sieht ja eigentlich keiner darum ist es langweilig. Und je nachdem, wie sie das Thema Testing angehen, ist das in der Tat extrem langweilig. Es gibt jedoch einige Tricks mit denen sie sich aus Unit-Tests sogar ein Spaß machen können. Wenn Sie zum Beispiel hingehen und die Tests schreiben bevor sie die eigentliche Dokumentierung schreiben, und daraufhin untersuchen (inaudible) Tests Grün zu bekommen, dann glauben Sie mir, das kann eine ganze Menge Spaß machen. Wir haben also gesehen, es gibt eine ganze Menge von Gründen, die gegen Unit Test sprechen und ich bin mir sicher wenn sie sich ein paar Minuten Gedanken machen dann werden sie noch eine viel längere Liste aufbauen können. Das Schöne ist die meisten Gründe die dagegen sprechen, die kann man relativ einfach widerlegen und ich denke das haben wir hier in diesem Film auch gesehen.

JavaScript: Unit-Testing

Steigen Sie in die Grundlagen des Unit-Testings ein und sehen Sie, wie Sie mit dem Jasmine-Framework Ihren JAvaScript-Code professionell testen können.

2 Std. 7 min (21 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:19.05.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!