AUTOMATED VISUAL
REGRESSION
TESTING
AUTOMATED
VISUAL
REGRESSION
TESTING
Waarom is het nodig?
CONTINUOUS
DELIVERY
Continuous Bug Delivery
A LOT OF PAGES
So a lot of testing
FRONTEND
Component Based
BRAND IDENTITY
Can be fucked up with a single mistake
USERS
Are no robots
R I S I C O
 Vaak releasen
 Veel pagina’s
 Componenten zijn
een regressie risico
 Uitstraling is
belangrijk
 Gebruikers
interacteren via UI
USERS
Are no robots
ZOEKTOCHT
Welke tool is geschikt?
R E Q U I R E M E N T
S Vroeg in het proces
 Snel feedback
 Eenvoudig
beoordelen
 Integratie FE tools
T O O L S
 Applitools
 Galen
 Wraith
 WebdriverCSS
 Etc.
S A D
 Werken niet
 Duur
 Tijdrovend
 Traag
 Dwingen werkwijze af
 Laat in het proces
NIET GEVONDEN
Dan maar zelf maken
I D E E
 Open Source
 Node.js
 Integratie FE tools
 Component based
 Fail Fast
VRIJ IN GEBRUIK
Geen steeksleutel
SIMPLE API
CompareAdd
CONFIGURATIE
{
"sizes": ["320x480", "1280x768"],
"pages": [ {
"name": "homepage",
"url": "http://localhost:3000/",
"components": [ "navigation", "news-items" ]
}
"components": [ {
"name": "news-items",
"selector": ".news-items",
"ignore": [ ".last-updated" ]
} ]
ADD
 Maakt screenshots via PhantomJS
 Componenten m.b.v. selectors
COMPARE
1. Vergelijk 2 mappen met screenshots
2. Gebruikt ImageMagick
3. Proces faalt bij verschil
4. Diff screenshots worden opgeslagen
HOE IN TE
ZETTEN?
Dat bepaal je zelf
GITFLOW
We love it
FEATURE BRANCH
FLAWLESS LIVE DEMO
That’d be great
IN DETAIL
Wat kan er allemaal?
COMPONENTEN
COMPONENTEN
TRESHOLD
IGNORE
FINISHED WHEN
"finished-when":
"return document.body.hasAttribute('data-conditioner-initialized');"
FINISHED WHEN
"finished-when":
"return document.body.hasAttribute('data-conditioner-initialized');"
CONFIG TEST
CONTIUOUS
INTEGRATION
Contiuous testing
E X T R A C H E C K
 Binnen branch
 Vorige succesvolle
build
 False positives zijn te
overrulen
BINNEN BRANCH
VOORBEELD
BELANGRIJK?
Alles is relatief
MASLOW VOOR WEB
WHAT DO YOU
THINK?
Any thoughts
ARGUSEYES.IO
Check our GitHub

Automated Visual Regression Testing

Editor's Notes

  • #8 Verwijs naar jeroen> element op verkeerde plaats = onduidelijk
  • #20 Kan je natuurlijk (deels) genereren
  • #40 Behoefte piramide, pas omhoog als onderliggende vervuld is