SlideShare a Scribd company logo
Using AI-Powered Visual
Tests to empower your tests
Eran Barlev (@eranbarlev)
March 2019
@giltayar
About Me ● Software Engineer at heart with over 20 years
of experience.
● Currently Technical Solution Engineer @
Applitools
● Founder of the Canadian Software Testing
Board
● My true passion is automation and being able
to automate visual testing of web, app and
desktop application makes my current position
at Applitools a dream job
@giltayar
What Are Functional
Tests?
So many kinds of tests...
Tests, Tests, Glorious Tests!
● Unit
● Integration
● E2E
● Acceptance
● Visual
● Contract
● Browser
● Automation
● Functional
● And the list goes on…
Not to mention the
different
interpretations
Functional tests are
automation tests that automate the
browser in order to test the
functionality
of a web application*
* Or a mobile app
Functional tests are
automation tests that automate the
browser in order to test the
functionality
of a web application*
* Or a mobile app
Let’s write a Functional Test
All Functional Tests are Stories
All Functional Tests Look Like This
● Action
● Action
● Validation
● Action
● Validation
● Action
● Action
● Action
● Validation
Problems with Actions
● Fragile Selectors
● Complex Code
● Solution: Page Objects
Problems with Validations
● Fragile Selectors
● Complex Code
● Too much to validate
● Only positive check
○ We don’t validate what we don’t know about
● Solution: Page Objects, partially
Actions are Focused
Validations are should be Wholistic
Solving the Validation Problem
Visual Testing !
Spot The Difference Challenge
You have 1 minute to find 10 differences
State of Test Automation
Test Automation Workflow Today
Author
new
tests
Execute
tests
Analyze
failures
Report
bugs
Find
cause
Fix
broken
tests
Product
change
Fix
bugs
Applications Are Getting More Complex
OS Types Browser Versions Devices & Screen TypesMicroservices
Delivery Cycles Are Getting Faster
Every Page.
Every Application.
Hundreds Lines of Code.
Changing Constantly.
Pain Point #1 - Low Test Coverage
Author
new
tests
Execute
tests
Analyze
failures
Report
bugs
Find
cause
Fix
broken
tests
Product
change
Fix
bugs
40-70% OF TESTER
TIME IS SPENT HERE!
DeveloperTester
Analyzing test results
Is It Really Worth Automating?
27
•Every assertion increases the maintenance overhead
•Even if you manage to achieve 100% functional coverage, it does not
provide visual coverage
•We only catch expected bugs (e.g. what we assert)
•So...manual testing remains a vital technique
Pain Point #2 - Slow QA Feedback
Author
new
tests
Execute
tests
Analyze
failures
Report
bugs
Find
cause
Fix
broken
tests
Product
change
Fix
bugs
DeveloperTester
FULLY
MANUAL
Pain Point #3 - Slow Dev Feedback
29
Author
new
tests
Execut
e tests
Analyze
failures
Report
bugs
Find
cause
Fix
broken
tests
Product
change
Fix
bugs
REPRODUCE &
COMPARE WITH
WORKING CODE
DeveloperTester
Testing Is Seen as a Bottleneck
According to a recent survey conducted by CA
63%
Believe QA is the
bottleneck in
DevOps
70%
Of testing is still
done manually
72%
Agree continuous
testing requires a
major shift in
culture
Testing is seen as a Bottleneck
31
Testing is vital...
● Protect quality
● Represent the end user
● Critical to business
success
But success for teams is challenging.
● Visual and functional bugs escape routinely
● Hard to keep up with R&D pace and complexity
● No obvious solution in sight
● Team morale can suffer
It Happens to Amazon
32
It Happens to Microsoft
33
It Happens to UPS
34
It happens to
Twitter
35
It Happens to Financial Times
36
It Happens to ConFoo
37
What Are Visual
Tests?
Replace Humans with Image Diffing ?
Solutions to problems with validations
● Fragile Selectors
○ No more selectors
● Complex Code
○ Same code for all validations
● Too much to validate
○ We validate wholisticlly
● Only positive check
○ We validate things we didn’t even think of validating
Problems with Naive Image Diffing
● Small anti-aliasing differences
○ Mac vs. Linux vs. Windows
○ Different GPUs
● Date/time problems
○ regions that are different from run to run
● Full screen vs. Viewport
● Comparing is a pain
● “Accepting” a new baseline is a pain
Cloud-Based Solutions
Cloud-based solution
● Visual diffing algorithms see like a human sees
○ Ignoring the small differences
○ AI-level algorithms are now evolved and keep getting better
● Screenshot management tools are available, enabling you
to
○ See the diffs
○ Approve new baselines
○ Open bugs on diffs that are bugs
Let’s Run the Demo
Thank You
Eran Barlev (@eranbarlev)

More Related Content

What's hot

Understanding Agile 11x17
Understanding Agile 11x17Understanding Agile 11x17
Understanding Agile 11x17
Nigel Thurlow
 
Capital One: Bridging the Gap Between Quality Engineering and Product Managem...
Capital One: Bridging the Gap Between Quality Engineering and Product Managem...Capital One: Bridging the Gap Between Quality Engineering and Product Managem...
Capital One: Bridging the Gap Between Quality Engineering and Product Managem...
Applitools
 
Inrotduction of Testing
Inrotduction of TestingInrotduction of Testing
Inrotduction of Testing
Palash Ghosh
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
Vipul Gupta
 

What's hot (20)

What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
Roman iovlev battle - JDI vs Selenide - Selenium Camp
Roman iovlev battle - JDI vs Selenide - Selenium CampRoman iovlev battle - JDI vs Selenide - Selenium Camp
Roman iovlev battle - JDI vs Selenide - Selenium Camp
 
Understanding Agile 11x17
Understanding Agile 11x17Understanding Agile 11x17
Understanding Agile 11x17
 
Capital One: Bridging the Gap Between Quality Engineering and Product Managem...
Capital One: Bridging the Gap Between Quality Engineering and Product Managem...Capital One: Bridging the Gap Between Quality Engineering and Product Managem...
Capital One: Bridging the Gap Between Quality Engineering and Product Managem...
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual Testing
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
Test plan implementation
Test plan implementation Test plan implementation
Test plan implementation
 
Test Automation Strategies for the Agile World
Test Automation Strategies for the Agile WorldTest Automation Strategies for the Agile World
Test Automation Strategies for the Agile World
 
7 QA Tests You Should Be Running
7 QA Tests You Should Be Running7 QA Tests You Should Be Running
7 QA Tests You Should Be Running
 
Agile test tools
Agile test toolsAgile test tools
Agile test tools
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left Commitment
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
How to Go Codeless for Automated Mobile App Testing
How to Go Codeless for Automated Mobile App TestingHow to Go Codeless for Automated Mobile App Testing
How to Go Codeless for Automated Mobile App Testing
 
ATDD with SpecFlow
ATDD with SpecFlowATDD with SpecFlow
ATDD with SpecFlow
 
Inrotduction of Testing
Inrotduction of TestingInrotduction of Testing
Inrotduction of Testing
 
ISTQB Foundation and Selenium Java Automation Testing
ISTQB Foundation and Selenium Java Automation TestingISTQB Foundation and Selenium Java Automation Testing
ISTQB Foundation and Selenium Java Automation Testing
 
Stop Testing (Only) The Functionality of Your Mobile Apps!
Stop Testing (Only) The Functionality of Your Mobile Apps!Stop Testing (Only) The Functionality of Your Mobile Apps!
Stop Testing (Only) The Functionality of Your Mobile Apps!
 
Software testing main
Software testing mainSoftware testing main
Software testing main
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
 

Similar to Using AI-Powered Visual Tests to empower your tests

Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Applitools
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
Varun Sharma
 
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Applitools
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
Srikanth Krishnamoorthy
 
Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao
Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao
Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao
Applitools
 

Similar to Using AI-Powered Visual Tests to empower your tests (20)

1×10 rola QA w tworzeniu Atlassian JIRA
 1×10 rola QA w tworzeniu Atlassian JIRA 1×10 rola QA w tworzeniu Atlassian JIRA
1×10 rola QA w tworzeniu Atlassian JIRA
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
 
Atlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile TestingAtlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile Testing
 
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
 
Continuous testing at scale
Continuous testing at scaleContinuous testing at scale
Continuous testing at scale
 
Abc of testing
Abc of testingAbc of testing
Abc of testing
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
prod-dev-management.pptx
prod-dev-management.pptxprod-dev-management.pptx
prod-dev-management.pptx
 
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) review
 
Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao
Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao
Modern Functional Test Automation Through Visual AI - webinar w/ Raja Rao
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
 
Agile Testing - What is it?
Agile Testing - What is it?Agile Testing - What is it?
Agile Testing - What is it?
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
A journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanA journey to_be_a_software_craftsman
A journey to_be_a_software_craftsman
 

Recently uploaded

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 

Using AI-Powered Visual Tests to empower your tests

  • 1. Using AI-Powered Visual Tests to empower your tests Eran Barlev (@eranbarlev) March 2019
  • 2. @giltayar About Me ● Software Engineer at heart with over 20 years of experience. ● Currently Technical Solution Engineer @ Applitools ● Founder of the Canadian Software Testing Board ● My true passion is automation and being able to automate visual testing of web, app and desktop application makes my current position at Applitools a dream job @giltayar
  • 4. So many kinds of tests...
  • 5. Tests, Tests, Glorious Tests! ● Unit ● Integration ● E2E ● Acceptance ● Visual ● Contract ● Browser ● Automation ● Functional ● And the list goes on…
  • 6. Not to mention the different interpretations
  • 7. Functional tests are automation tests that automate the browser in order to test the functionality of a web application* * Or a mobile app
  • 8. Functional tests are automation tests that automate the browser in order to test the functionality of a web application* * Or a mobile app
  • 9. Let’s write a Functional Test
  • 10. All Functional Tests are Stories
  • 11. All Functional Tests Look Like This ● Action ● Action ● Validation ● Action ● Validation ● Action ● Action ● Action ● Validation
  • 12. Problems with Actions ● Fragile Selectors ● Complex Code ● Solution: Page Objects
  • 13. Problems with Validations ● Fragile Selectors ● Complex Code ● Too much to validate ● Only positive check ○ We don’t validate what we don’t know about ● Solution: Page Objects, partially
  • 14. Actions are Focused Validations are should be Wholistic
  • 17. Spot The Difference Challenge You have 1 minute to find 10 differences
  • 18.
  • 19.
  • 20. State of Test Automation
  • 21. Test Automation Workflow Today Author new tests Execute tests Analyze failures Report bugs Find cause Fix broken tests Product change Fix bugs
  • 22. Applications Are Getting More Complex OS Types Browser Versions Devices & Screen TypesMicroservices
  • 23. Delivery Cycles Are Getting Faster
  • 24. Every Page. Every Application. Hundreds Lines of Code. Changing Constantly.
  • 25. Pain Point #1 - Low Test Coverage Author new tests Execute tests Analyze failures Report bugs Find cause Fix broken tests Product change Fix bugs 40-70% OF TESTER TIME IS SPENT HERE! DeveloperTester
  • 27. Is It Really Worth Automating? 27 •Every assertion increases the maintenance overhead •Even if you manage to achieve 100% functional coverage, it does not provide visual coverage •We only catch expected bugs (e.g. what we assert) •So...manual testing remains a vital technique
  • 28. Pain Point #2 - Slow QA Feedback Author new tests Execute tests Analyze failures Report bugs Find cause Fix broken tests Product change Fix bugs DeveloperTester FULLY MANUAL
  • 29. Pain Point #3 - Slow Dev Feedback 29 Author new tests Execut e tests Analyze failures Report bugs Find cause Fix broken tests Product change Fix bugs REPRODUCE & COMPARE WITH WORKING CODE DeveloperTester
  • 30. Testing Is Seen as a Bottleneck According to a recent survey conducted by CA 63% Believe QA is the bottleneck in DevOps 70% Of testing is still done manually 72% Agree continuous testing requires a major shift in culture
  • 31. Testing is seen as a Bottleneck 31 Testing is vital... ● Protect quality ● Represent the end user ● Critical to business success But success for teams is challenging. ● Visual and functional bugs escape routinely ● Hard to keep up with R&D pace and complexity ● No obvious solution in sight ● Team morale can suffer
  • 32. It Happens to Amazon 32
  • 33. It Happens to Microsoft 33
  • 34. It Happens to UPS 34
  • 36. It Happens to Financial Times 36
  • 37. It Happens to ConFoo 37
  • 39. Replace Humans with Image Diffing ?
  • 40. Solutions to problems with validations ● Fragile Selectors ○ No more selectors ● Complex Code ○ Same code for all validations ● Too much to validate ○ We validate wholisticlly ● Only positive check ○ We validate things we didn’t even think of validating
  • 41. Problems with Naive Image Diffing ● Small anti-aliasing differences ○ Mac vs. Linux vs. Windows ○ Different GPUs ● Date/time problems ○ regions that are different from run to run ● Full screen vs. Viewport ● Comparing is a pain ● “Accepting” a new baseline is a pain
  • 43. Cloud-based solution ● Visual diffing algorithms see like a human sees ○ Ignoring the small differences ○ AI-level algorithms are now evolved and keep getting better ● Screenshot management tools are available, enabling you to ○ See the diffs ○ Approve new baselines ○ Open bugs on diffs that are bugs
  • 45. Thank You Eran Barlev (@eranbarlev)