Nachdem ich diese Woche gelernt habe wie Google das Testen von Applikationen verbessert, dachte ich, dass ist ein guter Anlass, um sich zum Thema zu äußern. Google hat damit angefangen kleine Snippets über das Testen auf den Toiletten aufzuhängen. Da kann man nicht nur notwendige Körperliche Funktionen erledigen, sondern auch gleich noch was über das Programmieren lernen. So nötig haben wir das noch nicht, aber das Thema kommt immer wieder hoch.
Bisher habe ich Frameworks wie PHP-Unit immer noch nicht richtig verstanden. Zum einen, weil mir nie jemand richtig erklären konnte, wie ich sinnvolle Testcases schreibe, die beachten, dass Funktionen unter Umständen Datenbankeinträge machen und Daten verändern und vor allem, wenn ich eine Funktion ändere, einen Test ausführe und dieser scheitert, woher weiß ich, dass der Test durch meine Änderung nicht falsch geworden ist. Dann weiß ich zwar, dass irgendwas nicht stimmt, aber vielleicht ist ja mein Testfall nicht mehr korrekt.
Also habe ich immer manuell getestet. Das könnte sich jetzt ändern! Denn ich habe Selenium entdeckt.
Selenium ist in der Basisversion ein Firefox-Plugin, mit dem man Makros aufzeichnen kann. Soweit so gut. Aber man kann eben auch “Testfälle” erstellen. Nach dem Motto:
- Rufe die Seite ‘xyz’ auf.
- Überprüfe, ob die folgenden Inputfelder vorhanden sind
- Klicke auf den Submit-Button
- Überprüfe, ob der Text “Formular erfolgreich verschickt” auf der nächsten Seite auftaucht
Das ist ziemlich cool geht meinem Geschmack nach genau von der Seite ans Testen, die ich immer wollte. Ich will nämlich nicht auf Methoden-Ebene testen, sondern auf Funktions-Ebene.
Man kann auch mehrere Testcases zusammenfassen in einer Suite. Damit kann man sich eine Repertoire aufbauen und wenn man jetzt etwas an seiner Applikation ändert, dann lässt man die Testsuite ablaufen und sieht, auf welchen Seiten es Probleme gibt, weil bsp. ein Formular nicht mehr abgeschickt wird. Oder man kann testen, ob der Test “Fatal Error” nicht auf der Seite erscheint.
Getreu nach dem Google Motto: Debugging sucks, Testing rocks! habe ich bisher nur auf die richtige Testanwendung gewartet und nun womöglich gefunden.

Ähnliche Artikel:





