SlideShare a Scribd company logo
HELLO!
I am Sang Bui
I am here because I want to learn
E: sangbui@digitest.vn
S: thanhsang.skype
W: sangbui.com
L: https://vn.linkedin.com/in/buithanhsang
1. BROWSER ARCHITECTURE
2. CROSS BROWSER TESTING
3. CLIENT SIDE BYPASS TESTING
ABOUT MY CURRENT PROJECT
“Testing multiple browsers on
multiple platforms”
LAYOUT DEFECT
FUNCTION DEFECT
FUNCTION DEFECT
https://www.linkedin.com/shareArticle?mini=true&url=https%3a%2
f%2fwww.abglobal.com%2fdefined-contribution%2fus%2finside-
the-minds-of-plan-participant.htm&title=I took AB’s Investor
Survey and found out I am a CAPABLE, CONFIDENT
INVESTOR&summary=AB queried over 1,000 US workers to help
understand their behavior and attitude toward investing for
retirement. Some of the results were surprising. Take the survey
yourself and find out what type of investor you are.
WHAT IS THE DIFFERENCE
BETWEEN THESE BROWSERS?
BROWSER
ARCHITECTURE
WHAT’S THE BROWSER?
The browser main functionality is to
present the web resource you choose,
by requesting it from the server and
displaying it on the browser window.
The resource format is usually HTML
but also PDF, image and more.
WHAT’S THE BROWSER?
BROWSER ARCHITECTURE
User Interface
Browser Engine
Rendering Engine
Networking
JavaScript
Interpreter
Display
Backend
Data
persistence
Dependency
USER INTERFACE
The space where interaction between users and
the browser.
Most of the browsers have common inputs for
user interface:
• Address bar.
• Next and back buttons.
• Buttons for home, refresh and stop
• Bookmark web pages
• …etc.
BrowserArchitecture_ClientSide.pptx
BROWSER ENGINE
The bridge between
User Interface & Rendering Engine
User Interface
Browser Engine
Rendering Engine
BROWSER ENGINE
Browser Engine provides methods to begin
the loading of URL and other high-level
browsing actions.
- Reload, Back, Forward actions
- Error messages
- Loading progress
RENDERING ENGINE
Rendering Engine interprets (render) the HTML,
XML, JavaScript and generates the layout that
is displayed in the User Interface.
Key component of this phase is HTML, CSS
parse.
This is a reasons why the browser display a
website so difference.
NETWORKING
Access and transfer data on the internet
(calls HTTP, HTTPS, FTP).
The Networking components handles all
aspects of internet communication or
security.
JAVASCRIPT INTERPRETER
Component parse & executes the JavaScript
that is embedded in the website.
Results of the execution a passed to the
Rendering Engines for display.
DISPLAY BACKEND
Display common UI components.
Drawing basic widgets like combo boxes,
windows.
DATA PERSISTENCE
Storing the data on the client side.
- Cookies.
- Cache.
LOOK BACK AGAIN!
User Interface
Browser Engine
Rendering Engine
Networking
JavaScript
Interpreter
Display
Backend
Data
persistence
Dependency
FIREFOX ARCHITECTURE
CHROME’S ARCHITECTURE
IE ARCHITECTURE
THE RENDERING ENGINE
Different browser use different
rendering engines
THE BASIC FLOW OF
RENDERING ENGINE
1. Parsing HTML to construct the DOM
2. Render tree construction
3. Layout of the render tree
4. Paint the render tree
1. HTML PARSER DOINGS
Parses input HTML tag
Fixes developer mistakes
Request to load resource
Constructs DOM tree
HTML PARSER DOINGS
<HTML>
<BODY>
<P>
TEXT
<DIV>
<IMG>
Parsing HTML to construct the DOM
2. RENDER TREE CONSTRUCTION
• Tree of visual elements in display order.
• Style information, computed metrics
• Shadow DOM tree
RENDER TREE CONSTRUCTION
3. LAYOUT THE RENDER TREE
What is Layout process?
• Calculation of geometry and position
•Flow based model (left-to-right, top-to-
bottom)
•Coordinate system relative to top left
coordinates
4. PAINTING
Go through the tree from the root
Global and Incremental paint
Painting order (CSS2):
– background colour
– background image
– border
– …
Changes style will cause restyle and repaint of
the element. Changes of position will cause re-
layout and repaint.
LOOK BACK THE BASIC FLOW!
Mozilla's Gecko
WEBKIT main flow
DIFFERENT BROWSER USE
DIFFERENT RENDERING ENGINES
IN DIFFERENT WAYS
QUIZ
PARSING HTML TO CONSTRUCT THE DOM
<HTML>
<BODY>
Text
<P>
<IMG>
SRC
<DIV>
<P>
Text
CROSSING BROWSER TESTING
•Cross browser testing is a process to test
the web application across multiple browsers.
•Check compatibility of web in multiple
browsers & make sure that web application
works correctly.
•Involves testing both client side and server
side behavior of application.
TEST THE WEB
APPLICATION ACROSS
MULTIPLE BROWSERS?
EXHAUSTIVE TESTING
Exhaustive Testing (Test everything) is Impossible.
Instead of exhaustive testing, Risk analysis and
Priorities should be used to focus testing efforts.
Based on:
- Know your audience
- Decide the platform you will support
- How much you can test
- Trending
TRENDING
BrowserArchitecture_ClientSide.pptx
BrowserArchitecture_ClientSide.pptx
HOW TO SET UP A ENVIRONMENT
VirtualBox: Modern.ie:
(Support IE6 – MS Edge)
https://www.virtualbox.org/wiki/Downloads
https://dev.modern.ie/tools/vms/windows/
IE Tab: Chrome & Firefox. Support IE 7,8,9
Tools:
• www.browseemall.com
• https://crossbrowsertesting.com
• https://saucelabs.com
• https://www.browserstack.com
SAFARI BROWSER
BrowserArchitecture_ClientSide.pptx
QUIZ
Chrome latest
Chrome 46
Chrome 44
Firefox latest
Firefox 45
Firefox 43
Firefox 42
IE Edge
IE 11
IE 10
Safari latest
Android browser latest
How to setup this requirements:
ANSWER
Chrome latest
Firefox latest
IE Edge
Android
browser latest
Chrome 46
Firefox 45
IE 11
Chrome 44
Firefox 43
IE 10
Safari latest
Firefox 42
CHECK SUPPORTED CODE
http://fmbip.com/
http://www.browseemall.com/Compatibility/ValidateHTML
https://www.browseemall.com/Resources
https://html5test.com/
https://html5test.com/compare/browser/index.html
CLIENT-SIDE TESTING
Hey! Wake up.
CLIENT VALIDATION
CLIENT SIDE TESTING
Client-Side testing is concerned with the
execution of code on the client, typically
natively within a web browser or
browser plugin.
BYPASS CLIENT-SIDE
• Disabling JavaScript in the browser
• Using a browser tool (ex: Firebug)
• Using a proxy tool like WebScarab or Tamper
Data to intercept any submitted data and
manipulate it before sending it on to the server.
PRACTICE ISSUES
• HTML input required Attribute
• HTML input maxlength Attribute
• Check upload file format
• Check locked/security content
http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_required
http://www.w3schools.com/tags/att_input_maxlength.asp
http://demo.byonepress.com/premium/sl-wp/
TAMPER DATA
Download: https://addons.mozilla.org/en-US/firefox/addon/tamper-data/
“PLAY WITH THE CLIENT-SIDE”
REFERENCES
https://msdn.microsoft.com/en-us/library/aa741312%28v=vs.85%29.aspx
http://www.lxway.com/599268602.htm
http://taligarsiel.com/Projects/howbrowserswork1.htm
http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
https://lab.cs.ru.nl/laquso/Reliability_of_Google_Chrome
http://sangbui.com/thong-ke-trinh-duyet-su-dung-o-viet-nam/
http://blog.kloud.com.au/2014/05/02/cross-platform-testing-myths-vs-
mysteries/
https://www.owasp.org/index.php/Client_Side_Testing
THANK YOU
Q&A

