Cross-Browser-Tests (Cross-Browser-Testing) sind die Automatisierung von Tests zur Kontrolle der Darstellung und Funktionalität einer Website in verschiedenen Browsern und deren Versionen.
Geschichte der Frage:
In den Anfängen der Ära der Webanwendungen wurden Websites häufig manuell in allen gängigen Browsern getestet, wobei Entwickler keine einheitliche Darstellung der Elemente gewährleisten konnten. Später kamen Tools (Selenium Grid, SauceLabs, BrowserStack) auf, die die Automatisierung wiederholter Checks in verschiedenen Browsern und Plattformen mit einem einzigen Testsatz ermöglichten.
Problem:
Lösung:
Wichtige Merkmale:
Kann man vollständig auf manuelle Tests verzichten, wenn es automatisierte Cross-Browser-Tests gibt?
Nein. Automatisierte Tests können seltene oder subjektive UI-Fehler (pixelgenaue Darstellung, unkonventionelle Schriftarten) nicht abdecken, einige Probleme werden nur manuell erkannt.
Reicht es aus, die Tests in allen Browser-Versionen auszuführen?
Nein. Es ist notwendig, die Zielgruppe zu analysieren und nach Statistiken realer Nutzer eine begrenzte Anzahl unterstützter Versionen auszuwählen, sonst steigen die Testkosten unkontrolliert an.
Muss man Cross-Browser-Tests in das Hauptsystem der automatisierten Testung integrieren?
Ja. Wenn die Cross-Browser-Tests nicht in die allgemeine Pipeline integriert sind, besteht eine hohe Wahrscheinlichkeit, deren Ausführung zu vergessen oder Fehler in einem bestimmten Browser nicht zu bemerken.
Cross-Browser-Tests werden manuell "zu besonderen Anlässen" nur in Chrome und in der neuesten Version ausgeführt, Cloud-Services werden nicht verwendet. Es stellt sich heraus, dass die Website nach einem weiteren Release in Safari nur bei einigen Benutzern nicht korrekt angezeigt wird.
Vorteile:
Nachteile:
Es wird ein automatisierter Testdurchlauf in BrowserStack mit einer zuvor ausgewählten Matrix von Browsern (Chrome, Firefox, Safari, Edge — die letzten 2 Versionen von jedem) verwendet, die Tests sind in CI/CD integriert, die Ergebnisse werden automatisch analysiert.
Vorteile:
Nachteile: