Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Visual regression testing - move fast and try n...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Daniel Furze
September 27, 2016
Technology
670
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Visual regression testing - move fast and try not to break things
My slides on automating visual regression testing, from Front End North 2016.
Daniel Furze
September 27, 2016
More Decks by Daniel Furze
See All by Daniel Furze
My First Progressive Webapp
furzeface
0
62
ES-What?!
furzeface
0
220
CSS - with speaker notes
furzeface
1
130
CSS
furzeface
1
220
The Lean Studio
furzeface
1
45
Don't be scared of open source!
furzeface
1
40
Other Decks in Technology
See All in Technology
Incremental HTTP
kazuho
3
640
Claude Designがめちゃくちゃ便利なので使ってほしい
diggymo
0
140
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
480
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
230
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
130
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.3k
Coil3を内部実装から読み解く~キャッシュ戦略とAVIF画像の描画〜/nikkei-tech-talk50
nikkei_engineer_recruiting
0
160
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
310
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
190
Azure Copilot Resiliency Agentをいろいろ試してみる
tomokusaba
0
140
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
270
Harness Engineering on Rails
joelq
0
760
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Speed Design
sergeychernyshev
33
2.1k
Skip the Path - Find Your Career Trail
mkilby
1
240
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
A better future with KSS
kneath
240
18k
Optimising Largest Contentful Paint
csswizardry
37
4k
First, design no harm
axbom
PRO
2
1.3k
Product Roadmaps are Hard
iamctodd
55
13k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Transcript
Move fast and try not to break things Visual Regression
Testing @furzeface bit.ly/df-vrt-slides
@furzeface bit.ly/df-vrt-slides Move fast and try not to break things
Visual Regression Testing
@furzeface bit.ly/df-vrt-slides "Regression testing is a method of software testing
that checks functionality that already exists against new changes that have been made to a codebase, to catch regressions." (Thanks, Wikipedia!) What?!
@furzeface bit.ly/df-vrt-slides Why?
@furzeface bit.ly/df-vrt-slides CSS is hard
@furzeface bit.ly/df-vrt-slides Testing is boring (sorry)
@furzeface bit.ly/df-vrt-slides When?
@furzeface bit.ly/df-vrt-slides Where? Test ALL the things???
@furzeface bit.ly/df-vrt-slides How? Sounds like hard work…
@furzeface bit.ly/df-vrt-slides How? Pick some software BackstopJS PhantomCSS OcularJS CSS
Critic Galen
@furzeface bit.ly/df-vrt-slides How? Install npm install phantomjs casperjs -g npm
install --save-dev backstopjs (requires Python)
@furzeface bit.ly/df-vrt-slides How? Generate a config npm explore backstopjs --
npm run genConfig
@furzeface bit.ly/df-vrt-slides How? Generate a config "scenarios": [ { "label":
"Styleguide", "url": "http://localhost:3000/styleguide", "selectors": [ "body", ".site-header", ".article", ".site-footer" ] } ] backstop.json
@furzeface bit.ly/df-vrt-slides How? Generate reference screenshots npm explore backstopjs --
npm run reference
@furzeface bit.ly/df-vrt-slides How? Generate reference screenshots
@furzeface bit.ly/df-vrt-slides Break your CSS How?
@furzeface bit.ly/df-vrt-slides
@furzeface bit.ly/df-vrt-slides How? Test npm explore backstopjs -- npm run
test
@furzeface bit.ly/df-vrt-slides
@furzeface bit.ly/df-vrt-slides
@furzeface bit.ly/df-vrt-slides
@furzeface bit.ly/df-vrt-slides How? Fix and re-test
@furzeface bit.ly/df-vrt-slides How? Bonus automation "scripts": { "bless": "npm explore
backstopjs -- npm run bless", "openReport": "npm explore backstopjs -- npm run openReport", "reference": "npm explore backstopjs -- npm run reference", "test": "npm explore backstopjs -- npm run test" } package.json
@furzeface bit.ly/df-vrt-slides Who? Everyone! Front-end developer Back-end developer Designer QA
engineer
@furzeface bit.ly/df-vrt-slides Summary Hurry up! Straightforward set up Peace of
mind Works for many people Improve confidence
@furzeface bit.ly/df-vrt-slides Thanks! You rock.
@furzeface bit.ly/df-vrt-slides Blog post bit.ly/df-vrt GitHub demo bit.ly/df-vrt-demo Slides/Transcript bit.ly/df-vrt-slides
Feedback bit.ly/df-vrt-feedback Further reading