Facebook
Twitter
Google+
Kommentare
11

LiveTest Version 0.x

Wir hatten ja letzte Woche die Diskussion, wann man mit einem Open-Source-Projekt an die Öffentlichkeit gehen sollte. Eigentlich wollte ich ja noch eine Weile warten, aber irgendwie habt ihr mich doch überzeugt schon mal den ersten Prototypen zu veröffentlichen. Eigentlich war das Tool schon seit Wochen da, man hätte nur mal auf GitHub schauen müssen. Aber hier erst mal der Link: https://github.com/phphatesme/LiveTest

Da wir die Version 1.0 noch nicht erreicht haben ist alles im Fluss. Die Implementierung kann aber schon ein paar Dinge. Aber vielleicht erzählen wir noch mal ganz kurz, was das Tool können soll. In einem Satz ausgedrückt: Ich hinterlege eine Liste von URLs und LiveTest lässt eine definierte Anzahl von Tests drüberlaufen. Ein Test kann so etwas wie das Prüfen auf schließendes <body>-Tag sein. Aber auch die Kontrolle des HTTP-Status-Codes. Diese Tests und ein paar weitere existieren natürlich auch schon.

Das Tool positioniert sich also oberhalb von funktionalen Tests. Es ist für all diejenigen, die keine hohe Testabdeckung, hergestellt durch funktionale- oder Unit-Test, in ihrer Software besitzen. Es gibt einen schnellen Überblick, ob etwas kaputt ist oder nicht. Es zeigt einem nicht, was nicht funktioniert.

Wichtig für das Tool war uns, dass es besonders einfach ist eigene Tests zu verfassen und Erweiterungen zu schreiben. Ich glaube, das ist uns auch gelungen. Beide Interfaces sind relativ schlicht. Erfahrene Programmierer sollten sie intuitiv bedienen können, allen anderen werde ich die Tage eine Anleitung schreiben.

Vielleicht jetzt aber noch mal den Stand, an dem wir sind. Das Projekt ist als Rapid Prototype gestartet. Ich habe also einfach mal drauf los programmiert. Dies bedeutet, dass Unit-Tests möglichst bald nachgereicht werden müssen. Das wird wohl auch der Hauptfokus, neben der Dokumentation, in der nächsten Zeit sein. Die ersten paar Testfälle sind auch implementiert:

  • Prüfen auf der (Nicht-)Vorhandensein eines Textes auf einem HTML-Dokument
  • Prüfen auf die (Nicht-)Existenz eines regulären Ausdrucks auf ein HTML-Dokument
  • Größe eines HTML-Dokument
  • XPath-Prüfung auf ein HTML-Dokument
  • Prüfen auf HTTP-Status-Code

Ist noch nicht viel, aber ein guter Anfang. Interessant bei den Erweiterungen ist wohl die Reporting-Möglichkeit. Bis jetzt können Textdokumente und HTML-Seiten (Beispiel) erstellt werden. Beides kann bei Fehlern gemailt werden. Prinzipiell ist aber alles in diesem Projekt eine Extension. So zum Beispiel auch das Hilfe-System auf der Kommandozeile.

Die Installation soll bald auf den PEAR-Installer aufbauen. Leider muss momentan noch auf eine manuelle Installation direkt aus dem Repository zurückgegriffen werden. Nach der Installation bekommt man dann mit einem Aufruf wie LiveTest --testsuite testsuite.yml ein solches Ergebnis:

LiveTest 1.0.0 by Nils Langner & Mike Lohmann

  Default Domain  : http://www.example.com
  Number of Tests : 4

  Running: *f*f

     Url        :  http://www.stern.de
     Test       :  TextPresent_body
     Test Class :  LiveTest\TestCase\General\Html\TextPresent
     Status     :  Failed
     Message    :  The given text "unpresent_text" was not found.

     Url        :  http://www.phphatesme.com
     Test       :  TextPresent_body
     Test Class :  LiveTest\TestCase\General\Html\TextPresent
     Status     :  Failed
     Message    :  The given text "unpresent_text" was not found.

  Tests: 4 (failed: 2, error: 0) - Duration: 1 second(s)

Jetzt fragen sich hoffentlich einige, wie sie helfen können. Sucht es euch einfach aus. Es sind genügend mögliche Features im Issue-Tracker. Fehler finden, Ideen haben oder Unit-Tests schreiben sind auch tolle Sachen. Feedback zum Code. Auf euch angepasste Testfälle … toll. Einfach das Tool nutzen und glücklich sein.

Es würde mich also ehrlich freuen, wenn ihr Feedback gebt, mitmacht  und den Issue-Tracker nutzt. Fragen werden auch ausführlich beantwortet. Und immer dran denken, wir sind noch in einer frühen Phase, alles kann angepasst werden, damit es für eine möglichst große Zielgruppe passt.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

11 Comments

  1. Ein Use-Case, den ich mir vorstellen könnte, wäre alle Seiten einer Site auf XHTML-Konformität zu prüfen (z.B. mit HTMLTidy o.Ä.).

    Wird eine Site denn auch gecrawlt oder muss man jede Seite explizit angeben? Wenn sich das Tool ähnlich wie ein Google-Bot verhalten könnte, wäre das glaube ich super praktisch.

    Reply
  2. Wie sieht es mit geschützten Seiten aus? Gibt es eine Möglichkeit sich über z.B. ein Formular zu authentifizieren, die Session Daten zu speichern und geschützte Seiten zu überprüfen?

    Reply
  3. Grundsätzlich wäre auch die Angabe einer Sitemap gut, dann hätte man schonmal einen Haufen Seiten, die man testen könnte.

    @Nils: bei LiveTest habe ich aber keinen JavaScript Support 😉

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen