SlideShare a Scribd company logo
1 of 37
Strategy For Selecting the
Right Cross—Browser Testing
Tools
About Me
• Lead Technical Evangelist at Perfecto
• Blogger and Speaker
• http://continuoustesting.blog
• https://www.infoworld.com/author/Eran-
Kinsbruner/
• 18+ Years in Development & Testing
• Author of The Digital Quality Handbook
Weekly Podcast - Testiumpod
Twitter: @ek121268
Email: Erank@perfectomobile.com
Agenda
 A word about the digital transformation
 Cross-Browser Coverage
 RWD & PWA Testing As The De-Facto Web App Types
 Cross-Browser Testing Landscape and Criteria
 Q&A
6/12/2018 3© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Cross-Browser Testing != Desktop Web Testing
There is no Web Testing vs.
Mobile Testing
• 4 out of 10 transactions today take place on multiple
devices
• 48% of users today complain that the websites they use are
not optimized for their smartphones and tablets
Every Browser Has Unique Capabilities
6/12/2018 5© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Chrome on Windows 10 - Desktop Edge 17 on Windows 10 - Desktop
https://whatwebcando.today/
Coverage Methodology - Web
6/12/2018 6© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Keeping Up
6/12/2018 7© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Fundamentals of RWD
Testing
© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Responsive Web App – Test Plan Strategy: 6
Steps
6/12/2018 9© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Choose The Right
Platforms
Assure Visual Web
Pages Across
Platforms
Functionality of
Navigation Flows
and Menus
Client Side
Performance
Testing
Test Accessibility
for Mobile and
Web
Test Environment
Conditions
(Networks,
Sensors)
• Identify your object in a robust fashion that fits all digital
Platforms
• Build object repository and use smart locators
Responsive Web Design (RWD) - Objects
The average website includes nearly 400
different objects.
Now try locating them on each and every
DIGITAL platform in your lab…
• Take screenshot and use Visual Checkpoint/assertion to
validate responsive aspects
Responsive Web Design (RWD) – visual validation w/ Screenshots
Real Life Example – Screen Size & Layout Implications on UX
6/12/2018 12© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Fundamentals of PWA
Testing
© 2015, Perfecto Mobile Ltd. All Rights Reserved.
The Rise of PWAs – Challenging Native Mobile Apps
A Progressive Web App is
• Progressive - Works for every user
• Responsive - Fits any form factor
• Connectivity independent
• App-like - Feels like an app
• Safe - Served via HTTPS
• Search Friendly -allowing search engines to find it.
• Re-engageable -Support push notifications.
• Linkable - does not require complex installation
(store access)
6/12/2018 14© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Source :medium.com
Progressive Web App – The Offline Network Benefit
6/12/2018 15© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Source: VentureBeat
PWA on iOS is Different than on Android
6/12/2018 16© 2015, Perfecto Mobile Ltd. All Rights Reserved.
iOS Android
App type shortcut apk
Offline data Deleted after idle time No limit
Offline storage (browser based) Safari < 50Mb Chrome 6% available storage
Sensors support Limited (BT) All
access to private information No Yes
Payment system No supported Supported
Voice support No Yes
Progressive Web App – Test Plan Strategy: 6 Steps
6/12/2018 17© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Validate PWA
Manifest
Validate PWA
Service Workers
Validate PWA
Specific
Capabilities
Properly Test
Across Platforms
(RWD)
Test Automation
and Object
Identification
Strategy
Google’s PWA
Checklist
Compliance
Progressive Web App – Test Plan Strategy: Step 5
6/12/2018 18© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Object
Identification
Strategy
Interact with WebView Elements within the PWA App
Launch PWA App
Close Driver
Interact with Native Elements of the PWA App
Progressive Web App – Test Plan Strategy: Step 6
6/12/2018 19© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Validate Your Testing Plans Against Google’s PWA Checklist (Lighthouse)
• https://developers.google.com/web/progressive-web-apps/checklist
Tool Selection Strategy
© 2015, Perfecto Mobile Ltd. All Rights Reserved.
How to select the right testing framework?
6/12/2018 21© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Organizational Fit Technical Fit
Selection Criteria: Organizational Fit Requirements
6/12/2018 22© 2016, Perfecto Mobile Ltd. All Rights Reserved.
Project
Complexity
Quality
analysis
requirements
Test Types
&
Practices
Resources and
Skills
Availability
Test
Environment
Existing Tech
Stack
Selection Criteria: Technical Fit Requirements
6/12/2018 23© 2016, Perfecto Mobile Ltd. All Rights Reserved.
SDLC Process
Fit
(Integrations,
Plugins, etc.)
Community
size, support
and Doc’s
Feedback
Loop and
Reporting
Automation
Coverage
Cloud and
Automation
at Scale
Automation
Robustness and
Maintainability
Web Testing Tools (Open-Source) - Download Trends
6/12/2018 24© 2016, Perfecto Mobile Ltd. All Rights Reserved.
JSDom & Mocha
Selenium
Protractor
Web Market Testing – Selection Criteria
6/12/2018 25© 2016, Perfecto Mobile Ltd. All Rights Reserved.
Read More Here
Additional Categorization of JS Tools
• Tools that provide a testing structure
(BDD/ATDD) (Mocha, Jasmine, Jest, Cucumber)
• Tools that provide assertions functions (Chai, Jasmine, Jest, Unexpected)
• Tools to generate, display, and watch test results (Mocha, Jasmine, Jest, Karma)
• Tools that generate code coverage reports (Istanbul, Jest, Blanket)
• Tools that provide a browser or browser-like environment with a control on their
scenarios execution, UI testing and more
(Protractor, Nightwatch, Phantom, Casper, Selenium, WebDriver.IO, TestCafe)
• Provide mocks, spies, and stubs (Sinon, Jasmine, enzyme, Jest, testdouble)
6/12/2018 26© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Source: Medium.com
JS Assertions
6/12/2018 27© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Source: Medium.com
JS Acceptance Testing with Codecept.JS
6/12/2018 28© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Source: Codecept.JS Git
JS Code Coverage (Istanbul with Mocha.JS)
$ npm install --save-dev nyc
{
"scripts": {
"test": "nyc mocha"
}
}
6/12/2018 29© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Source: Istanbul.js.org
Headless Browsers Role
Motivation
• Receive fast feedback (Unit and basic functional tests) – Mostly Dev
• Easy environment setup, no IT dependencies
• Uses standard JS language
• Supported and promoted by browser vendors (Google, Mozilla)
• Additional use cases to cover:
• HAR File
• Performance testing
• Basic UI
• Security
6/12/2018 30© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Headless Browsers – Puppeteer Example
6/12/2018 31© 2015, Perfecto Mobile Ltd. All Rights Reserved.
'use strict';
const puppeteer = require('puppeteer');
const devices = require('puppeteer/DeviceDescriptors');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.emulate(devices['iPhone 6']);
await page.goto('https://www.nytimes.com/');
await page.screenshot({path: 'full.png', fullPage: true});
await browser.close();
})(); https://github.com/GoogleChrome/puppeteer
Tool Selection Case Study (USAA)
• Define needed capabilities
6/12/2018 32© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Selection Criteria
End to End Testing
BDD/ATDD Friendly
Tool Documentation
Visual Navigation Testing
USAA Tool Selection
• Define needed capabilities
• Identify importance (weight capabilities)
6/12/2018 33© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Weight Key
1 – Low importance
3 – Medium importance
5 – High importance
Weight Selection Criteria
5 (High importance) End to End Testing
3 (Medium importance) BDD/ATDD Friendly
5 (High importance) Tool Documentation
1 (Low importance) Visual Navigation Testing
USAA Tool Selection
• Define needed capabilities
• Identify importance (weight capabilities)
• Define scoring key
6/12/2018 34© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Scoring Key
0 – Did not meet expectations
2 – Met expectations
3 – Exceeded expectations
Weight Selection Criteria Tool X Tool Y Tool Z
5 (High importance) End to End Testing 3 3 3
3 (Medium importance) BDD/ATDD Friendly 3 2 3
5 (High importance) Tool Documentation 0 2 2
1 (Low importance) Visual Navigation Testing 3 3 2
USAA Tool Selection
• Define needed capabilities
• Identify importance (weight capabilities)
• Define scoring key
6/12/2018 35© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Weight Selection Criteria Tool X (weighted) Tool Y (weighted) Tool Z (weighted)
5 (High importance) End to End Testing 3 5 x 3 = 15 3 5 x 3 = 15 3 5 x 3 = 15
3 (Medium importance) BDD/ATDD Friendly 3 3 x 3 = 9 2 3 x 2 = 6 3 3 x 3 = 9
5 (High importance) Tool Documentation 0 5 x 0 = 0 2 5 x 2 = 10 2 5 x 2 = 10
1 (Low importance) Visual Navigation Testing 3 1 x 3 = 3 3 1 x3 = 3 2 1 x 2 = 2
Total 27 34 36
Scoring Key
0 – Did not meet expectations
2 – Met expectations
3 – Exceeded expectations
Infrastructure as a
Freeway
6/12/2018 36© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Thank You

More Related Content

What's hot

Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 

What's hot (20)

Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
 
Protractor overview
Protractor overviewProtractor overview
Protractor overview
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Why Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your BusinessWhy Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your Business
 
Postman Introduction
Postman IntroductionPostman Introduction
Postman Introduction
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | Edureka
 
Selenium Demo
Selenium DemoSelenium Demo
Selenium Demo
 
Cross browser testing using BrowserStack
Cross browser testing using BrowserStack Cross browser testing using BrowserStack
Cross browser testing using BrowserStack
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Accelerate Quality with Postman - Basics
Accelerate Quality with Postman - BasicsAccelerate Quality with Postman - Basics
Accelerate Quality with Postman - Basics
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Locators in selenium - BNT 09
Locators in selenium - BNT 09Locators in selenium - BNT 09
Locators in selenium - BNT 09
 
Appium
AppiumAppium
Appium
 
Angular Advanced Routing
Angular Advanced RoutingAngular Advanced Routing
Angular Advanced Routing
 
RESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and JenkinsRESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and Jenkins
 
What Is Accessibility Testing?
What Is Accessibility Testing?What Is Accessibility Testing?
What Is Accessibility Testing?
 

Similar to Cross browser testing

ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
Gaurav Nigam
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
Gaurav Nigam
 

Similar to Cross browser testing (20)

Mapping mobileandweblandscape motb
Mapping mobileandweblandscape motbMapping mobileandweblandscape motb
Mapping mobileandweblandscape motb
 
Online testconf event rwd and pwa 2018
Online testconf event rwd and pwa 2018Online testconf event rwd and pwa 2018
Online testconf event rwd and pwa 2018
 
Proven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testersProven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testers
 
Selenium conf india pwa 2018
Selenium conf india pwa 2018Selenium conf india pwa 2018
Selenium conf india pwa 2018
 
Automate More with Selenium for your RWD
Automate More with Selenium for your RWDAutomate More with Selenium for your RWD
Automate More with Selenium for your RWD
 
10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing
 
Testing Strategy for Progressive Web Apps
Testing Strategy for Progressive Web AppsTesting Strategy for Progressive Web Apps
Testing Strategy for Progressive Web Apps
 
Quest2018 erank optimize test automation
Quest2018 erank optimize test automationQuest2018 erank optimize test automation
Quest2018 erank optimize test automation
 
End the Guesswork: How to Test the Right Devices, Platforms & User Conditions
End the Guesswork: How to Test the Right Devices, Platforms & User ConditionsEnd the Guesswork: How to Test the Right Devices, Platforms & User Conditions
End the Guesswork: How to Test the Right Devices, Platforms & User Conditions
 
