t3n News Software

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

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

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

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

Monkey-Testing mit Gremlins.js (Foto: Inti / flickr.com, Lizenz: CC-BY)

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 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.

Newsletter

Bleibe immer up-to-date. Sichere dir deinen Wissensvorsprung!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
2 Antworten
  1. von Björn Dorra am 26.03.2014 (18:07 Uhr)

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

    Antworten Teilen
  2. von Maxi am 27.03.2014 (11:37 Uhr)

    Billiger Kommentarsspam @letter - mx

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Web-App
Diese Web-App konvertiert Logos ins Flat-Design
Diese Web-App konvertiert Logos ins Flat-Design

Diese quelloffene Web-App generiert aus euren Bildern schicke Flat-Icons mit langen Schatten im Android-Stil. Wir haben einen Blick auf das Tool geworfen. » weiterlesen

Jell statt Stehmeeting: Wie die Web-App euer Team produktiver machen will
Jell statt Stehmeeting: Wie die Web-App euer Team produktiver machen will

Jell soll eine digitale Alternative zum morgendlichen Stehmeeting sein. Wir haben einen Blick auf die Web-App geworfen. » weiterlesen

Web-App-Grafiken für Android und iOS: Das musst du beachten
Web-App-Grafiken für Android und iOS: Das musst du beachten

Smartphones und Tablets können Webseiten als Web-App auf den Homescreen holen. Wir verraten dir, was bei der Implementation der dazugehörigen Grafiken zu beachten ist. » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?