SlideShare a Scribd company logo
1 of 17
TESTING STYLES
ARPIT MAHESHWARI
http://arpitmaheshwari.com
FRONT END OPS
BROAD LEVEL WORKFLOW
JOURNEY OF A STORY
Test locally
•Preferred Editor
•Preferred Browser
Broader
testing
•Targeted Browser
•Targeted Devices
Testing on
environments
•Dev Environment
•Production
Environment
• CODE IN PREFERRED EDITOR
• TEST IN PREFERRED BROWSER
• IMPROVE & RE-TEST ( TILL YOU ARE SATISFIED )
• TESTING IS GENERALLY MANUAL USING WEB INSPECTORS (SUPPLIED
WITH BROWSERS )
• CAN USE SOME TOOLS LIKE
• LIVERELOAD (BROWSER PLUGIN )
• CSSLINT (HTTP://CSSLINT.NET/ )
• FIREBUG ( FIREFOX PLUGIN)
WHEN A DEV STARTS
START SMALL, END USEFUL
• TESTING YOUR CODE ACROSS THE TARGETED SPECTRUM OF
BROWSERS & DEVICES .
• DISTINGUISHING BUGS FROM BROWSER BEHAVIOR.
• CONSIDERING PRINCIPLES OF PROGRESSIVE ENHANCEMENT OR
GRACEFUL DEGRADATION. (RECOMMENDED )
• WITH GROWTH OF MOBILE DEVICES AND RAPID LAUNCH CYCLES
OF BROWSERS , MANUAL TESTING IS BECOMING INCREASINGLY
DIFFICULT.
• RESPONSIVE WEB DESIGN ALLOWED THE SAME CODEBASE TO BE
RENDERED ACROSS PLATFORMS THEREBY INCREASING THE
EFFORTS REQUIRED FOR TESTING.
CROSS BROWSER TESTING
BRANDED AS : WEB CONSISTENCY TESTING
CROSS BROWSER TESTING
CROSS BROWSER TESTING
• BROWSER STACK
• HTTP://WWW.BROWSERSTACK.COM/
• XAMARIN
• HTTP://XAMARIN.COM/
• SAUCELABS
• HTTPS://SAUCELABS.COM/
• BROWSERA
• HTTP://WWW.BROWSERA.COM/
• MOGOTEST ( NOT MAINTAINED )
• HTTPS://BITBUCKET.ORG/MOGOTEST/
CROSS BROWSER TESTING
TOOLS AVAILABLE
• FOR QAS : DEFINITELY AUTOMATION
• ABILITY TO COMPARE DIFFERENT /EVALUATE DIFFERENT BROWSER RENDERINGS
ON A COMMON PLATFORM GIVES BETTER/BROADER PERSPECTIVE .
• SAVES TIME& EFFORTS.
• SOME TOOLS ALSO PROVIDE FEATURE TO REGISTER BUG , TAKE SNAPSHOTS
ALONG WITH ENVIRONMENT DETAILS ETC .
• FOR DEVS : CREATE YOU OWN HOUSE RULES (MANUAL OR TOOL
BASED )
• IN CASE YOU OPT FOR AUTOMATED TOOLS , BE PREPARED TO WAIT FOR A FEW
MINUTES TO TEST EVERY CHANGE YOU MAKE.
CROSS BROWSER TESTING
RECOMMENDED WAY :
• TRADITIONALLY DONE MANUALLY . BUT YES , IT CAN BE
AUTOMATED .
• THERE ARE TWO POPULAR APPROACHES TO AUTOMATE CSS
REGRESSION TESTING :
• IMAGE DIFF
• FROZEN DOM
HMMM REGRESSION…
CAN’T DETECT 1 – 2 PIXELS CHANGES WITH EYES 
• WHEN YOUR PAGE IS DONE, TAKE A SCREENSHOT OF HOW IT
LOOKS.
• AFTER CHANGES, TAKE ANOTHER SCREENSHOT AND COMPARE
THE DIFFERENCES.
• FUNCTION ( REFERENCE_SNAPSHOT , COMPARISON_SNAPSHOT ){
RETURN RENDERING_ISSUES;
}
IMAGE DIFF TESTING
APPLES VS ORANGES
• BENEFITS
• VISUAL: IT’S DOING WHAT YOU'D DO
• PREDICTABLE: IT'S EASY TO AUTOMATE
• BROWSER AGNOSTIC : ALGORITHM NEEDN’T BE BROWSER SPECIFIC
• LOW DOCUMENTATION : SNAPSHOTS ARE IN THEMSELVES “STATUS LOGS” .
• HELPFUL IN PIXEL PERFECTION.
• INTERNATIONALIZATION : HANDY IN COMPARING PAGES RENDERED IN DIFFERENT
LOCAL.
• PROBLEMS
• NOT SO SMART : A SMALL CHANGE CAN TRIGGER SERIES OF BUGS. IMAGE DIFF
TESTING DOESN’T PIN POINTS TO ROOT CAUSE OF ERROR .
• GETS DIFFICULT FOR MULTIPLE PAGE WEBSITES.
• DOM-UNAWARE: HAS NO REFERENCE TO THE ORIGINAL PAGE STRUCTURE. LACKS
SEMANTIC MEANING.
• EASILY CONFUSED BY ANIMATIONS/MOVING CONTENT. EG. SLIDE-SHOW ,
IMAGE DIFF TESTING
PROS & CONS
• PHANTOM CSS
• HTTP://TLDR.HUDDLE.COM/BLOG/CSS-TESTING/
• NEEDLE
• HTTPS://GITHUB.COM/BFIRSH/NEEDLE
• CSS CRITIC
• HTTPS://GITHUB.COM/CBURGMER/CSSCRITIC
• SCREENSHOT AS A SERVICE
• HTTPS://GITHUB.COM/FZANINOTTO/SCREENSHOT-AS-A-SERVICE
• FACEBOOK’S HUXLEY
• HTTPS://GITHUB.COM/FACEBOOKARCHIVE/HUXLEY
IMAGE DIFF TESTING
TOOLS / FRAMEWORK AVAILABLE
• PHANTOMCSS ( USES CASPER.JS TO TAKE SNAPSHOT & RESEMBLE.JS
TO COMPARE )
• CASPER.START("HTTP://<TESTURL>")
.THEN( FUNCTION (){
CSS.SCREENSHOT('BODY');
})
.THEN( FUNCTION (){
CASPER.PAGE.SENDEVENT('CLICK', 10, 10);
})
.THEN( FUNCTION (){
CSS.SCREENSHOT('BODY');
})
IMAGE DIFF TESTING
CODE SNIPPET
• WHEN YOUR PAGE IS DONE, TAKE A COPY OF THE DOM AND
MEASURE THE STYLES APPLIED. THAT BECOMES YOUR TEST SUITE.
• RUN THE TEST BY USING THE SAME DOM AND YOUR NEW
STYLESHEET. IF THE STYLES NOW ARE THE SAME AS THEY WERE,
IT'S A PASS.
• FUNCTION ( REFERENCE_PAGE , COMPARISON_PAGE ){
RETURN RENDERING_ISSUES;
}
FROZEN DOM
FROZEN DOM
VISUALIZATION
• BENEFITS
• RICH SEMANTIC MEANING. CAN IDENTIFY ROOT CAUSE OF ERROR.
• BETTER HANDLING OF MULTIPLE PAGES. INDIFFERENT TO ANIMATIONS.
• BETTER SUPPORT FOR CONDITIONING .
• PROBLEMS
• BEING DOM AWARE , ITS SUSCEPTIBLE TO BROWSER QUIRKS. ( IE 7,8 ,
• DOESN’T AUTOMATICALLY IGNORE HIDDEN ELEMENTS .
• NO VISUAL REPRESENTATION OF BUGS. SORRY PIXEL PERFECTION.
• LOCALE AGNOSTIC.
FROZEN DOM
PROS & CONS
• CSSUNIT (NOT MAINTAINED)
• HTTPS://GITHUB.COM/GAGARINE/CSSUNIT
• CSS-TEST (NOT MAINTAINED)
• HTTPS://GITHUB.COM/GARETHR/CSS-TEST/
• CSSERT
• HTTP://THINGSINJARS.GITHUB.IO/CSSERT/
• HARDY
• HTTP://HARDY.IO/
• CACTUS
• HTTPS://GITHUB.COM/WINSTON/CACTUS
FROZEN DOM
TOOLS / FRAMEWORK AVAILABLE

More Related Content

Similar to Testing CSS - Front end ops by Arpit Maheshwari

Badneedles
BadneedlesBadneedles
Badneedlesdimisec
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonQA or the Highway
 
Optimizing React at Postmates
Optimizing React at PostmatesOptimizing React at Postmates
Optimizing React at PostmatesTrey Huffine
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSSharePointInstitute
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angularBasarat Syed
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Niels Frydenholm
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfullyTEST Huddle
 
Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToRaymond Camden
 
The what, why and how of web analytics testing
The what, why and how of web analytics testingThe what, why and how of web analytics testing
The what, why and how of web analytics testingAnand Bagmar
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Node.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.jsNode.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.jskiyanwang
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101FITC
 
JAVASCRIPT and JQUERY For Beginner
JAVASCRIPT and JQUERY  For BeginnerJAVASCRIPT and JQUERY  For Beginner
JAVASCRIPT and JQUERY For BeginnerROHIT SHARMA
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 

Similar to Testing CSS - Front end ops by Arpit Maheshwari (20)

Badneedles
BadneedlesBadneedles
Badneedles
 
Automated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave SadlonAutomated Visual Regression Testing by Dave Sadlon
Automated Visual Regression Testing by Dave Sadlon
 
Optimizing React at Postmates
Optimizing React at PostmatesOptimizing React at Postmates
Optimizing React at Postmates
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared To
 
The what, why and how of web analytics testing
The what, why and how of web analytics testingThe what, why and how of web analytics testing
The what, why and how of web analytics testing
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Into the Box 2018 Building a PWA
Into the Box 2018 Building a PWA Into the Box 2018 Building a PWA
Into the Box 2018 Building a PWA
 
Node.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.jsNode.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.js
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101
 
JAVASCRIPT and JQUERY For Beginner
JAVASCRIPT and JQUERY  For BeginnerJAVASCRIPT and JQUERY  For Beginner
JAVASCRIPT and JQUERY For Beginner
 
Automated Browser Testing
Automated Browser TestingAutomated Browser Testing
Automated Browser Testing
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 

Recently uploaded

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 

Recently uploaded (20)

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 

Testing CSS - Front end ops by Arpit Maheshwari

  • 2. BROAD LEVEL WORKFLOW JOURNEY OF A STORY Test locally •Preferred Editor •Preferred Browser Broader testing •Targeted Browser •Targeted Devices Testing on environments •Dev Environment •Production Environment
  • 3. • CODE IN PREFERRED EDITOR • TEST IN PREFERRED BROWSER • IMPROVE & RE-TEST ( TILL YOU ARE SATISFIED ) • TESTING IS GENERALLY MANUAL USING WEB INSPECTORS (SUPPLIED WITH BROWSERS ) • CAN USE SOME TOOLS LIKE • LIVERELOAD (BROWSER PLUGIN ) • CSSLINT (HTTP://CSSLINT.NET/ ) • FIREBUG ( FIREFOX PLUGIN) WHEN A DEV STARTS START SMALL, END USEFUL
  • 4. • TESTING YOUR CODE ACROSS THE TARGETED SPECTRUM OF BROWSERS & DEVICES . • DISTINGUISHING BUGS FROM BROWSER BEHAVIOR. • CONSIDERING PRINCIPLES OF PROGRESSIVE ENHANCEMENT OR GRACEFUL DEGRADATION. (RECOMMENDED ) • WITH GROWTH OF MOBILE DEVICES AND RAPID LAUNCH CYCLES OF BROWSERS , MANUAL TESTING IS BECOMING INCREASINGLY DIFFICULT. • RESPONSIVE WEB DESIGN ALLOWED THE SAME CODEBASE TO BE RENDERED ACROSS PLATFORMS THEREBY INCREASING THE EFFORTS REQUIRED FOR TESTING. CROSS BROWSER TESTING BRANDED AS : WEB CONSISTENCY TESTING
  • 7. • BROWSER STACK • HTTP://WWW.BROWSERSTACK.COM/ • XAMARIN • HTTP://XAMARIN.COM/ • SAUCELABS • HTTPS://SAUCELABS.COM/ • BROWSERA • HTTP://WWW.BROWSERA.COM/ • MOGOTEST ( NOT MAINTAINED ) • HTTPS://BITBUCKET.ORG/MOGOTEST/ CROSS BROWSER TESTING TOOLS AVAILABLE
  • 8. • FOR QAS : DEFINITELY AUTOMATION • ABILITY TO COMPARE DIFFERENT /EVALUATE DIFFERENT BROWSER RENDERINGS ON A COMMON PLATFORM GIVES BETTER/BROADER PERSPECTIVE . • SAVES TIME& EFFORTS. • SOME TOOLS ALSO PROVIDE FEATURE TO REGISTER BUG , TAKE SNAPSHOTS ALONG WITH ENVIRONMENT DETAILS ETC . • FOR DEVS : CREATE YOU OWN HOUSE RULES (MANUAL OR TOOL BASED ) • IN CASE YOU OPT FOR AUTOMATED TOOLS , BE PREPARED TO WAIT FOR A FEW MINUTES TO TEST EVERY CHANGE YOU MAKE. CROSS BROWSER TESTING RECOMMENDED WAY :
  • 9. • TRADITIONALLY DONE MANUALLY . BUT YES , IT CAN BE AUTOMATED . • THERE ARE TWO POPULAR APPROACHES TO AUTOMATE CSS REGRESSION TESTING : • IMAGE DIFF • FROZEN DOM HMMM REGRESSION… CAN’T DETECT 1 – 2 PIXELS CHANGES WITH EYES 
  • 10. • WHEN YOUR PAGE IS DONE, TAKE A SCREENSHOT OF HOW IT LOOKS. • AFTER CHANGES, TAKE ANOTHER SCREENSHOT AND COMPARE THE DIFFERENCES. • FUNCTION ( REFERENCE_SNAPSHOT , COMPARISON_SNAPSHOT ){ RETURN RENDERING_ISSUES; } IMAGE DIFF TESTING APPLES VS ORANGES
  • 11. • BENEFITS • VISUAL: IT’S DOING WHAT YOU'D DO • PREDICTABLE: IT'S EASY TO AUTOMATE • BROWSER AGNOSTIC : ALGORITHM NEEDN’T BE BROWSER SPECIFIC • LOW DOCUMENTATION : SNAPSHOTS ARE IN THEMSELVES “STATUS LOGS” . • HELPFUL IN PIXEL PERFECTION. • INTERNATIONALIZATION : HANDY IN COMPARING PAGES RENDERED IN DIFFERENT LOCAL. • PROBLEMS • NOT SO SMART : A SMALL CHANGE CAN TRIGGER SERIES OF BUGS. IMAGE DIFF TESTING DOESN’T PIN POINTS TO ROOT CAUSE OF ERROR . • GETS DIFFICULT FOR MULTIPLE PAGE WEBSITES. • DOM-UNAWARE: HAS NO REFERENCE TO THE ORIGINAL PAGE STRUCTURE. LACKS SEMANTIC MEANING. • EASILY CONFUSED BY ANIMATIONS/MOVING CONTENT. EG. SLIDE-SHOW , IMAGE DIFF TESTING PROS & CONS
  • 12. • PHANTOM CSS • HTTP://TLDR.HUDDLE.COM/BLOG/CSS-TESTING/ • NEEDLE • HTTPS://GITHUB.COM/BFIRSH/NEEDLE • CSS CRITIC • HTTPS://GITHUB.COM/CBURGMER/CSSCRITIC • SCREENSHOT AS A SERVICE • HTTPS://GITHUB.COM/FZANINOTTO/SCREENSHOT-AS-A-SERVICE • FACEBOOK’S HUXLEY • HTTPS://GITHUB.COM/FACEBOOKARCHIVE/HUXLEY IMAGE DIFF TESTING TOOLS / FRAMEWORK AVAILABLE
  • 13. • PHANTOMCSS ( USES CASPER.JS TO TAKE SNAPSHOT & RESEMBLE.JS TO COMPARE ) • CASPER.START("HTTP://<TESTURL>") .THEN( FUNCTION (){ CSS.SCREENSHOT('BODY'); }) .THEN( FUNCTION (){ CASPER.PAGE.SENDEVENT('CLICK', 10, 10); }) .THEN( FUNCTION (){ CSS.SCREENSHOT('BODY'); }) IMAGE DIFF TESTING CODE SNIPPET
  • 14. • WHEN YOUR PAGE IS DONE, TAKE A COPY OF THE DOM AND MEASURE THE STYLES APPLIED. THAT BECOMES YOUR TEST SUITE. • RUN THE TEST BY USING THE SAME DOM AND YOUR NEW STYLESHEET. IF THE STYLES NOW ARE THE SAME AS THEY WERE, IT'S A PASS. • FUNCTION ( REFERENCE_PAGE , COMPARISON_PAGE ){ RETURN RENDERING_ISSUES; } FROZEN DOM
  • 16. • BENEFITS • RICH SEMANTIC MEANING. CAN IDENTIFY ROOT CAUSE OF ERROR. • BETTER HANDLING OF MULTIPLE PAGES. INDIFFERENT TO ANIMATIONS. • BETTER SUPPORT FOR CONDITIONING . • PROBLEMS • BEING DOM AWARE , ITS SUSCEPTIBLE TO BROWSER QUIRKS. ( IE 7,8 , • DOESN’T AUTOMATICALLY IGNORE HIDDEN ELEMENTS . • NO VISUAL REPRESENTATION OF BUGS. SORRY PIXEL PERFECTION. • LOCALE AGNOSTIC. FROZEN DOM PROS & CONS
  • 17. • CSSUNIT (NOT MAINTAINED) • HTTPS://GITHUB.COM/GAGARINE/CSSUNIT • CSS-TEST (NOT MAINTAINED) • HTTPS://GITHUB.COM/GARETHR/CSS-TEST/ • CSSERT • HTTP://THINGSINJARS.GITHUB.IO/CSSERT/ • HARDY • HTTP://HARDY.IO/ • CACTUS • HTTPS://GITHUB.COM/WINSTON/CACTUS FROZEN DOM TOOLS / FRAMEWORK AVAILABLE