Wie kann ich mein JavaScript am besten Testen?
Hierbei gibt es zwei Grundsätzliche Methoden. Zum einen muss geprüft werden, ob alle Zeichen richtig gesetzt und verwendet wurden, dies wird auch als syntaktische Korrektheit bezeichnet. Da JavaScript nicht wie beispielsweise C oder Java nach dem Programmieren kompiliert wird, bedarf es der Zuhilfename von Tools um die korrekte Syntax zu prüfen.
Als zweite Methode wird die Programmlogik geprüft. Dieser Test beinhaltet unter anderem, ob das Programm für bestimmte Eingabewerte auch das erwartete Ergebnis liefert. Ist dies der Fall arbeitet das Programm semantisch korrekt.
Wie kann ich diese beiden Bereich also bei JavaScript testen. Zum einen kann man sich hierfür dem Browser zur Hilfe nehmen. Bei Chrome und Safari leisten integrierte Entwicklertools die Aufgabe der syntaktischen Tests. Für FireFox gibt es dafür das AddOn “Bugzilla”.
Alle diese Tools haben gemeinsam, dass sie ein kleines Fenster über die aktuelle Website legen, in welchem Informationen zum verwendeten HTML, CSS und JavaScript angezeigt werden. Diese Tools stellen die Grundlage für jede Webentwicklung dar. Am hilfreichsten für JavaScript ist dabei der Reiter “Console”. Hierbei handelt es sich um eine JavaScript Konsole, auf welcher man nicht zur Code schreiben kann, sondern auch alle syntaktischen Fehler oder Debugging-Ausgaben, die aus JavaScript heraus über console.log(“mein debug text”) angezeigt werden. Sollte also euer Programm nicht korrekt laufen, wird dies in der Konsole mit Angabe der entsprechenden Zeile angezeigt. Auch erweiterte Debugging-Funktionen, wie das setzen von Breakpoints, sind möglich.
Da nicht alle JavaScript Anwendungen für den Browser bestimmt sind und es umständlich ist, nach jedem Programmierschritt die Webseite neu zu laden, gibt es das Tool JSLint. Es prüft die Qualität des JavaScript Codes. Das bedeutet, dass es nicht nur syntaktische Fehler erkennt, sondern auch prüft, ob beispielsweise Variablen immer mit dem Prefix “var” deklariert wurden. Dies ist zwar kein Fehler, aber ein Zeichen unsauberer Programmierung. Auch verwendete Funktionen die in der neuesten Version von JavaScript ES5 nicht verwendet werden sollten, aber noch Bestandteil der Sprache sind, werden als Warnungen angezeigt.
Der Vorteil von JSLint ist, dass es neben der Webseite eine Reihe von Integrationen für Editoren gibt. Ein häufig unter Mac genutzter Editor wie TextMate liefert gleich eine aktuelle Version von JSLint mit, welche einfach über einen Shortcut aufgerufen werden kann. Nach jeder größeren Änderung im Code sollte dies einmal gestartet werden, um sicher zu gehen, dass sich keine Fehler eingeschlichen haben.
Neben der Syntaxprüfung und Qualitätsprüfung, gibt es auch eine Bibliothek die erweiterte semantische Tests erlaubt. Es handelt sich um eine Erweiterung von JQuery mit dem Namen QUnit. Mit dieser Testumgebung können unterschiedliche Bereiche des Programms auf korrekte Funktionen überprüft werden. Hierfür werden Bedingungen festgelegt, die das Programm beim Aufruf bestimmter Methoden und Parameter erfüllen muss. So können beispielsweise Tests für die Grundfunktionalitäten des Programmes entworfen werden, die nach jeder Änderung am Code einmal ausgeführt werden können.
Mit Hilfe dieser Tools ist also möglich, an Standards der Softwareentwicklung auch in JavaScript anzuknüpfen, um so die Sprache auch im professionelen Umfeld einsetzen zu können. Da der Umfang der JavaScript Programme stetig zunimmt und oft mehrere tausend Zeilen an Code enthält, ist es jedem Webentwickler zu empfehlen, rechtzeitig Testfälle zu schreiben, um so eine gleichbleibende Qualität der Software zu garantieren. Je mehr Fälle die Unit Tests abdecken, desto leichter und günstiger ist es Teile des Code neu zu schreiben und weiter zu entwickeln.