SlideShare a Scribd company logo
AUTOMATED VISUAL 
TESTING THAT DOES 
NOT SUCK 
Adam Carmi (@carmiadam) 
Co-Founder and VP R&D at Applitools 
adam.carmi@applitools.com
YOU CAN AND SHOULD 
AUTOMATE YOUR 
VISUAL TESTS!
Automated Visual Testing That Does Not Suck
AGENDA 
 Why automated visual testing? 
 Tools & Technology 
 Where does it fit?
WHAT IS VISUAL TESTING? 
A quality assurance activity aimed to verify that a 
Graphical User Interface appears correctly to users
A VISUAL BUG
WHY SHOULD IT BE AUTOMATED? 
THE TEST MATRIX IS TOO BIG TO 
APPROXIMATE MANUALLY 
 Web browsers 
 Operating systems 
 Screen resolutions 
 Responsive designs 
 L10n
WHY SHOULD IT BE AUTOMATED?
WHY SHOULD IT BE AUTOMATED? 
MANUAL 
VISUAL 
TESTING 
IS 
ERROR 
PRONE
WHY SHOULD IT BE AUTOMATED? 
Many are already doing it (and sharing)… 
PhantomCSS Fighting Layout Bugs 
CSSCritique 
Wraith 
Needle 
Grunt PhotoBox 
dpdxt 
WebdriverCSS 
Eyes 
Huxley 
FBSnapshotTestCase 
Selenium Visual Diff Gemini 
VisualCeption 
Specter 
Snap And Compare
AGENDA 
 Why automated visual testing? 
 Tools & Technology 
 Where does it fit?
THE WORKFLOW 
Drive the AUT and take screenshots 
Compare screenshots with baseline 
images 
Report differences 
Update the baseline
DEMO https://github.com/webdriverio/webdrivercss
THE WORKFLOW 
Drive the AUT and take screenshots 
Compare screenshots with baseline 
images 
Report differences 
Update the baseline
DRIVING AND CAPTURING 
OTHER 
PhantomCSS (CasperJS) 
Fighting Layout Bugs (Java) 
Wraith (URLs) CSSCritique (URLs) 
Needle (Python) 
dpdxt (URLs) 
Grunt PhotoBox (URLs) 
WebdriverCSS (JS) 
Eyes (All) 
Huxley (RP) 
FBSnapshotTestCase 
Selenium Visual Diff (Java) 
VisualCeption (PHP) 
Specter (JS) 
Wraith-Selenium (Ruby) 
Snap And Compare (URLs) 
Eyes (All) 
Gemini (JS) 
Gemini (JS)
SCREENSHOTS 
 Real browsers? 
 Full page? 
 Frames? 
 Regions? 
 Viewport size? 
 Page stabilization? 
 Page preparation?
THE WORKFLOW 
Drive the AUT and take screenshots 
Compare screenshots with baseline 
images 
Report differences 
Update the baseline
Automated Visual Testing That Does Not Suck
WHY NOT? 
FALSE POSITIVES
ANTI-ALIASING?
ANTI ALIASING 1/2
ANTI ALIASING 2/2
BRIGHTNESS 1/2
BRIGHTNESS 2/2
SUB PIXEL SHIFTS 1/2
SUB PIXEL SHIFTS 2/2
SUB PIXEL SHIFTS 1/2
SUB PIXEL SHIFTS 2/2
ANDMORE… 
 1 pixel offsets in element positioning 
 Dynamic content 
Moving elements 
 Images of different size
Automated Visual Testing That Does Not Suck
Image Comparison APIs
ImageMagick 
 A powerful command line tool for image processing. 
 APIs are available for most programming languages. 
 Fuzzing is used to eliminate slight color differences 
 An error ratio is usually used to determine a match 
$ compare –metric AE –fuzz 5% img1.png img2.png diff.png 
2246
Resemble.js 
 An image comparison tool implemented in Javascript 
 Used by PhantomCSS and other tools. 
 Good de-antialiasing 
 An error ratio is usually used to determine a match 
 http://huddle.github.io/Resemble.js/
Applitools Eyes 
 A specialized image processing stack designed to compare 
computer generated UI images 
 Anti-aliasing 
 Partial and full pixel offsets 
 Images of different size 
 Dynamic content 
 Moving elements 
 Layout matching 
 Available as a cloud service
DEMO
THE WORKFLOW 
Drive the AUT and take screenshots 
Compare screenshots with baseline 
images 
Report differences 
Update the baseline
REPORT DIFFERENCES 
As files on the file system (combined with source control)
REPORT DIFFERENCES 
As a Gallery (example from Selenium Visual Diff)
THE WORKFLOW 
Drive the AUT and take screenshots 
Compare screenshots with baseline 
images 
Report differences 
Update the baseline
UPDATE THE BASELINE 
 Rename or commit individual image files 
 Overwrite mode
UPDATE THE BASELINE 
 GUI (Gemini GUI) 
 Automatic maintenance (demo)
AGENDA 
 Why automated visual testing? 
 Tools & Technology 
 Where does it fit?
WHERE DOES IT FIT? 
• Component 
s 
• Code 
review 
• Developers 
• Designers 
• QA
WHERE DOES IT FIT? 
• Pages 
• Page 
sections 
• Developers 
• Designers 
• QA 
• Others
WHERE DOES IT FIT? 
• Staging vs. 
Production 
• Ops 
• QA
WHERE DOES IT FIT? 
• Monitoring 
• Ops 
• QA
QUESTIONS?
THANK YOU 
Adam Carmi (@carmiadam) 
Co-Founder and VP R&D at Applitools 
adam.carmi@applitools.com

More Related Content

PPTX
SeConf2015: Advanced Automated Visual Testing With Selenium
PPTX
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
PPTX
Advanced Visual Test Automation with Selenium
PPTX
Advanced Automated Visual Testing
PPTX
Introduction to automated visual testing
PPTX
Advanced Visual Test Automation With Selenium
PPTX
Selenium Based Visual Test Automation
PDF
Intro to Visual Test Automation with Applitools Eyes
SeConf2015: Advanced Automated Visual Testing With Selenium
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
Advanced Visual Test Automation with Selenium
Advanced Automated Visual Testing
Introduction to automated visual testing
Advanced Visual Test Automation With Selenium
Selenium Based Visual Test Automation
Intro to Visual Test Automation with Applitools Eyes

What's hot (19)

PPTX
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
PPTX
Advanced automated visual testing with Selenium
PPTX
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
PPTX
Advanced Automated Visual Testing for Mobile Apps
PPTX
Visual regression with applitools eyes
PPTX
AIA2018 - Janno Stern - Intro To Product Sprint
PDF
Learnings from Hybrid App Testing Jijesh Mohan
PDF
An Introduction to Appium Desktop
PPTX
Everything You Need To Know about Appium and Selenium
PDF
SMART DESIGN - icon fonts, svg, and the mobile influence
PPTX
Parallel testing with appium
PDF
Learnings from Hybrid App Testing - Jijesh Mohan
PDF
SauceCon 2017: Mobile Test Pyramid
PPTX
Appium meet up noida
PPTX
Do You Enjoy Espresso in Android App Testing?
PPTX
An Overview of Selenium
PDF
Mobile Development with PhoneGap
PPTX
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
PPTX
Hybrid Mobile Development
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced automated visual testing with Selenium
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Advanced Automated Visual Testing for Mobile Apps
Visual regression with applitools eyes
AIA2018 - Janno Stern - Intro To Product Sprint
Learnings from Hybrid App Testing Jijesh Mohan
An Introduction to Appium Desktop
Everything You Need To Know about Appium and Selenium
SMART DESIGN - icon fonts, svg, and the mobile influence
Parallel testing with appium
Learnings from Hybrid App Testing - Jijesh Mohan
SauceCon 2017: Mobile Test Pyramid
Appium meet up noida
Do You Enjoy Espresso in Android App Testing?
An Overview of Selenium
Mobile Development with PhoneGap
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Hybrid Mobile Development
Ad

Viewers also liked (14)

