Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automated Frontend Regression Testing

Automated Frontend Regression Testing

TYPO3 Camp CH 2019 Präsentation zu automatisiertem Frontend Regression Testing

Avatar for cschnell

cschnell

May 24, 2019

Other Decks in Technology

Transcript

  1. Vorstellung 䡧 Christopher Schnell 䡧 Webdev seit über 15 Jahren

    䡧 Seit 5 Jahren bei cab 䡧 Seit 9 Monaten Leitung Update Team !4
  2. Was sind Frontend Regression Tests? 䡧 Vergleiche des Frontends nach

    䡧 Updates 䡧 Bugfixes 䡧 Feature Releases 䡧 Manuell 䡧 LANGWEILIG 䡧 Resourcenhungrig 䡧 Fehleranfällig !5
  3. Vorteile 䡧 Hohe Abdeckungsrate 䡧 Performance höher als bei Testern

    䡧 Tester können sich mit interessanten 
 Arbeiten beschäftigen 䡧 Developer können Qualität erhöhen !10
  4. Vorgehen 䡧 Url’s definieren / crawlen 䡧 Aktion auf Referenz

    und Test (z.B. Screenshot erstellen) 䡧 Vergleichen 䡧 Differenz anzeigen 䡧 Ergebnisse auswerten !11
  5. Beispiel: 
 Visual Regression Testing mit Wraith !12 䡧 git

    clone https://github.com/cschnell/wraith.git 䡧 docker build -t cs/wraith . <or> docker build --no-cache -t cs/wraith . 䡧 docker run cs/wraith 䡧 alias docker-wraith="docker run --rm -P --shm-size=512m -v /Users/cs/Desktop/ wraith:/wraithy -w='/wraithy' cs/wraith"
  6. Probleme 䡧 Gewollte Unterschiede (false Positives) z.B. 䡧 Base URL

    䡧 Hashing Parameter 䡧 Redaktionelle Anpassungen 䡧 Userinteraktion, Login 䡧 Dauer der Tests (vor allem bei VR-Tests) 䡧 2 Systeme in 3 Auflösungen bei 100 Seiten => 600 Screenshots !14
  7. Lösungen 䡧 False Positives definieren und ignorieren (z.B. RegEx) 䡧

    Automatisieren von User-Interaktion 䡧 z.B. mit Puppeteer 䡧 Selenium Integration 䡧 Tests durch separate Maschinen laufen lassen 䡧 geschicktes Auswählen von Urls !15