Automating things you didn't know you could automate
Automating things you didn't know you could automateAutomating things you didn't know you could automate
Automating things you didn't know you could automate
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
 
Automation challenges - 121 Test Automation Event boston
Automation challenges - 121 Test Automation Event bostonAutomation challenges - 121 Test Automation Event boston
Automation challenges - 121 Test Automation Event boston
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
 
Testing Imp Document
Testing Imp DocumentTesting Imp Document
Testing Imp Document
 
Constient global solution- mobile application development
Constient global solution- mobile application developmentConstient global solution- mobile application development
Constient global solution- mobile application development
 

More from Perfecto Mobile

Discover financial presentation
Discover financial presentationDiscover financial presentation
Discover financial presentation
Perfecto Mobile
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...
Perfecto Mobile
 

More from Perfecto Mobile (20)

QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptx
 
Maturing your path toward DevOps with Continuous Testing
Maturing your path toward DevOps with Continuous TestingMaturing your path toward DevOps with Continuous Testing
Maturing your path toward DevOps with Continuous Testing
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
 
Optimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelineOptimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps Pipeline
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
 
5 Stages of Digital Quality Maturity
5 Stages of Digital Quality Maturity5 Stages of Digital Quality Maturity
5 Stages of Digital Quality Maturity
 
Testing Next Generation Digital Interfaces
Testing Next Generation Digital InterfacesTesting Next Generation Digital Interfaces
Testing Next Generation Digital Interfaces
 
Raleigh User Forum Presentation
Raleigh User Forum PresentationRaleigh User Forum Presentation
Raleigh User Forum Presentation
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
7 Keys for Unattended Test AUtomation webinar deck
7 Keys for Unattended Test AUtomation webinar deck7 Keys for Unattended Test AUtomation webinar deck
7 Keys for Unattended Test AUtomation webinar deck
 
iOS9 Launch - Mobile Dev & Test Implications
iOS9 Launch - Mobile Dev & Test ImplicationsiOS9 Launch - Mobile Dev & Test Implications
iOS9 Launch - Mobile Dev & Test Implications
 
Continuous Quality For a 5 Star Mobile Apps Delivery
Continuous Quality For a 5 Star Mobile Apps DeliveryContinuous Quality For a 5 Star Mobile Apps Delivery
Continuous Quality For a 5 Star Mobile Apps Delivery
 
Mobile Test Coverage- Israel 4th meetup
Mobile Test Coverage- Israel 4th meetupMobile Test Coverage- Israel 4th meetup
Mobile Test Coverage- Israel 4th meetup
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star east
 
Wearables meetup
Wearables meetupWearables meetup
Wearables meetup
 
Juc oct 2014 final
Juc oct 2014 finalJuc oct 2014 final
Juc oct 2014 final
 
Meetup kickoff slides - Perfecto Mobile, September 2014
Meetup kickoff slides - Perfecto Mobile, September 2014Meetup kickoff slides - Perfecto Mobile, September 2014
Meetup kickoff slides - Perfecto Mobile, September 2014
 
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
 
Discover financial presentation
Discover financial presentationDiscover financial presentation
Discover financial presentation
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...
 

Recently uploaded

Recently uploaded (20)

How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 

Cross browser testing

  • 1. Strategy For Selecting the Right Cross—Browser Testing Tools
  • 2. About Me • Lead Technical Evangelist at Perfecto • Blogger and Speaker • http://continuoustesting.blog • https://www.infoworld.com/author/Eran- Kinsbruner/ • 18+ Years in Development & Testing • Author of The Digital Quality Handbook Weekly Podcast - Testiumpod Twitter: @ek121268 Email: Erank@perfectomobile.com
  • 3. Agenda  A word about the digital transformation  Cross-Browser Coverage  RWD & PWA Testing As The De-Facto Web App Types  Cross-Browser Testing Landscape and Criteria  Q&A 6/12/2018 3© 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 4. Cross-Browser Testing != Desktop Web Testing There is no Web Testing vs. Mobile Testing • 4 out of 10 transactions today take place on multiple devices • 48% of users today complain that the websites they use are not optimized for their smartphones and tablets
  • 5. Every Browser Has Unique Capabilities 6/12/2018 5© 2015, Perfecto Mobile Ltd. All Rights Reserved. Chrome on Windows 10 - Desktop Edge 17 on Windows 10 - Desktop https://whatwebcando.today/
  • 6. Coverage Methodology - Web 6/12/2018 6© 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 7. Keeping Up 6/12/2018 7© 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 8. Fundamentals of RWD Testing © 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 9. Responsive Web App – Test Plan Strategy: 6 Steps 6/12/2018 9© 2015, Perfecto Mobile Ltd. All Rights Reserved. Choose The Right Platforms Assure Visual Web Pages Across Platforms Functionality of Navigation Flows and Menus Client Side Performance Testing Test Accessibility for Mobile and Web Test Environment Conditions (Networks, Sensors)
  • 10. • Identify your object in a robust fashion that fits all digital Platforms • Build object repository and use smart locators Responsive Web Design (RWD) - Objects The average website includes nearly 400 different objects. Now try locating them on each and every DIGITAL platform in your lab…
  • 11. • Take screenshot and use Visual Checkpoint/assertion to validate responsive aspects Responsive Web Design (RWD) – visual validation w/ Screenshots
  • 12. Real Life Example – Screen Size & Layout Implications on UX 6/12/2018 12© 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 13. Fundamentals of PWA Testing © 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 14. The Rise of PWAs – Challenging Native Mobile Apps A Progressive Web App is • Progressive - Works for every user • Responsive - Fits any form factor • Connectivity independent • App-like - Feels like an app • Safe - Served via HTTPS • Search Friendly -allowing search engines to find it. • Re-engageable -Support push notifications. • Linkable - does not require complex installation (store access) 6/12/2018 14© 2015, Perfecto Mobile Ltd. All Rights Reserved. Source :medium.com
  • 15. Progressive Web App – The Offline Network Benefit 6/12/2018 15© 2015, Perfecto Mobile Ltd. All Rights Reserved. Source: VentureBeat
  • 16. PWA on iOS is Different than on Android 6/12/2018 16© 2015, Perfecto Mobile Ltd. All Rights Reserved. iOS Android App type shortcut apk Offline data Deleted after idle time No limit Offline storage (browser based) Safari < 50Mb Chrome 6% available storage Sensors support Limited (BT) All access to private information No Yes Payment system No supported Supported Voice support No Yes
  • 17. Progressive Web App – Test Plan Strategy: 6 Steps 6/12/2018 17© 2015, Perfecto Mobile Ltd. All Rights Reserved. Validate PWA Manifest Validate PWA Service Workers Validate PWA Specific Capabilities Properly Test Across Platforms (RWD) Test Automation and Object Identification Strategy Google’s PWA Checklist Compliance
  • 18. Progressive Web App – Test Plan Strategy: Step 5 6/12/2018 18© 2015, Perfecto Mobile Ltd. All Rights Reserved. Object Identification Strategy Interact with WebView Elements within the PWA App Launch PWA App Close Driver Interact with Native Elements of the PWA App
  • 19. Progressive Web App – Test Plan Strategy: Step 6 6/12/2018 19© 2015, Perfecto Mobile Ltd. All Rights Reserved. Validate Your Testing Plans Against Google’s PWA Checklist (Lighthouse) • https://developers.google.com/web/progressive-web-apps/checklist
  • 20. Tool Selection Strategy © 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 21. How to select the right testing framework? 6/12/2018 21© 2015, Perfecto Mobile Ltd. All Rights Reserved. Organizational Fit Technical Fit
  • 22. Selection Criteria: Organizational Fit Requirements 6/12/2018 22© 2016, Perfecto Mobile Ltd. All Rights Reserved. Project Complexity Quality analysis requirements Test Types & Practices Resources and Skills Availability Test Environment Existing Tech Stack
  • 23. Selection Criteria: Technical Fit Requirements 6/12/2018 23© 2016, Perfecto Mobile Ltd. All Rights Reserved. SDLC Process Fit (Integrations, Plugins, etc.) Community size, support and Doc’s Feedback Loop and Reporting Automation Coverage Cloud and Automation at Scale Automation Robustness and Maintainability
  • 24. Web Testing Tools (Open-Source) - Download Trends 6/12/2018 24© 2016, Perfecto Mobile Ltd. All Rights Reserved. JSDom & Mocha Selenium Protractor
  • 25. Web Market Testing – Selection Criteria 6/12/2018 25© 2016, Perfecto Mobile Ltd. All Rights Reserved. Read More Here
  • 26. Additional Categorization of JS Tools • Tools that provide a testing structure (BDD/ATDD) (Mocha, Jasmine, Jest, Cucumber) • Tools that provide assertions functions (Chai, Jasmine, Jest, Unexpected) • Tools to generate, display, and watch test results (Mocha, Jasmine, Jest, Karma) • Tools that generate code coverage reports (Istanbul, Jest, Blanket) • Tools that provide a browser or browser-like environment with a control on their scenarios execution, UI testing and more (Protractor, Nightwatch, Phantom, Casper, Selenium, WebDriver.IO, TestCafe) • Provide mocks, spies, and stubs (Sinon, Jasmine, enzyme, Jest, testdouble) 6/12/2018 26© 2015, Perfecto Mobile Ltd. All Rights Reserved. Source: Medium.com
  • 27. JS Assertions 6/12/2018 27© 2015, Perfecto Mobile Ltd. All Rights Reserved. Source: Medium.com
  • 28. JS Acceptance Testing with Codecept.JS 6/12/2018 28© 2015, Perfecto Mobile Ltd. All Rights Reserved. Source: Codecept.JS Git
  • 29. JS Code Coverage (Istanbul with Mocha.JS) $ npm install --save-dev nyc { "scripts": { "test": "nyc mocha" } } 6/12/2018 29© 2015, Perfecto Mobile Ltd. All Rights Reserved. Source: Istanbul.js.org
  • 30. Headless Browsers Role Motivation • Receive fast feedback (Unit and basic functional tests) – Mostly Dev • Easy environment setup, no IT dependencies • Uses standard JS language • Supported and promoted by browser vendors (Google, Mozilla) • Additional use cases to cover: • HAR File • Performance testing • Basic UI • Security 6/12/2018 30© 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 31. Headless Browsers – Puppeteer Example 6/12/2018 31© 2015, Perfecto Mobile Ltd. All Rights Reserved. 'use strict'; const puppeteer = require('puppeteer'); const devices = require('puppeteer/DeviceDescriptors'); (async() => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.emulate(devices['iPhone 6']); await page.goto('https://www.nytimes.com/'); await page.screenshot({path: 'full.png', fullPage: true}); await browser.close(); })(); https://github.com/GoogleChrome/puppeteer
  • 32. Tool Selection Case Study (USAA) • Define needed capabilities 6/12/2018 32© 2015, Perfecto Mobile Ltd. All Rights Reserved. Selection Criteria End to End Testing BDD/ATDD Friendly Tool Documentation Visual Navigation Testing
  • 33. USAA Tool Selection • Define needed capabilities • Identify importance (weight capabilities) 6/12/2018 33© 2015, Perfecto Mobile Ltd. All Rights Reserved. Weight Key 1 – Low importance 3 – Medium importance 5 – High importance Weight Selection Criteria 5 (High importance) End to End Testing 3 (Medium importance) BDD/ATDD Friendly 5 (High importance) Tool Documentation 1 (Low importance) Visual Navigation Testing
  • 34. USAA Tool Selection • Define needed capabilities • Identify importance (weight capabilities) • Define scoring key 6/12/2018 34© 2015, Perfecto Mobile Ltd. All Rights Reserved. Scoring Key 0 – Did not meet expectations 2 – Met expectations 3 – Exceeded expectations Weight Selection Criteria Tool X Tool Y Tool Z 5 (High importance) End to End Testing 3 3 3 3 (Medium importance) BDD/ATDD Friendly 3 2 3 5 (High importance) Tool Documentation 0 2 2 1 (Low importance) Visual Navigation Testing 3 3 2
  • 35. USAA Tool Selection • Define needed capabilities • Identify importance (weight capabilities) • Define scoring key 6/12/2018 35© 2015, Perfecto Mobile Ltd. All Rights Reserved. Weight Selection Criteria Tool X (weighted) Tool Y (weighted) Tool Z (weighted) 5 (High importance) End to End Testing 3 5 x 3 = 15 3 5 x 3 = 15 3 5 x 3 = 15 3 (Medium importance) BDD/ATDD Friendly 3 3 x 3 = 9 2 3 x 2 = 6 3 3 x 3 = 9 5 (High importance) Tool Documentation 0 5 x 0 = 0 2 5 x 2 = 10 2 5 x 2 = 10 1 (Low importance) Visual Navigation Testing 3 1 x 3 = 3 3 1 x3 = 3 2 1 x 2 = 2 Total 27 34 36 Scoring Key 0 – Did not meet expectations 2 – Met expectations 3 – Exceeded expectations
  • 36. Infrastructure as a Freeway 6/12/2018 36© 2015, Perfecto Mobile Ltd. All Rights Reserved.

