SlideShare a Scribd company logo
1 of 40
Adam Carmi (@carmiadam)
Co-Founder and VP R&D at Applitools
adam.carmi@applitools.com
AUTOMATED VISUAL
TESTING
WHAT, WHEN & HOW
AGENDA
 Why automatedvisualtesting?
 Tools& Technology
 Where does it fit?
 Q & A
WHAT IS VISUAL TESTING?
A qualityassurance activity aimed to verify that a
Graphical User Interface appears correctly to users
A VISUAL BUG
AND ANOTHER…
AND YET ANOTHER (IE 8 NOT OK)…
AND YET ANOTHER (IE 11 OK)…
AND THE LAST ONE…
WHY SHOULD IT BE AUTOMATED?
THE TEST MATRIX IS TOO BIG TO
APPROXIMATE MANUALLY
 Webbrowsers
 Devices
 Operating systems
 Screen resolutions
 Responsive designs
 L10n
WHY SHOULD IT BE AUTOMATED?
WHY SHOULD IT BE AUTOMATED?
NATIVE / HYBRID MOBILE APPS
 Harder to roll back changes
 Can’t pushdaily
 Updates take battery and data
 Higherquality bar
MANUAL
VISUAL
TESTING
IS
ERROR
PRONE
WHY SHOULD IT BE AUTOMATED?
AGENDA
 Why automatedvisualtesting?
 Tools & Technology
 Where does it fit?
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
DRIVING AND CAPTURING
OTHER
• Wraith (URLs)
• PhantomCSS (CJS)
• dpdxt (URLs)
• Grunt PhotoBox (URLs)
• Snap And Compare
(URLs)
• Specter (JS)
• Gemini (JS)
• Grunt-Vigo (URLs)
• BackstopJS (URLs)
• Applitools Eyes (All)
• WebDriverCSS (JS)
• Fighting Layout Bugs
(Java)
• Wraith-Selenium (Ruby)
• Selenium Visual Diff
(Java)
• Needle (Python)
• VisualCeption (PHP)
• Huxley (RP)
• Gemini (JS)
• Vizregress (.NET)
• Visualci (Java)
• Viff (JS)
• Pix-Diff (JS)
• Applitools Eyes (All)
• CSS Critic (URLs)
• FBSnapshotTestCa
se (XCTest)
• Kobold (folders)
• Applitools Eyes
(All)
DRIVING
AND
CAPTURING
WITH
SELENIUM
(WebDriverCSS)
MANUALLY WITH EYES EXPRESS
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
WHY NOT?
FALSE POSITIVES
ANTI ALIASING 1/2
ANTI ALIASING 2/2
IMAGE SCALING 1/2
IMAGE SCALING 2/2
ANDMORE…
1 pixeloffsets in elementpositioning
Dynamic content
Movingelements
Images ofdifferentsize
Performance
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 individualimage files
 GUI (GeminiGUI)
UPDATE THE BASELINE
 Overwrite mode
 Automatic maintenance (ApplitoolsEyes)
AGENDA
 Why automatedvisualtesting?
 Tools& Technology
 Where does it fit?
WHERE DOES IT FIT?
• Component
s
• Code
review
• Developers
• Designers
• QA
Visual testing of frontend components by
frontend developers
WHERE DOES IT FIT?
• Pages
• Page
sections
• Developers
• Designers
• QA
• Others
Full or partial validation of application
screens
A collaboration tool
WHERE DOES IT FIT?
• Staging vs.
Production
• Ops
• QA
Validate your staging deployment using your
production deployment as a baseline
WHERE DOES IT FIT?
• Monitoring
• Ops
• QA
No missing resources in production
No corruption due to 3rd party data
No corruption due to browser / OS upgrades
QUESTIONS?
Adam Carmi (@carmiadam)
Co-Founder and VP R&D at Applitools
adam.carmi@applitools.com
THANK YOU

More Related Content

Viewers also liked

Viewers also liked (9)

Advanced Visual Test Automation with Selenium
Advanced Visual Test Automation with SeleniumAdvanced Visual Test Automation with Selenium
Advanced Visual Test Automation with Selenium
 
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.jsPayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
 
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFTAdvanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
 
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
 
*Webinar* Learn from the Experts: How to Boost Test Coverage with Automated V...
*Webinar* Learn from the Experts: How to Boost Test Coverage with Automated V...*Webinar* Learn from the Experts: How to Boost Test Coverage with Automated V...
*Webinar* Learn from the Experts: How to Boost Test Coverage with Automated V...
 
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
How to level-up your Selenium tests with Visual Testing #SeleniumCampHow to level-up your Selenium tests with Visual Testing #SeleniumCamp
How to level-up your Selenium tests with Visual Testing #SeleniumCamp
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
 
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium Tests
 
Automated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not SuckAutomated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not Suck
 

More from adamcarmi

More from adamcarmi (10)

Introduction to automated visual testing
Introduction to automated visual testingIntroduction to automated visual testing
Introduction to automated visual testing
 
Building Universal Servers (On-prem meets Azure PAAS)
Building Universal Servers (On-prem meets Azure PAAS)Building Universal Servers (On-prem meets Azure PAAS)
Building Universal Servers (On-prem meets Azure PAAS)
 
Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Selenium
 
Build mobile application that is easy to automate
Build mobile application that is easy to automateBuild mobile application that is easy to automate
Build mobile application that is easy to automate
 
Advanced Visual Test Automation With Selenium
Advanced Visual Test Automation With SeleniumAdvanced Visual Test Automation With Selenium
Advanced Visual Test Automation With Selenium
 
Advanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile AppsAdvanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile Apps
 
Selenium Based Visual Test Automation
Selenium Based Visual Test AutomationSelenium Based Visual Test Automation
Selenium Based Visual Test Automation
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsula
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Automated Visual Testing - What, When & How

Editor's Notes

  1. Most tools are for web apps except for FBSnapshotTestCase which is for IOS and Eyes which is platform agnostic.
  2. * Does not apply to fighting layout bugs.
  3. * Does not apply to fighting layout bugs.
  4. * Does not apply to fighting layout bugs.
  5. Like Boromir said…
  6. * Does not apply to fighting layout bugs.
  7. * Does not apply to fighting layout bugs.
  8. CSS files and HTML falling out of sync CSS changes with unexpected global implications. Frontend refactoring.
  9. Project / Product managers (collaboration)