SlideShare a Scribd company logo
1 of 45
The Holy Trinity of
UI Testing
Diego Molina
¡Hola!
I am Diego Molina
Software Engineer who likes Testing
@Zalando and @Element34.com
diegofmolina diemol
2
European Platform for
Fashion
> 22M Active users
> 1.9K Tech (>200 teams)
> 250K articles
> 10 languages
Provide testing
infrastructure
Help teams to test better
Co-developed Zalenium
Selenium Box On-
Premise solution
Trainings &
Consulting
Test automation solutions
around Selenium
Co-maintain docker-
selenium
Contribute to Grid
Workshop
IRC/Slack to answer
questions
3
Why?
?
One step back
What do we want to test?
What do we want to achieve?
Automation will always
need people.
Great tools do not replace
a good testing strategy
Photo by Sneaky Elbow on Unsplash
Functional Tests
Examples
Prototypes
Story Tests
Simulations
SupportingtheTeam Business Facing
Unit Tests
Component Tests
Technology Facing
CritiqueProduct
Q1
Q2 Q3
Q4
Exploratory Testing
Scenarios
Usability Testing
User Acceptance Testing
Alpha / Beta
Performance, Load, Security...
Testing
Automated &
Manual Manual
Automated Tools
Agile Testing Quadrants
Lisa Crispin - http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/ & “More Agile Testing” by Janet Gregory and Lisa Crispin
Functional
Testing
Testing that things work based on a set of
specifications.
8Photo by lovestruck. on Foter.com / CC BY-NC
Layout
Testing
Validate that a responsive web application
changes its layout based on the viewport
size and on our expectations.
9Photo by Ricardo Gomez Angel on Unsplash
Visual
Testing
Testing that a web application’s UI is
displayed to the users based on our
expectations.
10Photo by Nonsap Visuals on Unsplash
When do I use them?
When do I mix them?
Or not?
11
Application
Characteristics
What to consider?
Stage in the
Development
Process
12
Application
Characteristics
13
Decision table*
Application Type Functional Layout Visual
Dynamic (CMS) Yes Maybe Nice to have
Internal Tool Yes Not needed Not needed
eCommerce Yes Nice to have Yes
Animated/Graphics Yes Not needed Yes
14*apply common sense and use context, these are suggestions.
Maybe: Consider user base size, analytics info, feature criticality, risk exposure, etc...
Nice to have: If time and resources permit, risk exposure, etc...
Stage in the
Development
Process
15
Dynamic (CMS)
eCommerce
Animated /
Graphics
16
17
Page Load
Strategy
Normal
~15 sec.
None
~9 sec.
18
Normal
~8 sec.
None
~4 sec.
Page Load
Strategy
19
Page Load Strategy, switch from NORMAL to NONE
Important: Make sure your waits are working well.
Dynamic (CMS)
eCommerce
Animated /
Graphics
20
21
Galen
Framework
22
Galen
Framework
23
Galen
Framework
● Well maintained
● Open source
● Highly
configurable
● Works with
Selenium
● Own DSL
● Partly reuse
current tests
● Java & JS
24
● Still many
things left to
check
● Add more
specs
● Increase level
of detail
● Bit slow with
big DOMs
Dynamic (CMS)
eCommerce
Animated /
Graphics
25
Rolling your own
26
Rolling your own
27
Rolling your own
28
29
30
PROS
● Customize all the way
● Full control
● Reuse existing tests
● Execution time
Rolling your own
CONS
● Maintain more code
● Handle comparison logic
● Handle false positives
● Create a flow to handle
baselines
● Maybe in a different
language
31
https://github.com/Huddle/Resemble.js
https://github.com/mapbox/pixelmatch
https://github.com/americanexpress/jest-image-snapshot
Using open source - Gemini
32
https://github.com/gemini-testing/gemini
https://github.com/gemini-testing/gemini-gui
https://github.com/gemini-testing/html-reporter
PROS
● That’s the tool’s purpose
● Configurable
● Useful plugins
● Execution time
Using open source - Gemini
CONS
● Own DSL in JS
● Rewrite tests
34
https://github.com/gemini-testing/gemini
https://github.com/gemini-testing/gemini-gui
https://github.com/gemini-testing/html-reporter
Using Applitools
35
https://applitools.com/
PROS
● That’s the tool’s purpose
● Configurable
● Reuse existing tests
● Many languages supported
● Different validation levels
Using Applitools
CONS
● Test execution time
● Paid
● Validations limit
38
https://applitools.com/
Recapping the story so
far...
39
● It is the cornerstone, the first step
● It is what gives us a sense of security
● Combine it with a testing strategy
40
Functional
Testing
● Useful when content is stable
● Validates only what we specify to be validated
● Helps to check design and CSS related changes
● Good option for a smoke test in big applications
41
Layout Testing
● More validations with less code
○ Very tempting!
● Makes us feel more secure
● Increases coverage
● Combine with functional tests as much as possible
● It is just one more item in your current strategy
42
Visual Testing
43
Visual Testing
● Information overload
● Invest time to incorporate it in your workflow
○ It is not plug and play
○ Produce valuable reports - reduce review time
● Define criterias to establish new baselines
○ Don’t say yes to everything
● Give time, there is a learning curve
○ One browser + one viewport size, then iterate
Credits
● @elgalu - Leo Gallucci
○ Initial ideas over this topic
● @JAVI_GOMEZ - Javier Gómez
○ Ideas exchange and validation
● @lisacrispin - Lisa Crispin
○ Agile Testing Quadrants
● @katrina_tester - Katrina Clokie
○ http://katrinatester.blogspot.com/2017/10/strategies-for-automated-visual.html
● @jcolantonio - Joe Colantonio
○ https://www.joecolantonio.com/2017/03/16/applitools-galen/
○ https://www.joecolantonio.com/2017/02/02/top-21-free-visual-validation-tools-testers/
44
45
Thanks!
Any questions?
Find me at @diegofmolina & diemol@gmail.com
Photo by Trent Erwin on Unsplash

More Related Content

What's hot

[Webinar] Getting started with server-side testing - presented by WiderFunnel...
[Webinar] Getting started with server-side testing - presented by WiderFunnel...[Webinar] Getting started with server-side testing - presented by WiderFunnel...
[Webinar] Getting started with server-side testing - presented by WiderFunnel...Chris Goward
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQASymphony
 
Understanding Kanban
Understanding KanbanUnderstanding Kanban
Understanding Kanbannikos batsios
 
Devops Journey - internet tech startup
Devops Journey - internet tech startupDevops Journey - internet tech startup
Devops Journey - internet tech startupViresh Doshi
 
Continues Integration for Android
Continues Integration for AndroidContinues Integration for Android
Continues Integration for AndroidCODETE
 
Testing Frameworks And Methodologies
Testing Frameworks And MethodologiesTesting Frameworks And Methodologies
Testing Frameworks And MethodologiesSteven Cahill
 
Project Delivery
Project DeliveryProject Delivery
Project DeliveryCODETE
 
Enterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetEnterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetChris Tankersley
 
CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...
CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...
CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...CodeScience
 
Episode 21 - Design Pattern 1
Episode 21 - Design Pattern 1Episode 21 - Design Pattern 1
Episode 21 - Design Pattern 1Jitendra Zaa
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Fatkul Amri
 
A journey to a Full Stack Tester
A journey to a Full Stack Tester A journey to a Full Stack Tester
A journey to a Full Stack Tester KMS Technology
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisAndrey Karpov
 

What's hot (20)

[Webinar] Getting started with server-side testing - presented by WiderFunnel...
[Webinar] Getting started with server-side testing - presented by WiderFunnel...[Webinar] Getting started with server-side testing - presented by WiderFunnel...
[Webinar] Getting started with server-side testing - presented by WiderFunnel...
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product Roadmap
 
Understanding Scrum
Understanding ScrumUnderstanding Scrum
Understanding Scrum
 
Understanding Kanban
Understanding KanbanUnderstanding Kanban
Understanding Kanban
 
How to Introduce Continuous Delivery
How to Introduce Continuous DeliveryHow to Introduce Continuous Delivery
How to Introduce Continuous Delivery
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Devops Journey - internet tech startup
Devops Journey - internet tech startupDevops Journey - internet tech startup
Devops Journey - internet tech startup
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
Continues Integration for Android
Continues Integration for AndroidContinues Integration for Android
Continues Integration for Android
 
Testing Frameworks And Methodologies
Testing Frameworks And MethodologiesTesting Frameworks And Methodologies
Testing Frameworks And Methodologies
 
Project Delivery
Project DeliveryProject Delivery
Project Delivery
 
Enterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetEnterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring Budget
 
Presentation delex
Presentation delexPresentation delex
Presentation delex
 
[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios
[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios
[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios
 
CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...
CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...
CodeScience Webinar - Automated Testing for Your Salesforce App — Tips and Tr...
 
Episode 21 - Design Pattern 1
Episode 21 - Design Pattern 1Episode 21 - Design Pattern 1
Episode 21 - Design Pattern 1
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)
 
A journey to a Full Stack Tester
A journey to a Full Stack Tester A journey to a Full Stack Tester
A journey to a Full Stack Tester
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 

Similar to The Holy Trinity of UI Testing by Diego Molina

Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
Practical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamPractical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamJen-Chieh Ko
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams Synerzip
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsMadhusudhan Matrubai
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideasRichard Robinson
 
Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Wit Jakuczun
 
QA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallQA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallSynerzip
 
Advanced automated visual testing at DrupalCon Europe 2020
Advanced automated visual testing at DrupalCon Europe 2020Advanced automated visual testing at DrupalCon Europe 2020
Advanced automated visual testing at DrupalCon Europe 2020Shweta Sharma
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Fabricio Epaminondas
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumaroGuild .
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia eventXebia India
 
Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An OverviewAnant Corporation
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоSigma Software
 
Continuous Intelligence Workshop
Continuous Intelligence WorkshopContinuous Intelligence Workshop
Continuous Intelligence WorkshopDavid Tan
 
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgileNetwork
 

Similar to The Holy Trinity of UI Testing by Diego Molina (20)

Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Agile testing
Agile testingAgile testing
Agile testing
 
Practical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamPractical Testing Strategy for Agile Team
Practical Testing Strategy for Agile Team
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideas
 
Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...
 
QA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallQA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael Hall
 
Advanced automated visual testing at DrupalCon Europe 2020
Advanced automated visual testing at DrupalCon Europe 2020Advanced automated visual testing at DrupalCon Europe 2020
Advanced automated visual testing at DrupalCon Europe 2020
 
Demystifying Devops - Uday kumar
Demystifying Devops - Uday kumarDemystifying Devops - Uday kumar
Demystifying Devops - Uday kumar
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday Kumar
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An Overview
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон Мужайло
 
Continuous Intelligence Workshop
Continuous Intelligence WorkshopContinuous Intelligence Workshop
Continuous Intelligence Workshop
 
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
 

More from Sauce Labs

Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSauce Labs
 
Testing on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesSauce Labs
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleSauce Labs
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
Quality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingQuality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingSauce Labs
 
Creating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationCreating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationSauce Labs
 
Just Enough (Automated) Testing
Just Enough (Automated) TestingJust Enough (Automated) Testing
Just Enough (Automated) TestingSauce Labs
 
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsUsing Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsSauce Labs
 
How Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionHow Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionSauce Labs
 
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartWebinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartSauce Labs
 
[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.ioSauce Labs
 
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Sauce Labs
 
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterAccelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterSauce Labs
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingSauce Labs
 
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...Sauce Labs
 
Sauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software TestingSauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software TestingSauce Labs
 
BDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiBDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiSauce Labs
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Sauce Labs
 
Continuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaContinuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaSauce Labs
 
Building Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleBuilding Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleSauce Labs
 

More from Sauce Labs (20)

Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
Testing on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location Services
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
Quality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingQuality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI Testing
 
Creating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationCreating Digital Confidence with Test Automation
Creating Digital Confidence with Test Automation
 
Just Enough (Automated) Testing
Just Enough (Automated) TestingJust Enough (Automated) Testing
Just Enough (Automated) Testing
 
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsUsing Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
 
How Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionHow Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product Obsession
 
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartWebinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
 
[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io
 
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
 
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterAccelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous Testing
 
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
 
Sauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software TestingSauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software Testing
 
BDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiBDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu Peteti
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
 
Continuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaContinuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa Benua
 
Building Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleBuilding Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny Bramble
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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 Processorsdebabhi2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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 Scriptwesley chun
 
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.pdfEnterprise Knowledge
 
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 Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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 RobisonAnna Loughnan Colquhoun
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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 WorkerThousandEyes
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
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
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 

The Holy Trinity of UI Testing by Diego Molina

  • 1. The Holy Trinity of UI Testing Diego Molina
  • 2. ¡Hola! I am Diego Molina Software Engineer who likes Testing @Zalando and @Element34.com diegofmolina diemol 2
  • 3. European Platform for Fashion > 22M Active users > 1.9K Tech (>200 teams) > 250K articles > 10 languages Provide testing infrastructure Help teams to test better Co-developed Zalenium Selenium Box On- Premise solution Trainings & Consulting Test automation solutions around Selenium Co-maintain docker- selenium Contribute to Grid Workshop IRC/Slack to answer questions 3
  • 5. One step back What do we want to test? What do we want to achieve?
  • 6. Automation will always need people. Great tools do not replace a good testing strategy Photo by Sneaky Elbow on Unsplash
  • 7. Functional Tests Examples Prototypes Story Tests Simulations SupportingtheTeam Business Facing Unit Tests Component Tests Technology Facing CritiqueProduct Q1 Q2 Q3 Q4 Exploratory Testing Scenarios Usability Testing User Acceptance Testing Alpha / Beta Performance, Load, Security... Testing Automated & Manual Manual Automated Tools Agile Testing Quadrants Lisa Crispin - http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/ & “More Agile Testing” by Janet Gregory and Lisa Crispin
  • 8. Functional Testing Testing that things work based on a set of specifications. 8Photo by lovestruck. on Foter.com / CC BY-NC
  • 9. Layout Testing Validate that a responsive web application changes its layout based on the viewport size and on our expectations. 9Photo by Ricardo Gomez Angel on Unsplash
  • 10. Visual Testing Testing that a web application’s UI is displayed to the users based on our expectations. 10Photo by Nonsap Visuals on Unsplash
  • 11. When do I use them? When do I mix them? Or not? 11
  • 14. Decision table* Application Type Functional Layout Visual Dynamic (CMS) Yes Maybe Nice to have Internal Tool Yes Not needed Not needed eCommerce Yes Nice to have Yes Animated/Graphics Yes Not needed Yes 14*apply common sense and use context, these are suggestions. Maybe: Consider user base size, analytics info, feature criticality, risk exposure, etc... Nice to have: If time and resources permit, risk exposure, etc...
  • 19. 19 Page Load Strategy, switch from NORMAL to NONE Important: Make sure your waits are working well.
  • 23. 23 Galen Framework ● Well maintained ● Open source ● Highly configurable ● Works with Selenium ● Own DSL ● Partly reuse current tests ● Java & JS
  • 24. 24 ● Still many things left to check ● Add more specs ● Increase level of detail ● Bit slow with big DOMs
  • 29. 29
  • 30. 30
  • 31. PROS ● Customize all the way ● Full control ● Reuse existing tests ● Execution time Rolling your own CONS ● Maintain more code ● Handle comparison logic ● Handle false positives ● Create a flow to handle baselines ● Maybe in a different language 31 https://github.com/Huddle/Resemble.js https://github.com/mapbox/pixelmatch https://github.com/americanexpress/jest-image-snapshot
  • 32. Using open source - Gemini 32 https://github.com/gemini-testing/gemini https://github.com/gemini-testing/gemini-gui https://github.com/gemini-testing/html-reporter
  • 33.
  • 34. PROS ● That’s the tool’s purpose ● Configurable ● Useful plugins ● Execution time Using open source - Gemini CONS ● Own DSL in JS ● Rewrite tests 34 https://github.com/gemini-testing/gemini https://github.com/gemini-testing/gemini-gui https://github.com/gemini-testing/html-reporter
  • 36.
  • 37.
  • 38. PROS ● That’s the tool’s purpose ● Configurable ● Reuse existing tests ● Many languages supported ● Different validation levels Using Applitools CONS ● Test execution time ● Paid ● Validations limit 38 https://applitools.com/
  • 39. Recapping the story so far... 39
  • 40. ● It is the cornerstone, the first step ● It is what gives us a sense of security ● Combine it with a testing strategy 40 Functional Testing
  • 41. ● Useful when content is stable ● Validates only what we specify to be validated ● Helps to check design and CSS related changes ● Good option for a smoke test in big applications 41 Layout Testing
  • 42. ● More validations with less code ○ Very tempting! ● Makes us feel more secure ● Increases coverage ● Combine with functional tests as much as possible ● It is just one more item in your current strategy 42 Visual Testing
  • 43. 43 Visual Testing ● Information overload ● Invest time to incorporate it in your workflow ○ It is not plug and play ○ Produce valuable reports - reduce review time ● Define criterias to establish new baselines ○ Don’t say yes to everything ● Give time, there is a learning curve ○ One browser + one viewport size, then iterate
  • 44. Credits ● @elgalu - Leo Gallucci ○ Initial ideas over this topic ● @JAVI_GOMEZ - Javier Gómez ○ Ideas exchange and validation ● @lisacrispin - Lisa Crispin ○ Agile Testing Quadrants ● @katrina_tester - Katrina Clokie ○ http://katrinatester.blogspot.com/2017/10/strategies-for-automated-visual.html ● @jcolantonio - Joe Colantonio ○ https://www.joecolantonio.com/2017/03/16/applitools-galen/ ○ https://www.joecolantonio.com/2017/02/02/top-21-free-visual-validation-tools-testers/ 44
  • 45. 45 Thanks! Any questions? Find me at @diegofmolina & diemol@gmail.com Photo by Trent Erwin on Unsplash

Editor's Notes

  1. How to give back to Open Source? Help to improve the documentation Open spaces at your company for meetups and knowledge sharing events Report bugs that are reproducible (and help to fix them if possible)
  2. A large amount of new tools, popping up everywhere and every week, providing great solutions. Who is kind of active in Twitter? Reads blog posts? Don’t you feel that you need to catch up? So many buzzwords. All this information overload makes us lose focus on the value we want to add to our team, and to our web application. We spend more time choosing tools instead of planning our tests. Here are my two cents, hopefully this talk can help you to have focused tests and achieve clear goals.
  3. Let’s have a coffee/tea, sit down for a moment and relax… Before thinking about tools that will solve all our problems… Let’s think about what we want to achieve and what we want to test.
  4. To have a sustainable and maintainable test suite, you need to plan a bit first. Think about a testing strategy and what you want to achieve. When that is clear, choosing the right tools is much easier. This does not mean that I don’t want to use Sauce Labs, Applitools, Selenium Box… The tools are there. I just need to know how to use them efficiently. We test to add value to the product, not to only find bugs.
  5. A test strategy should include, unit testing, TDD, BDD, functional testing, exploratory testing, non-functional testing, etc… But when do do each one? Depending where you are, they help to identify the types of testing needed. The numbers do not imply an order! Left side verifies, right side validates. Goals: Q1: Grained business logic works, isolation (problems), confidence when making changes. Fast feedback. Facilitates other quadrants. Q2: Guide dev through business-facing tests. Build examples and then tests. Find out if what we expect from the product works or not. Q3: Reality check, feedback from real use. Are things working in different scenarios. User Acceptance and Exploratory Testing. Helps Q2 to improve tests. Q4: Memory leaks? Disaster recovery? How stable under high load, hacker attacks… Cross browser testing (page rendering). Planning: Scope -> Priorities + Risks -> Tools
  6. Basically, we want to validate that the application works according to its functional specification. If A takes me to B when I do C, and as a result I will get D. If logging in takes me to my account when I enter my credentials, and I will see my personal data.
  7. Focused on testing responsive web applications in different devices and resolutions (in a relative position). Validates if the elements are present or not depending on the device resolution and our expectations.
  8. Focuses more into how the web application looks like, its colors, shapes, presence of elements, elements overlapping, sizes… Web applications can render differently in different browsers and devices. It works by first establishing a baseline (the current look), and future executions get compare against the baseline (and update it when needed).
  9. Taking into account the Agile Testing Quadrants and the types of testing we have mentioned… When does it make sense to use and mix them? Always use the 3 of them? Maybe not? How do we put all this information together?
  10. Depending on two main decision points, we could decide what type (or types) of testing we can use.
  11. What type of application do we have? eCommerce? Mostly static content? (Government Website) CMS backed application? Generates images dynamically (charts, graphics)? Internal tool website? Supported browsers?
  12. This decision table should serve as a guide when we are planning which testing type to use. This is not a silver bullet, common sense and context are needed to make the final decision. Get as much information you can: Analytics, risk assessment (how bad is it if we screw up), application behavior (does it work the same way in different browsers, resolution, languages, payment types?)
  13. After deciding what type of testing we are going to use, we also need to decide when to run each type of tests. Does it make sense to run functional, layout and visual tests on every commit? We need to remember that the main role of tests during development is to provide fast feedback,
  14. Zalando Normal: ~15 None: ~9
  15. GitHub Normal: ~8 None: ~4
  16. This is how the capabilities look like, it is just a simple change in the PageLoadStrategy, but double check that the waits are well tuned.
  17. A few commits have been done in the feature branch, now there is a potentially working feature to be merged and released. What tests do we run now? Let’s start with the Dynamic (CMS) web applications.
  18. Currently, the only well supported and up-to-date tool is the Galen Framework. It focuses on validating that the relative positioning of elements is correct based on a set of specifications. Like checking that the button is below the textbox, or that an element contains X or Y. It can also validate images, and then the configuration detail gets quite complex, therefore the maintenance cost gets higher. Go to IntelliJ, show original test, modified test, specs and reports.
  19. Currently, the only well supported and up-to-date tool is the Galen Framework. It focuses on validating that the relative positioning of elements is correct based on a set of specifications. Like checking that the button is below the textbox, or that an element contains X or Y. It can also validate images, and then the configuration detail gets quite complex, therefore the maintenance cost gets higher. Go to IntelliJ, show original test, modified test, specs and reports.
  20. Currently, the only well supported and up-to-date tool is the Galen Framework. It focuses on validating that the relative positioning of elements is correct based on a set of specifications. Like checking that the button is below the textbox, or that an element contains X or Y. It can also validate images, and then the configuration detail gets quite complex, therefore the maintenance cost gets higher. Go to IntelliJ, show original test, modified test, specs and reports.
  21. Still many things need to be checked. Too much content that can change a lot. We would need to have a huge list of specs to reach a certain level of security, but we would incur into high maintenance costs (in the end, it is a tradeoff). More suitable for web applications where there is a smaller amount of important elements to check and the content is in general more stable.
  22. Now, for eCommerce and Animated web applications, we will use Visual testing. Learning curve, dealing with false positives.
  23. Test execution time stays fairly the same, since all the comparison is done locally. But this saved time needs to be used implementing an adaptable workflow (what happens when there are differences? How do we approve them and establish a new baseline? How do I ignore regions?)
  24. Test execution time stays fairly the same, since all the comparison is done locally. But this saved time needs to be used implementing an adaptable workflow (what happens when there are differences? How do we approve them and establish a new baseline? How do I ignore regions?)
  25. Test execution time stays fairly the same, since all the comparison is done locally. But this saved time needs to be used implementing an adaptable workflow (what happens when there are differences? How do we approve them and establish a new baseline? How do I ignore regions?) Documentation? Handling baselines for different resolutions.
  26. Go to IDE and show how the setup looks like.
  27. Go to IDE and show how the setup looks like.
  28. Go to IDE and show how the setup looks like.
  29. Go to IDE and show how the setup looks like.
  30. If the layout is OK then we assume the content is also OK. Image checking can be done with Galen, but you need to configure each validation, increasing the level of detail and impacting the code maintainability.
  31. New blog posts the whole time, new tools. Don’t do it because everyone is doing it, see how it will add value first. More tests with less code, then create meaningful reports, so people don’t need to spend lots of time analysing them -- rejecting or approving changes. Invest time establishing baselines, and check them often to be sure they are actually ok. Also in different viewport sizes, and browsers (go slowly, step by step, don’t put all browser and screen resolutions - everything from the beginning, you’ll get a lot to review. Usually works well when you have already a good functional test suite that shows you what is being tested. Crossbrowser? First you need to make your functional tests work in different browsers.
  32. New blog posts the whole time, new tools. Don’t do it because everyone is doing it, see how it will add value first. More tests with less code, then create meaningful reports, so people don’t need to spend lots of time analysing them -- rejecting or approving changes. Invest time establishing baselines, and check them often to be sure they are actually ok. Also in different viewport sizes, and browsers (go slowly, step by step, don’t put all browser and screen resolutions - everything from the beginning, you’ll get a lot to review. Usually works well when you have already a good functional test suite that shows you what is being tested. Crossbrowser? First you need to make your functional tests work in different browsers.
  33. Lisa Crispeta