Sulu Logo
Leankoala Logo

Sulu sieht sich selbst als Content Management Plattform speziell für mittelständische Unternehmen. Das CMS basiert auf Symfony - einem der führenden PHP-Frameworks.  Es besticht durch seinen leichtgewichtigen Aufbau und überzeugt mit hoher Geschwindigkeit. Leankoala eignet sich hervorragend zum Testen von Webseiten, die auf Sulu aufbauen.

Zusammenfassung

Leankoala und Sulu passen wunderbar zusammen. Die relevanten Tests können einfach aufgesetzt und in vier Schritten erstellt werden.

  1. Benennen der Artikeltypen (Sulu-Templates)
  2. Erstellen von umfänglichen Testartikeln, die mit no-index belegt werden
  3. Anlegen der Komponenten (URLs) in Leankoala
  4. Nutzung des Wizards zum Erstellen der Tests
 
Sulu Login
Sulu Login-Seite

Fokus auf die eigenen Änderungen und Konfigurationen im CMS beim Testing

Sulu ist als Software bereits stabil, die Grundfunktionalitäten sind durch Tests abgedeckt und die vielen Nutzer, die das CMS bereits im Einsatz haben, sind auch immer ein guter Indikator dafür, dass ein Produkt robust ist. Dies ist der Grund, warum wir davon abraten, das System an sich zu testen. Login, Userverwaltung und Bildermanagement werden statistisch gesehen nicht kaputt gehen. Darin liegt schließlich auch der Nutzen von CMS wie Sulu. Und die Zeit, die man in das Testen einer Webseite investieren will oder kann, ist in den meisten Fällen begrenzt bzw. sollte sich an der Profitabilität des Projektes orientieren. Daher konzentrieren wir uns auch mit Leankoala auf die Erstellung von Tests, die Änderungen, die man selbst ins System eingebaut hat, abdecken. Dies sind in den meisten Fällen eigene Templates, Blöcke oder Controller und lassen sich wunderbar mit Leankoala testen.

 
Sulu Templates
Vorhandene Sulu-Templates
bei www.leankoala.com

Den Aufwand für das Testing von Templates mit Testartikeln reduzieren

Sulu beruht auf zwei Kernelementen, wenn es um den Aufbau von redaktionellen Webseiten geht. Templates und Blöcke. Templates bilden das Grundgerüst einer Webseite und beschreiben den allgemeinen Seitenaufbau und weisen die möglichen Blöcke und festen Abschnitte zu. 

Aus Testperspektive betrachtet, liefern die Templates die Artikeltypen bzw. Äquivalenzklassen. Es ist sinnvoll mindestens eine URL pro Template als Komponente in Leankoala zu hinterlegen. Je nach Wichtigkeit der einzelnen Seiten, kann es sinnvoll sein auch mehrere URLs zu hinterlegen. 

Leankoala kann eine Webseite sowohl während der Weiterentwicklung (Stage- oder Integrationssysteme) testen als auch im Betrieb überwachen. Businesskritische URLs wie Registrierungs-, Impressums- oder Pricing-Seiten sollten umfangreicher in die Überwachung genommen werden als einfache Content-Seiten. Dank des Setup-Wizards kann Leankoala beim Finden der einzelnen Artikeltypen unterstützen.

Für das Testen eines Projektes empfehlen wir immer statische Testdaten, die sich nicht ändern. Je größer die Chance ist, dass sich ein Artikel in Zukunft nicht ändert, desto höher ist die Chance, dass ein Test lange seinen Wert erhält. Hier gibt es zwei mögliche Vorgehen. Zum einen kann ein Artikel für den Test gewählt werden, der bereits sehr lange existiert und somit stabil ist oder aber man erstellt extra für diesen Fall Testartikel, die nicht durch Redakteure angepasst werden. Da die Testartikel keinen Mehrwert für den eigentlichen Nutzer der Webseite bieten sollten sie auch im System nirgends verlinkt werden, so dass sich nicht aus Versehen jemand auf die Seite verirrt. Das Sulu CMS bietet hierfür ebenfalls noch eine Option, die dabei unterstützt, dass Testdaten nicht unbeabsichtigt im Google-Suchindex landen. Für jeden erstellten Artikel gibt es die Möglichkeit im Reiter SEO den Artikel für Suchmaschinen auszuschließen. Die Option hierfür heißt: "no-index (Seite wird nicht von Suchmaschinen indiziert)".