More Related Content

PDF
BrowserArchitecture_ClientSide.pdf
PDF
Ultimate Guide to Cross Browser Testing
PDF
How browsers work landscape
PDF
Architecture of the Web browser
PDF
Know All About Cross Browser Compatibility Testing.pdf
PDF
Know All About Cross Browser Compatibility Testing.pdf
PPTX
Web browser architecture
PDF
Cross Browser Compatibility Testing - A Complete Guide.pdf
BrowserArchitecture_ClientSide.pdf
Ultimate Guide to Cross Browser Testing
How browsers work landscape
Architecture of the Web browser
Know All About Cross Browser Compatibility Testing.pdf
Know All About Cross Browser Compatibility Testing.pdf
Web browser architecture
Cross Browser Compatibility Testing - A Complete Guide.pdf

Similar to BrowserArchitecture_ClientSide.pptx (20)

DOCX
How Browsers Work -By Tali Garsiel and Paul Irish
PPTX
Type Cross browsers testing
PDF
How browser work
PPT
Lecture 1 (2)
PDF
Neoito — How modern browsers work
PPT
How to do better Quality Assurance for Cross-Browser Testing
PPTX
Web browser - How web browsers work?
PPTX
Module 4 Accessing the Internet
PDF
Flourish2011
PPT
Web browser
PDF
Front end for back end developers
PDF
East of Toronto .NET Usergroup - Put the 5 in HTML
PPTX
Cross browser web development
PDF
Building Web Sites that Work Everywhere
PDF
An Intro to Mobile HTML5
PPTX
Web topic 26 browser compatibilty and security
PDF
HTML5 Technical Executive Summary
PDF
IRJET- A Personalized Web Browser
PDF
IRJET- A Personalized Web Browser
PPTX
Guide To Effective Cross Browser Testing
How Browsers Work -By Tali Garsiel and Paul Irish
Type Cross browsers testing
How browser work
Lecture 1 (2)
Neoito — How modern browsers work
How to do better Quality Assurance for Cross-Browser Testing
Web browser - How web browsers work?
Module 4 Accessing the Internet
Flourish2011
Web browser
Front end for back end developers
East of Toronto .NET Usergroup - Put the 5 in HTML
Cross browser web development
Building Web Sites that Work Everywhere
An Intro to Mobile HTML5
Web topic 26 browser compatibilty and security
HTML5 Technical Executive Summary
IRJET- A Personalized Web Browser
IRJET- A Personalized Web Browser
Guide To Effective Cross Browser Testing
Ad

Recently uploaded (20)

PPTX
ESD MODULE-5hdbdhbdbdbdbbdbdbbdndbdbdbdbbdbd
PPTX
Discovering the LMA Course by Tim Han.pptx
DOCX
How to Become a Criminal Profiler or Behavioural Analyst.docx
PPTX
OCCULAR MANIFESTATIONS IN LEPROSY.pptx bbb
PPTX
Overview Planner of Soft Skills in a single ppt
PDF
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
PPTX
E-Commerce____Intermediate_Presentation.pptx
PPTX
microtomy kkk. presenting to cryst in gl
PPTX
cse couse aefrfrqewrbqwrgbqgvq2w3vqbvq23rbgw3rnw345
PPTX
internship presentation of bsnl in colllege
PDF
MCQ Practice CBT OL Official Language 1.pptx.pdf
PPTX
Cerebral_Palsy_Detailed_Presentation.pptx
PDF
Blue-Modern-Elegant-Presentation (1).pdf
PDF
Josh Gao Strength to Strength Book Summary
PPTX
Definition and Relation of Food Science( Lecture1).pptx
PPTX
PMP (Project Management Professional) course prepares individuals
PPTX
Surgical thesis protocol formation ppt.pptx
DOCX
mcsp232projectguidelinesjan2023 (1).docx
PDF
esg-supply-chain-webinar-nov2018hkhkkh.pdf
PPTX
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
ESD MODULE-5hdbdhbdbdbdbbdbdbbdndbdbdbdbbdbd
Discovering the LMA Course by Tim Han.pptx
How to Become a Criminal Profiler or Behavioural Analyst.docx
OCCULAR MANIFESTATIONS IN LEPROSY.pptx bbb
Overview Planner of Soft Skills in a single ppt
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
E-Commerce____Intermediate_Presentation.pptx
microtomy kkk. presenting to cryst in gl
cse couse aefrfrqewrbqwrgbqgvq2w3vqbvq23rbgw3rnw345
internship presentation of bsnl in colllege
MCQ Practice CBT OL Official Language 1.pptx.pdf
Cerebral_Palsy_Detailed_Presentation.pptx
Blue-Modern-Elegant-Presentation (1).pdf
Josh Gao Strength to Strength Book Summary
Definition and Relation of Food Science( Lecture1).pptx
PMP (Project Management Professional) course prepares individuals
Surgical thesis protocol formation ppt.pptx
mcsp232projectguidelinesjan2023 (1).docx
esg-supply-chain-webinar-nov2018hkhkkh.pdf
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
Ad

BrowserArchitecture_ClientSide.pptx