Mit Hilfe von Layout-Testing kann das Design von Webanwendungen wie Webseiten dauerhaft überprüft werden. Talk von Christiane Helmchen und Bianca Niestroj auf der Developer Week in Nürnberg. #dwx2016
8. Was genau ist Layout-Testing?
Tool zur Steigerung der Qualität des sichtbaren Teils
einer webbasierten Software
8
Test(ing)
• Überprüfen
• Softwarebranche: Steigerung
der Softwarequalität
Layout
• Werbung
• Räumliche Anordnung von Texten
und Bildern und anderen visuellen
Elementen
44. Test ausführen
Alle Tests innerhalb eines Ordners:
mocha path/to/tests/*.js --timeout 20s
Oder mit spezieller Config-Datei:
MOCHA_ENVIRONMENT="develop" mocha tests/*.js --timeout 20s
Ein bestimmter Test:
mocha path/to/tests/example.js --timeout 20s
Wasgeht?
44
45. Vorteile
• Sehr einfach, Tests zu schreiben
• Copy & Paste-, CSS-Selektor-Kenntnisse reichen für einfache Tests
• Ausschließen von Elementen und Flächen
Wasgeht?
45
46. Vorteile
• Sehr einfach, Tests zu schreiben
• Copy & Paste-, CSS-Selektor-Kenntnisse reichen für einfache Tests
• Ausschließen von Elementen und Flächen
• Gute Dokumentation
• Interaktionen vor dem Screenshot möglich (z.B. Klicken eines Buttons)
• Bildschirmbreiten können pro Test oder allgemein gesetzt werden
Wasgeht?
46
47. Nachteile
• Nicht mit gleichen Screenshots auf verschiedenen Betriebssystemen
testen
• Retina-Bildschirm vs. Nicht-Retina-Bildschirm
• In Verbindung mit Mocha: Strukturierung der Testdateien schwierig
• Gruppierung beim Ausführen der Tests nicht möglich
Wasgeht?
47
57. Vorteile
• Zum größten Teil auch von nicht-Techies/Nicht-Entwicklern lesbar und
z.T. schreibbar
• Sehr sehr gute Dokumentation - mit Bildern und Videos!
• Textänderungen stören Tests nicht
• TDD – schreibe die Specs bevor das Design umgesetzt wurde
• Welcher Teil des Designs ist wirklich wichtig?
• Betriebssysteme unwichtig
• SpecLanguage und JS möglich
Wasgeht?
57
58. Nachteile
• Man kann unmöglich alles testen!!!
• Testschreiben dauert länger – nicht nur Copy & Paste
• Installieren in der CI-Kette funktioniert bisher nicht, da FreeBSD nicht
unterstützt wird
• BaseURL steht in der Testsuite statt in der Konfiguration, d.h. man muss
das Ausführen pro System erneut schreiben
Wasgeht?
58
59. Wann welches Framework?
Wasgeht?
59
Pixelvergleich
Gleichbleibender Datenstand
Mit möglichst wenig Aufwand
möglichst viel testen
Regressionstests
Galen
Datenstand (Inhalte) weniger
wichtig
Spezifische Eigenschaften von
wenigen Elementen testen
TDD – Tests vor Umsetzung