Editor's Notes

  1. http://www.npmtrends.com/protractor-vs-nightwatch-vs-webdriverio-vs-casperjs-vs-robot-js-vs-buster-test-vs-chimp-vs-codeceptjs-vs-phantomjs-vs-jsdom
  2. Often, when evaluating a potential new tool, it can be overwhelming and difficult to quantify which tool to select. The approach our team takes is to outline success criteria very clearly, to ease the evaluation and decision process. We’ll use Eran’s selection criteria as an example. Walk through needed capabilities (selection criteria) definition
  3. Once you identify the needed capabilities, then you’ll want to identify the importance of each capability. As in, how critical is the capability to your decision? This will help you “weight” each capability which you’ll see is very important when making a decision later on. Also useful when you have someone that wants to include criteria that you don’t think is as important (you just add it and give it a lower weight). Helps get away from “shiny penny” distractions.
  4. Once you have identified the importance, then you’ll want to define your scoring key. This is how you will actually document whether or not the tool you are evaluating has met (or not met) your expectations for that particular capability. This can also be useful if you are asking multiple people to evaluate the tool and provide feedback. (I usually hide the weighting when asking others to evaluate the tool). The scores are pretty close…
  5. The final step is to put it all together and score the applications together. You’ll see we just do basic math to determine the final decision. Walk through the math and show the total that takes into account all aspects. Note that it is always good to do a “reality check” to make sure the scores reflect overall needs (or even add additional capabilities discovered throughout the evaluation).
  6. The Infrastructure as a freeway slide will go here… Essentially, I’ll talk about what happens when other teams want to utilize a different tool than the one you “selected” and use my “Infrastructure as a Freeway” concept to describe the concept and how I handle that. Here is the concept if you want more specifics: https://www.linkedin.com/pulse/software-infrastructure-freeway-bryan-osterkamp/