PDF
CSS Regression Tests with WebdriverCSS
PPTX
Selenium-based Visual Test Automation
PPTX
Is life insurance tax deductible in super?
PDF
TruLink hearing control app user guide
PDF
Recommended homeowners insurance endorsements for charleston, sc
PDF
Coverage Insights - Vacant Property Insurance
PPT
Business Advisors, Consultants, and Coaches: Whats The Difference?
PDF
GENBAND G6 datasheet
PPTX
Bridging the gap between digital and relationship marketing - DMA 2013 Though...
PDF
SOCIAL PRESENCE: WHAT IS IT? HOW DO WE MEASURE IT?
PPTX
BURGLAR ALARM BASICS and insurance
PPT
IBM AppScan Source - The SAST solution
PDF
Avaya Aura 6.x suite licensing
PDF
Box Security Whitepaper
CSS Regression Tests with WebdriverCSS
Selenium-based Visual Test Automation
Is life insurance tax deductible in super?
TruLink hearing control app user guide
Recommended homeowners insurance endorsements for charleston, sc
Coverage Insights - Vacant Property Insurance
Business Advisors, Consultants, and Coaches: Whats The Difference?
GENBAND G6 datasheet
Bridging the gap between digital and relationship marketing - DMA 2013 Though...
SOCIAL PRESENCE: WHAT IS IT? HOW DO WE MEASURE IT?
BURGLAR ALARM BASICS and insurance
IBM AppScan Source - The SAST solution
Avaya Aura 6.x suite licensing
Box Security Whitepaper
Ad

Similar to Automated Visual Testing That Does Not Suck (20)

PDF
Adam carmi
PPTX
Colorful world-of-visual-automation-testing-latest
PDF
Visual Automation Framework via Screenshot Comparison
PDF
Automated Visual Testing with Selenium & Applitools
PPTX
Visual regression testing
PDF
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
PDF
Visual Regression Testing Using Selenium AShot: A Step-by-Step Approach
PDF
Lean Quality & Engineering
PDF
AI-Powered Testing Strategies for the Seasonal Shopping Surge.pdf
PDF
Getting started with Visual Testing using Applitools - @TPC, Feb2020
PPTX
Automated UI Testing
PDF
Advanced automated visual testing at selenium conf india 2020
PDF
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
PDF
Automated Visual Regression Testing by Dave Sadlon
PDF
What is Visual Regression Testing Advantages, Process and Approaches.pdf
PDF
Advanced automated visual testing - DrupalCon Global 2020
PDF
Leveraging Visual Testing with Your Functional Tests
PDF
Getting Started with Visual Testing
PDF
How Visual Testing Fits Into CI/CD Pipelines
PDF
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
Adam carmi
Colorful world-of-visual-automation-testing-latest
Visual Automation Framework via Screenshot Comparison
Automated Visual Testing with Selenium & Applitools
Visual regression testing
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Regression Testing Using Selenium AShot: A Step-by-Step Approach
Lean Quality & Engineering
AI-Powered Testing Strategies for the Seasonal Shopping Surge.pdf
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Automated UI Testing
Advanced automated visual testing at selenium conf india 2020
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
Automated Visual Regression Testing by Dave Sadlon
What is Visual Regression Testing Advantages, Process and Approaches.pdf
Advanced automated visual testing - DrupalCon Global 2020
Leveraging Visual Testing with Your Functional Tests
Getting Started with Visual Testing
How Visual Testing Fits Into CI/CD Pipelines
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...

Recently uploaded (20)

