Automatisches Testen hat sich – ausgehend von der agilen Softwareentwicklung (eXteme Programming, Scrum) – bis weit in die traditionellen Prozesse (RUP, V-Modell XT) durchgesetzt. Bei größeren Projekten begünstigen richtig eingesetzte automatisierte Tests nicht nur die Qualität der Entwicklung, sondern machen die Entwicklungszeit auch kalkulierbarer. Einen Einführungsartikel liefert Kent Beck:

Test Infected: Programmers Love Writing Tests

Das Problem:

Im Magento-Umfeld werden automatische Tests kaum eingesetzt. Dafür gibt es — je nach Testtyp — verschiedene Gründe.


Funktionale Tests weisen folgende Eigenschaften auf:

  • Generell Positiv: wie User, Implementierung änderbar, auch für kleine Projekte sehr hilfreich
  • Generell Negativ: ändert sich mit View, langsam
  • In Magento: Arbeiten gegen eine komplexe Web-Oberfläche

Wir setzen Selenium ein.

 Bei Unit-Tests fallen weitere Faktoren ins Gewicht:
  • Positiv: schnell, hilft bei der Implementierung
  • Negativ: schreibt Implementierung teilweise vor, nur bei größeren Projekten profitabel
  • In Magento: Leider kann nur ein kleiner Teil der Anwendung wirklich getestet werden, komplizierte Sprache für das Datenbank-Setup
  • Hier liefert EcomDev mit seinem Modul die zurzeit beste Lösung

Die Lösung:

Bei code4business setzen wir intensiv Selenium-Tests ein. Der anfängliche Aufwand mit den Tests lohnt sich schon bei wenigen Entwicklern. Am 9.6.2012 wurde dies auf dem Aachener Magento-Stammtischin einem Vortrag vorgestellt. Die Folien vertiefen das Thema und zeigen den Einsatz von Selenium zum Test von Magento-Entwicklung. Zudem setzen wir mittlerweile die Tests auch auf unserem Continuous Integration-Server ein.

Dateien zum Download

Automatisiertes Testen in Magento