Der große Vorteil von Testartikeln ist, dass man damit die Anzahl der zu testenden URLs drastisch minimieren kann und somit Kosten und Aufwand reduziert.

 

Blöcke und einzelne Seitenelemente kontinuierlich überprüfen

Das Sulu-CMS setzt auf das Konzept der Blöcke oder Paragraphen beim Aufbau der einzelnen Seiten. Das Tolle daran: Man kann durch die Zusammenstellung verschiedener Abschnittselemente eine ganze Seite einfach individuell zusammenbauen. Solche Abschitte können zum Beispiel ein Video, ein Bild oder ein einfacher Text sein. Welche Abschnitte es gibt ist von System zu System unterschiedlich, da es komplett in der Hand des Nutzers liegt und "programmiert" werden muss.

Für das Testen ist es wichtig, dass jeder einzelne Block mit einem Check geprüft wird. Wir empfehlen hierfür eine Testseite pro Template zu erstellen, die alle möglichen Kombinationen aus Blöcken enthält. Wenn es nur einen Artikel pro Template gibt, hilft dies den Überblick beim Pflegen der Tests zu behalten.

Blöcke in Sulu werden durch HTML und Twig gebaut. Dies bedeutet, dass man volle Kontrolle über den erstellten Code hat. Wir empfehlen jeden einzelnen Block auch im HTML-Code auszuzeichnen. Dies kann über Data-Attribute, wie zum Beispiel <div data-block="video-youtube"> geschehen.

Wenn jeder einzelne Block als ein solcher ausgezeichnet ist, kann man Leankoala dazu verwenden, über einen CSS-Selektor div[data-block="video-youtube"] das Vorhandensein des Blocks zu verifizieren. 

In vielen Fällen kann dieser Check schon ausreichend sein, da Sulu einen kompletten Block auslässt, sobald ein Fehler in diesem auftritt. Sollte also das umschließende Element im HTML gefunden werden, kann davon ausgegangen werden, dass keine Probleme in diesem Abschnitt vorhanden sind. Darüber hinaus kann Leankoala dazu genutzt werden, die einzelnen Blöcke auf Vollständigkeit zu prüfen.

Leankoala bietet eine Vielzahl von weiteren möglichen Überprüfungen, die genutzt werden sollten. So kann jede Art von Inhalt über CSS-Selektoren, aber auch über einen XPath-Ausdruck geprüft werden. Für nicht-statische Elemente wie zum Beispiel Videos, die eingebunden werden, bestehen zusätzliche Checks. Zwar kann man einfach prüfen, ob ein <video> Tag im HTML-Code vorkommt, aber dank MissingRequest2 kann auch geprüft werden, ob tatsächlich ein Request gegen den Video-Service (z.B. Youtube) gefeuert wird. 

Leankoala führt seine Checks immer auf der gerenderten Seite aus. Dies bedeutet, dass auch Blöcke überprüft werden können, die erst zu einem späteren Zeitpunkt per JavaScript in die Seite gerendert werden.

Unsere Empfehlung für das Testen von Webseiten ist minimal anzufangen, denn auch hier gilt die Pareto-Regel. 80% der Webseite können in 20% der Zeit erstellt werden. Die übrigen 20% sind aufwendig. Auch wenn Leankoala ein sehr leichtgewichtiges Werkzeug ist, sollten erst "nur" die notwendigsten Anwendungsfälle abgetestet werden. Sollte dies nicht ausreichend sein, so können detailliertere Tests aufgesetzt werden. Vorher nicht.