Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Gadgets & Lifestyle

Idiotentest: Gremlins.js bringt deine Web-App ans Limit

    Idiotentest: Gremlins.js bringt deine Web-App ans Limit

Monkey-Testing mit Gremlins.js #FLICKR#

Hast du bei der Entwicklung deiner WebApp wirklich alle möglichen Fehlerquellen beseitigt? Gremlins.js wird dich möglicherweise eines Besseren belehren!

Gremlins.js ist eine so genannte „Monkey-Testing-Library“. Die Bibliothek wurde in JavaScript geschrieben und ist bereit zur Ausführung in Node.js oder im Browser. Das Ziel der Bibliothek ist es, Schwachstellen in deiner Applikation aufzudecken. Hierfür wird das „Monkey-Testing“-Prinzip angewandt. Das bedeutet, dass die Bibliothek wahllos mit deiner Applikation interagiert und so versucht Fehler zu verursachen.

Eine Horde von „Gremlins“ fluten deine Web-App

#FLICKR#
(Foto: Inti / flickr.com, Lizenz: CC-BY)

Warum das Ganze? Bei der Entwicklung einer Applikation ist es schwierig, wirklich alle möglichen Probleme vorherzusehen. Kannst du wirklich behaupten, genau zu wissen, dass nichts deine Web-App aus dem Gleichgewicht bringen kann? Wenn nicht, dann ist Gremlins.js das richtige Werkzeug für dich um diese Probleme zu finden, bevor ein Benutzer sie finden kann.

Gremlins.js simuliert eine Horde von „Gremlins“, die wahllos überall im Browser klicken, zufällige Daten in Formulare eingeben und wahllos auf der Seite umherscrollen. Während des Testens kannst du das Geschehen dabei live mitverfolgen. Die JavaScript-Fehler, die verursacht werden, werden gesammelt und später für dich zur Korrektur zur Verfügung gestellt. Finden die Gremlins keine Fehler, hast du gute Arbeit geleistet.

Gremlins.js
Gremlins.js lässt eine Menge wahlloser Interaktionen auf deine Webseite los und zeigt so mögliche Schwachstellen auf, die behoben werden sollten. (Grafik: gremlins.js)

So nutzt du Gremlins.js

Um loszulegen, benötigst du nur die Gremlins.js-Bibliothek. Mit einigen Zeilen Code beginnt der „Angriff“ auf deine Applikation. Als Standardwert wird alle zehn Millisekunden eine Interaktion ausgeführt – jedoch maximal 100 Interaktionen pro Durchlauf.

<script src="path/to/gremlins.min.js"></script>
<script>gremlins.createHorde().unleash();</script>

Gremlins.js verfügt über verschiedene „Gremlin Spezies“. Einige klicken überall auf der Seite („Clicker“) umher oder fügen Daten in Formulare ein („formFiller“) und wieder andere versuchen in jede erdenkliche Richtung zu scrollen („Scroller“). In der Konsole deines Browsers kannst du sehen, welcher Gremlin gerade welche Aktion durchführt.

gremlin formFiller input 5 in <input type=​"number" name=​"age">​
gremlin formFiller input pzdoyzshh0k9@o8cpskdb73nmi.r7r in <input type=​"email" name=​"email">​
gremlin clicker    click at 1219 301
gremlin scroller   scroll to 100 25
...

Eine weitere „Spezies“ der Gremlins sind so genannte „Mogwais“. Die Entwickler bezeichnen sie als harmlose Gremlins. Denn die Aufgabe der Mogwais ist die Überwachung der anderen Gremlins und die Aufzeichnung der Tätigkeiten für das Logging-Skript. So achten Mogwais beispielsweise auf die Framerate deiner Applikation und geben dir Bescheid, wenn diese zu niedrig werden sollte. Mogwais berichten grundsätzlich, wenn es einem Gremlin gelingen sollte, einen Fehler in der Applikation auszulösen.

mogwai fps 12.67
mogwai fps 23.56
err > mogwai fps 7.54 < err
mogwai fps 15.76
...

Wenn die Gremlins zehn Fehler in der Applikation hervorrufen können, werden sie von einem der Mogwais gestoppt und das Feld für dich zur Korrektur freigegeben.

Sollte Gremlins.js nicht den richtigen Gremlin für dich bereit haben, kannst du auch selbst einen Gremlin schreiben und auf deine Seite loslassen. Du kannst vorhandene Gremlins auch deinen Bedürfnissen entsprechend anpassen. Im GitHub Repository von Gremlins.js erfährst du mehr über die Bibliothek und kannst dann auch direkt mit dem Test deiner Applikation loslegen.

Finde einen Job, den du liebst zum Thema TYPO3, PHP

2 Reaktionen
Maxi
Maxi

Billiger Kommentarsspam @letter - mx

Antworten
Björn Dorra

Ha! Wir können es empfehlen! Wir haben es heute mal bei http://www.Letter.mx ausprobiert – und sofort eine Kleinigkeit gefunden...

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen