c't 19/2020
S. 168
Praxis
BackstopJS
Bild: Albert Hulm

Pixel für Pixel

Visuelle Regressionstests mit BackstopJS

BackstopJS testet automatisiert, ob sich das Aussehen einer Website ­verändert hat – unabhängig von ­Änderungen am Code. Webentwickler können so sicherstellen, dass ihre Arbeit keine unbeabsichtigten ­Auswirkungen hat.

Von Benjamin Deutsch

Automatisierte Tests sind ein zentraler Bestandteil moderner Softwareentwicklung, auch für das Web: Sie stellen HTTP-Anfragen, parsen HTML und si­mulieren Klickpfade. Dank Headless-­Browsern mit JavaScript-Engine ist sehr viel auf diese Art testbar.

Einen wesentlichen Bestandteil von Websites prüfen in der Regel allerdings immer noch Menschen: das Aussehen. Stylesheets, Fonts und Bilder spielen zusammen und ergeben einen visuellen Gesamteindruck. Jedes dieser Elemente wird aber nicht nur auf einer Seite eingesetzt, sondern üblicherweise an vielen Stellen im Projekt wiederverwendet. Das ist praktisch und erwünscht, da es gerade in großen Projekten eine Menge Arbeit ersparen kann. Allerdings birgt dann jede Änderung an einem solchen Element die Gefahr von Nebenwirkungen, die sich nur mit großem Aufwand in den Griff kriegen lassen: Entwickler müssen nicht nur die Seite ansehen, an der sie gerade arbeiten, sondern auch an sämtlichen anderen Seiten des Projektes prüfen, ob sich dort nicht Änderungen eingeschlichen haben, die gar nicht beabsichtigt waren.

Kommentieren