JavaScript: Unit-Testing

Gründe für Unit Tests

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Sie würden gerne Unit Tests schreiben, Ihr Manager ist aber noch nicht überzeugt? In diesem Video finden Sie handfeste Argumente, mit denen Sie Ihren Manager überzeugen können!
06:44

Transkript

Warum sollten Sie eigentlich Unit Tests schreiben? Oder vielleicht wollen Sie Unit Tests schreiben aber ihr Manager will erst einmal überzeugt werden und Ihnen fehlen die passen Argumente. Egal ob das eine oder das andere der Fall ist, in diesem Film werde ich Ihnen wichtig Argumente liefern mit denen Sie Ihre Entscheidung Unit Tests zu schreiben untermauern können. Schauen wir uns einmal diese Argumente an. Eine der wichtigsten Gründe der auch naheliegend ist, ist, dass wir mit Unit Test Fehler frühzeitig aufdecken können. Ich denke wir alle wissen wir schneller wie ein Fehler finden, desto günstiger ist es diesen zu beheben. Wenn ich zum Beispiel während der Entwicklung einen kleinen logischen Fehler ich habe zum Beispiel in meinem Quelltext ein kleiner und ein größer Zeichen verwechselt und ich werde direkt darauf hingewiesen, dann ist es relativ einfach diesen Fehler zu beheben, es kostet mich meist nur wenige Minuten Zeit. Fällt der Fehler allerdings erst spät auf nämlich dann wenn die Testabteilung auf unsere Code drauf schaut beziehungsweise das Ergebnis überprüft, dann ist es schon etwas schwieriger und aufwendiger diesen Fehler zu beheben. Zunächst einmal muss der richtige Entwickler gefunden werden, der für die (inaudible) zuständig ist. Dieser Entwickler, der dann hoffentlich auch der ursprünlgiche Autor ist, der muss sich erst einmal wieder in den Code hineinarbeiten, denn vielleicht ist schon ein wenig Zeit vergangen seitdem. Noch schlimmer wird es natürlich wenn der Code schon ausgeliefert wurde, wenne r also beim Kunden läuft. Dann muss nicht zuerst der passen Entwickler gefunden werden, er muss sich nicht erst herein arbeiten und Fehler beheben, sondern der Code muss danach komplett neu getestet, verpackt und verteilt werden. Dementsprechend ist natürlich toll wenn wir mit Unit Tests Fehler frühzeitig aufdecken können. Frühzeitig die aufdecken bedeutet übrigens nicht dass wir alle Fehler finden werden. Auch mit Unit Tests werden Sie keine fehlerfreie Software haben. So werden nur erfahrungsgemäß weniger haben. Ein für mich viel schlagkräftiges Argument ist, dass ich mein Risiko während Umbaumaßnahmen an bestehendem Code minimieren kann. Sie alle kennen das, es gibt ein Stück Quellcode vielleicht das wichtigste Stück in ihrer Anwendung und das ist gewachsen im Laufe der Zeit. Heißt also das hat jemand geschrieben, dass es irgendwann mal als kleine Funktion gestartet und dann wird es immer größer und größer und größer weil jeder etwas hinzufügt. Und irgendwann da ist dieser Code eigentlich nicht mehr wartbar. Wenn Sie an diesen Code ran müssen dann wollen Sie das vielleicht garnicht weil sie wissen, das ist relativ kompliziert, ich kann es kaputt machen, wenn ich es kaputt mache dann muss ich es danach warten und der Code ist einfach extrem gewachsen. Ich trau mich da nicht ran. Und solch ein Code ist häufig irgendwann der zentrale der wichtigste Code in Ihre Anwendung. Wenn ich Unti Tests habe, dann kann ich jederzeit an solchen Code herangehen, ich muss nämlich keine Angst haben, dass meine umbaumaßnahme, dass mein Refactoring, dass mein Erweiterung diesen Code kaputt macht. Sollte der Code danach nicht mehr funktionieren, dann habe ich ein Unit Test und der sagt mir das. Bedeutet also, mit der Hilfe von Unit Tests, kann ich meinen Code dauerhaft sauber halten. Ich kann ihn jederzeit umbauen. Ich kann ihn wartbarer und lesbarer machen ohne das Risiko einzugehen, dass er danach kaputt geht. Für mich ein ganz tolles Argument für Unit Testing. Natürlich Ist aber nicht nur das, sondern ich kann auch meine Debugging Aufwände verringern. Ich spare Zeit durch Unti Testing. Typischerweise wenn man eine neue Funktion implementiert, hatten diese testen möchte oder einen Fehler analysiert, dann setzt man sich ein Breakpoint in seinem Quelltext. Um an diese Stelle zu gelangen, muss man als Entwickler, dann jedoch zunächst das System starten sich vielleicht durch mehrere Bildschirmmasken klicken, Daten eingeben die man zunächst erst einmal beschaffen oder nachlesen muss und dann nach einigen Minuten ist von endlich an dem Punkt, an dem man Debuggen kann. Wenn Sie einen Unit Test haben, dann haben Sie einen direkt Einsprungpunkt in die zu testende Stelle bedeutet also Sie sind ein Klick Von Debugging entfernt. Der nächste Punkt der ist auch nicht unterschätzen, Unit Test dokumentieren den Code. Was meine ich damit? Unti Tests sind keine Kommentare. Sie alle kennen das Quelltext Kommentare, die Sie über ihren Code schreiben mit dem Sie schwierige Codepassagen dokumentieren. Von so einer Art der Dokumentation halte ich relativ wenig. Es gibt nämlich ein großes Problem mit diese Art der Dokumentation. Sie veraltet relativ schnell. Bedeutet, ich schreibe ein Stück Code, ich schreibe ein Kommentar, beides passt zusammen. Häufig ist dies der einzige Punkt an dem Kommentar und Co zusammenpassen. Irgendwann später kommt ein zweiter Entwickler oder vielleicht ich auch selber wieder und ändere diesen Code. Wenn ich Zeit habe dann ändere ich auch die Dokumentation dazu, wenn nicht, dann nicht. Bedeutet im schlimmsten Fall besagt die Dokumentation, spricht der Kommentar, was anderes als das was der Code eigentlich tut. Unit-Tests haben das Problem nicht, bei Unit Test haben wir Code, der unseren Code testet damit immer eine korrekte Aussage trifft. Bedeutet also ich habe für jedes Stück Code, was ich meine Anwendung habe ein Stück Beispiel Quellcode der zeigt wie ich diesen Code nutzen muss. Sie kennen das doch, wenn Sie eine neue Funktion sich in einer API arbeiten möchten, was machen Sie dann, schauen Sie in die Dokumentation rein und lesen den Fließtext oder scrollen Sie in der Dokumentation nach ganz unten dorthin, wo Sie die Code Beispiele haben. Wenn die so ähnlich arbeiten wie ich, dann wären sie vermutlich einfach nur das Code Beispiel in der Dokumentation suchen, Kopierenm in Ihren Quelltext einfügen, ein wenig damit herumspielen bis sie den Code am laufen haben und genau dieser Code Beispiel aus der Dokumentation, das sind Ihre Unit Tests. Denn Unit Tests zeigen insofern sie in ausreichender Menge vorhanden sind, jegliche Interaktion der mit Ihrem Code möglich ist. Implizit verbessern Unti Tests auch die Architektur. Denn Unit Tests, die testen ja Komponenten isoliert voneinander, damit ich Komponenten überhaupt isoliert testen kann, benötige ich eine lose gekoppelte Architektur. Eine lose gekoppelte Architektur ermöglicht es mir mein System einfacher zu erweitern und zu pflegen. Das ist genau diese lose gekoppelt Architektur für meine Test brauche, bedeutet das, die Unit Tests dazu zwingen eine saubere Architektur umzusetzen. Darüber hinaus können Unit Tests Ihnen auch dabei helfen, eine Aussage über die Qualität Ihres Quellcodes zu treffen. Zum Beispiel können Sie ermitteln, wie viel Prozent Ihres Quelltextes durch Tests abgedeckt sind. Und somit haben Sie einen ersten Einstieg in den Bereich Qualitätsmetriken für Ihren Code. Sie sehen also es gibt eine ganze Menge gute Gründe die für Unit Tests sprechen. Die wichtigsten für mich sind die Risikominimierung während eines Refactorings oder eine Erweiterung von Code, das fürhzeitige Finden von Fehlern, so wie die Automatische Dokumentation meines Quellcodes.

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!