PDF
Getting Started with Data Integration: FME Form 101
PPTX
A Presentation on Artificial Intelligence
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Tartificialntelligence_presentation.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
Mushroom cultivation and it's methods.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Machine Learning_overview_presentation.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Getting Started with Data Integration: FME Form 101
A Presentation on Artificial Intelligence
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Programs and apps: productivity, graphics, security and other tools
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A comparative analysis of optical character recognition models for extracting...
Tartificialntelligence_presentation.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
Mushroom cultivation and it's methods.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Machine Learning_overview_presentation.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
SOPHOS-XG Firewall Administrator PPT.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Heart disease approach using modified random forest and particle swarm optimi...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Automated Visual Testing That Does Not Suck

  • 1. AUTOMATED VISUAL TESTING THAT DOES NOT SUCK Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools [email protected]
  • 2. YOU CAN AND SHOULD AUTOMATE YOUR VISUAL TESTS!
  • 4. AGENDA  Why automated visual testing?  Tools & Technology  Where does it fit?
  • 5. WHAT IS VISUAL TESTING? A quality assurance activity aimed to verify that a Graphical User Interface appears correctly to users
  • 7. WHY SHOULD IT BE AUTOMATED? THE TEST MATRIX IS TOO BIG TO APPROXIMATE MANUALLY  Web browsers  Operating systems  Screen resolutions  Responsive designs  L10n
  • 8. WHY SHOULD IT BE AUTOMATED?
  • 9. WHY SHOULD IT BE AUTOMATED? MANUAL VISUAL TESTING IS ERROR PRONE
  • 10. WHY SHOULD IT BE AUTOMATED? Many are already doing it (and sharing)… PhantomCSS Fighting Layout Bugs CSSCritique Wraith Needle Grunt PhotoBox dpdxt WebdriverCSS Eyes Huxley FBSnapshotTestCase Selenium Visual Diff Gemini VisualCeption Specter Snap And Compare
  • 11. AGENDA  Why automated visual testing?  Tools & Technology  Where does it fit?
  • 12. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 14. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 15. DRIVING AND CAPTURING OTHER PhantomCSS (CasperJS) Fighting Layout Bugs (Java) Wraith (URLs) CSSCritique (URLs) Needle (Python) dpdxt (URLs) Grunt PhotoBox (URLs) WebdriverCSS (JS) Eyes (All) Huxley (RP) FBSnapshotTestCase Selenium Visual Diff (Java) VisualCeption (PHP) Specter (JS) Wraith-Selenium (Ruby) Snap And Compare (URLs) Eyes (All) Gemini (JS) Gemini (JS)
  • 16. SCREENSHOTS  Real browsers?  Full page?  Frames?  Regions?  Viewport size?  Page stabilization?  Page preparation?
  • 17. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 19. WHY NOT? FALSE POSITIVES
  • 29. ANDMORE…  1 pixel offsets in element positioning  Dynamic content Moving elements  Images of different size
  • 32. ImageMagick  A powerful command line tool for image processing.  APIs are available for most programming languages.  Fuzzing is used to eliminate slight color differences  An error ratio is usually used to determine a match $ compare –metric AE –fuzz 5% img1.png img2.png diff.png 2246
  • 33. Resemble.js  An image comparison tool implemented in Javascript  Used by PhantomCSS and other tools.  Good de-antialiasing  An error ratio is usually used to determine a match  http://huddle.github.io/Resemble.js/
  • 34. Applitools Eyes  A specialized image processing stack designed to compare computer generated UI images  Anti-aliasing  Partial and full pixel offsets  Images of different size  Dynamic content  Moving elements  Layout matching  Available as a cloud service
  • 35. DEMO
  • 36. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 37. REPORT DIFFERENCES As files on the file system (combined with source control)
  • 38. REPORT DIFFERENCES As a Gallery (example from Selenium Visual Diff)
  • 39. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 40. UPDATE THE BASELINE  Rename or commit individual image files  Overwrite mode
  • 41. UPDATE THE BASELINE  GUI (Gemini GUI)  Automatic maintenance (demo)
  • 42. AGENDA  Why automated visual testing?  Tools & Technology  Where does it fit?
  • 43. WHERE DOES IT FIT? • Component s • Code review • Developers • Designers • QA
  • 44. WHERE DOES IT FIT? • Pages • Page sections • Developers • Designers • QA • Others
  • 45. WHERE DOES IT FIT? • Staging vs. Production • Ops • QA
  • 46. WHERE DOES IT FIT? • Monitoring • Ops • QA
  • 48. THANK YOU Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools [email protected]

Editor's Notes

  • #3: What is Visual Testing? Sikuli??? It's too flaky and unstable for practical use…
  • #11: 100% coverage No locators to find and maintain Cover functionality exposed through the UI
  • #13: Most tools are for web apps except for FBSnapshotTestCase which is for IOS and Eyes which is platform agnostic.
  • #15: * Does not apply to fighting layout bugs.
  • #19: * Does not apply to fighting layout bugs.
  • #20: Like Boromir said…
  • #36: * Does not apply to fighting layout bugs.
  • #39: * Does not apply to fighting layout bugs.
  • #43: CSS files and HTML falling out of sync CSS changes with unexpected global implications. Frontend refactoring.
  • #44: Project / Product managers (collaboration)
  • #46: Data from external sources Not enough time to test pre-production Missing components in deployment.