SlideShare a Scribd company logo
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 Grid
Selenium GridSelenium Grid
Selenium Grid
nirvdrum
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
Tzirla Rozental
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
Lokesh Agrawal
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
Sauce Labs
 
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
KMS Technology
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
Qspiders - Software Testing Training Institute
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
Manoj Kumar Kumar
 
Cross browser testing with browser stack
Cross browser testing with browser stackCross browser testing with browser stack
Cross browser testing with browser stack
Denys Poloka
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and Jmeter
Agile Testing Alliance
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
Archana Krushnan
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
Weifeng Zhang
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
Kanoah
 
Katalon Studio Presentation.pptx
Katalon Studio Presentation.pptxKatalon Studio Presentation.pptx
Katalon Studio Presentation.pptx
MuhammadHassan440279
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
Svetlin Nakov
 
A Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingA Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End Testing
SmartBear
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon Studio
 
Appium ppt
Appium pptAppium ppt
Appium ppt
natashasweety7
 

What's hot (20)

Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Cross browser testing with browser stack
Cross browser testing with browser stackCross browser testing with browser stack
Cross browser testing with browser stack
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and Jmeter
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Katalon Studio Presentation.pptx
Katalon Studio Presentation.pptxKatalon Studio Presentation.pptx
Katalon Studio Presentation.pptx
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
 
A Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingA Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End Testing
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 

Similar to Cross browser testing

Mapping mobileandweblandscape motb
Mapping mobileandweblandscape motbMapping mobileandweblandscape motb
Mapping mobileandweblandscape motb
Perfecto Mobile
 
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
Perfecto Mobile
 
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
Perfecto Mobile
 
Selenium conf india pwa 2018
Selenium conf india pwa 2018Selenium conf india pwa 2018
Selenium conf india pwa 2018
Perfecto Mobile
 
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
Perfecto by Perforce
 
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
Perfecto by Perforce
 
Testing Strategy for Progressive Web Apps
Testing Strategy for Progressive Web AppsTesting Strategy for Progressive Web Apps
Testing Strategy for Progressive Web Apps
Perfecto by Perforce
 
Quest2018 erank optimize test automation
Quest2018 erank optimize test automationQuest2018 erank optimize test automation
Quest2018 erank optimize test automation
Perfecto Mobile
 
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
Perfecto by Perforce
 
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
Lizzy Guido (she/her)
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
Perfecto by Perforce
 
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
Perfecto Mobile
 
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
Agile Testing Alliance
 
Manual Testing
Manual TestingManual Testing
Manual Testing
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
Roopa slideshare
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxGaurav Nigam
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxGaurav Nigam
 
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptxITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
Roopa slideshare
 
Testing Imp Document
Testing Imp DocumentTesting Imp Document
Testing Imp Document
Happy2501
 
Constient global solution- mobile application development
Constient global solution- mobile application developmentConstient global solution- mobile application development
Constient global solution- mobile application development
Constient Cgs
 

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

QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptx
Perfecto Mobile
 
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
Perfecto Mobile
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
Perfecto Mobile
 
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
Perfecto Mobile
 
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
Perfecto Mobile
 
5 Stages of Digital Quality Maturity
5 Stages of Digital Quality Maturity5 Stages of Digital Quality Maturity
5 Stages of Digital Quality Maturity
Perfecto Mobile
 
Testing Next Generation Digital Interfaces
Testing Next Generation Digital InterfacesTesting Next Generation Digital Interfaces
Testing Next Generation Digital Interfaces
Perfecto Mobile
 
Raleigh User Forum Presentation
Raleigh User Forum PresentationRaleigh User Forum Presentation
Raleigh User Forum Presentation
Perfecto Mobile
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
Perfecto Mobile
 
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
Perfecto Mobile
 
iOS9 Launch - Mobile Dev & Test Implications
iOS9 Launch - Mobile Dev & Test ImplicationsiOS9 Launch - Mobile Dev & Test Implications
iOS9 Launch - Mobile Dev & Test Implications
Perfecto Mobile
 
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
Perfecto Mobile
 
Mobile Test Coverage- Israel 4th meetup
Mobile Test Coverage- Israel 4th meetupMobile Test Coverage- Israel 4th meetup
Mobile Test Coverage- Israel 4th meetup
Perfecto Mobile
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star east
Perfecto Mobile
 
Wearables meetup
Wearables meetupWearables meetup
Wearables meetup
Perfecto Mobile
 
Juc oct 2014 final
Juc oct 2014 finalJuc oct 2014 final
Juc oct 2014 final
Perfecto Mobile
 
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
Perfecto Mobile
 
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...
Perfecto Mobile
 
Discover financial presentation
Discover financial presentationDiscover financial presentation
Discover financial presentationPerfecto 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

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 

Recently uploaded (20)

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

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/