Projektwerkstatt: LiveTest
Eigentlich wollte ich ja heute den Tag aussetzen, aber irgendwie habe ich es nicht übers Herz gebracht. Deswegen gibt’s heute mal was über ein Tool zu lesen, dass ich vielleicht, wenn alles gut läuft bald veröffentlichen werde. Ist eher ein QA-Tool, also alle die auf Qualität pfeifen, können hier aufhören zu lesen.
Also worum geht es? Wir haben des Öfteren mal Relaunches, ok wer nicht. Das doofe ist, dass wir danach bis zu 500.000 HTML-Seiten testen müssen, ob sie noch funktionieren. Klar könnte man die Äquivalenzklassen nehmen und einfach nur 100 Seiten durchtesten, da aber keiner genau weiß, wo welcher Sondercode existiert, machen wir das lieber vollständig.
Was soll das Tool jetzt als Aufgabe übernehmen? Ich möchte eine Liste von 1000 Urls hinterlegen und ein Set von Testfällen dazu definieren. Das wird dann ausgeführt und am Ende hat man einen schönen Report, der die Qualität der gesamten Seite wiederspiegelt.
Jetzt muss ich noch schnell definieren, was für Testfälle ich meine und dann sind wir auch schon wieder fertig für heute. Bis jetzt existieren ein paar einfache. Ich kann zum Beispiel ganz einfach prüfen, ob ein 200 http Status Code zurückkommt. Dann noch ob ein bestimmter Text in der HTML-Seite vorkommt. Sehr nett ist da die Suche nach dem schließenden Body-Tag. Wenn das da ist, dann ist die Chance groß, dass kein grobes Problem aufgetreten ist. Was dann noch als Test existiert ist das Prüfen ob alle inkludierten Dateien (Bilder, JS, CSS) auch wirklich da liegen, wo sie sein sollen.
Wie gesagt, das Tool ist gerade in der Entstehung und wird für die Kommandozeile gebaut. Falls ihr da auch Ideen habt oder TestCases, die ihr toll findet, dann her damit. Ansonsten wird das Tools wohl Anfang nächsten Monats einfach mal hier publiziert und ihr könnt es dann für euch anpassen.
Also so ein Tool ist schon sehr praktisch. Hab bis Dato noch kein Projekt gehabt wo es mit ner Stunde Durchklicken nicht auch funktioniert hätte, aber bin sehr interessiert an einem solchen Tool.
Hier ein paar Fragen:
1. Wo wird das Tool ausgeführt? Am eigentlichen Server selbst, oder übers Netzwerk/Internet?
2. Wenn übers Netzwerk, ist es möglich das Ladeverhalten der Seite zu messen? zB bei Seiten wo mehr Bilder oder etwa ein Facebook-Plugin die Ladezeiten erheblich stören können.
3. Wie werden die Cases definiert? Spezifische URLs für jede Seite oder kann das Tool die Struktur der Seite erfassen (Crawlen), oder werden nur Seiten aus dem Cache überprüft?
lg
Wäre Selenium nicht genau das richtige dafür?
Wäre der Webtester von SimpleTest nicht etwas?
Die beschriebenen Anforderungen sollten abgedeckt sein.
URL hinterlegen, HTTP-Statuscode prüfen, Text-Vorkommen prüfen? Geht.
Includierte Bild auf Existens prüfen? Ok, keine Ahnung ob das geht.
Via Kommandozeile oder Browser? Ja.
Vielleicht ist auch „Xenu’s Link Sleuth“ einen Blick wert, damit kann man komplette Seiten rekursiv testen lassen: Alle enthaltenen Links und Bilder werden verfolgt (externe optional auch), man bekommt eine schöne Übersicht über die HTTP-Codes etc.
http://home.snafu.de/tilman/xenulink.html
Kann mich ragtek nur anschließen, es gibt doch schon Selenium 🙂
Was selenium angeht, habe ich zwei Probleme. Selenium checkt nur auf html Ebene, soviel ich weiß. Will ich jetzt zum Beispiel den http Request verfolgen wird es tricky. Das zweite Problem: habt ihr mal Versuch 500.000 Seiten mit selenium zu testen? Da seit ihr bis zum nächsten relaunch dran.
Selenium zusätzlich zu nutzen ist gut und ist auch vorgesehen. Wie wollen das ähnlich der phpunit implementation nutzen.
gute sache das..!
wie waere es zudem noch mit
->broken link check
->request time
Meine Erfahrung mit Selenium ist, dass umfangreiche Tests immer mit vielen false negatives einhergehen.
Jedes Tool, das ähnliches leistet und in der Hinsicht besser funktioniert ist willkommen 😉
Hi Nils,
ich hab hier im phmnetwork eben was zu Cucumber gelesen. Hörte sich spannend an. Man muss ja nicht immer das Rad neu erfinden.
http://web-rocker.de/2011/01/php-applikationen-mit-cucumber-testen/
Gruss
Sven
Hi Nils, so ein Tool gibt es doch schon. Schau dir mal JMeter an. http://jakarta.apache.org/jmeter/.
Ich habe damit sehr gute Erfahrungen gemacht 🙂
@Axel: Danke, aber so flexibel bist du mit jmeter nicht. Für LastTests ist es wunderbar, aber wenn du prüfen willst, ob ein Regulärer Ausdruck auf einer Webseite vorkommt, dann kann es das nicht, oder? Habe es bis jetzt nur als Last- und Stresstest-Tool verwendet.