SlideShare a Scribd company logo
1 of 31
WebMate: A Tool for Testing Web 2.0
Applications
OutLine
• Introduction
• Problem Statement
• Key Points
• WebMate Framework
• Challenges (Academic Vs Industrial)
• Advantages
• References
Introduction
• Software testing has became a separate
specialization in IT industry.
• Many techniques have been proposed.
• WebMate (developed by Germans)is one of
the flourishing tool for web app testing.
• Today web apps are enriched on web 2.0 due
to JavaScript.
Problem Statement
• The problem occurs when web applications
don’t grasp same functionalities across
different browsers .
• TestCases were generated manually, by
visually comparing the functionalities.
• Transferring an academic approach on
WebMate into commercial/real world.
Key Points
• Understanding DOM
• Selenium Framework
Understanding DOM
• Document object model
• When a web page is loaded, the browser
creates a Document Object Model of the
page.
• The Document Object Model (DOM) is a
programming interface for HTML and XML
documents
example
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Example Page</h1>
<p>This is an example page.</p>
</body>
</html>
DOM
How Selenium works?
• the client; he tells the taxi driver where he
wants to go and how to get there
• the taxi driver; he executes the client's
requests; the taxi driver sends his own
requests to the car
• the car; the car executes the taxi driver's
requests
Cont…
• test engineer that writes the automation
code; the automation code sends requests to
the browser driver component
• the browser driver component; it executes
the test engineer requests; it sends its own
request to the browser
• the browser; it executes the browser driver
requests
Previous Work Limitations
• More than one release cycle of web app
causes problem in writing TestCases.
• When any element changed during extraction
of states the whole test suite breaks.
• No proper refactoring tool.
• Such tests were analyzed manually by screen
shots in oracle part of testing or ignored
sometimes.
WebMate
• A tool for automatically generating TesCases.
• It automatically explores the functionalities of
web applications.
• Detects differences across multiple browser as
well as different release cycle of same
application.
Cont..
Functionalities
• Employs Selenium Framework to remote
control browser.
• Trigger actions.
• Inspects current DOM states.
• Automatic analysis and reporting .
Cont..(How WebMate works?)
• Enter URL as input
• WebMate analyzes web app and learns usage
model.
• That Usage Model allows to run different
analysis such as cross-browser compatibility
checks.
• Results of analysis then can be reported back
to the user.
Cont..(cont..)
Cont..(Usage Model)
• After extraction of DOM states by triggering
actions WebMate generates usage model of
user interaction.
• It is a graph where nodes correspond to states
of the application, and a transition represents
a single interaction with the application.
Cont..
• When WebMate learns the usage model there
will be an oracle suit for compatibility analysis.
• This incorporate the automatic decision that
either the given behavior correct or not and
exactable or not.
• Reference browser was baseline.
• WebMate generates test and replay them in
different browsers.
• Then highlights the differences.
Cont.. Replaying tests
Cont..Sample Reported Output
Challenges(Research approach Vs
Industrial/Real World)
• In research prototype authors wanted tool to
be implemented as expected easily.
• In real life there would be a market for
consulting services in which assembling of
pilot customers were compulsory.
Cont..
Identifying User Elements
• In research approach authors only
implemented analysis for DOM, JQuery and
prototype event handlers.
• While in Real life there is a huge amount of
different programming techniques.
Cont..
Identifying Application States
• WebMate can explore the visible and active
user interface elements rather than exploring
other unnecessary application states.
• Industrially this factor was almost covered
academically. Now WebMate can supports
number of state abstractions.
Cont..
User input and authentication
• Initially WebMate has hard coded login
procedure for Web sites in which combination
of username/password was given to access
the next page.
• In real life there were many input forms such
as ZIP code entry etc, this was then again
covered by Customization.
Cont..
Oracles
• If sequence of User Interaction results in
different set of user interface elements,
WebMate will report that.
• WebMate to be ready for real world latter
allowed to handle HTTP errors, Elements
positioning, browser crash report errors.
Cont..
Security
• There is a security threat for WebMate that it
couldn’t be install on server that’s why used as
appliance (intranet) in real life.
Advantages
• Provide better exploration than CrawlJax
• Uses existing Selenium framework.
• Maximize coverage and least states.
References
• V. Dallmeier, M. Burger, T. Orth, and A. Zeller,
“Webmate: Generating test cases for web 2.0,” in
Software Quality. Increasing Value in Software and
Systems Development. Springer, Jan. 2013, pp. 55–69.
• https://www.smashingmagazine.com/2009/03/40-
stand-alone-javascript-libraries-for-specific-purposes/
• https://www.quora.com/How-does-the-Selenium-
WebDriver-work
• https://www.w3.org/TR/DOM-Level-2-
Core/introduction.html

More Related Content

What's hot

Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architectureravindraquicsolv
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentationBhavin Shah
 
Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Jennie Gajjar
 
Asp.net MVC training session
Asp.net MVC training sessionAsp.net MVC training session
Asp.net MVC training sessionHrichi Mohamed
 
Asp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantAsp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantNitin Sawant
 
ASP.NET MVC.
ASP.NET MVC.ASP.NET MVC.
ASP.NET MVC.Ni
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015Hossein Zahed
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentationivpol
 
Programming and the web for beginners
Programming and the web for beginnersProgramming and the web for beginners
Programming and the web for beginnersSon Nguyen
 
Dot net interview questions and asnwers
Dot net interview questions and asnwersDot net interview questions and asnwers
Dot net interview questions and asnwerskavinilavuG
 
Web testing
Web testingWeb testing
Web testingMaveryx
 
Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»
Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»
Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»LogeekNightUkraine
 

What's hot (20)

Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architecture
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentation
 
What is MVC?
What is MVC?What is MVC?
What is MVC?
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
ASP .net MVC
ASP .net MVCASP .net MVC
ASP .net MVC
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
Asp.net MVC training session
Asp.net MVC training sessionAsp.net MVC training session
Asp.net MVC training session
 
Mvc4
Mvc4Mvc4
Mvc4
 
Asp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantAsp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin Sawant
 
ASP.NET MVC.
ASP.NET MVC.ASP.NET MVC.
ASP.NET MVC.
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
Programming and the web for beginners
Programming and the web for beginnersProgramming and the web for beginners
Programming and the web for beginners
 
Dot net interview questions and asnwers
Dot net interview questions and asnwersDot net interview questions and asnwers
Dot net interview questions and asnwers
 
Web testing
Web testingWeb testing
Web testing
 
Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»
Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»
Ivan Danilov «Desktop Application Automation: .NET Developer’s Perspective»
 

Similar to WebMate: A Tool for Testing Web 2.0 Applications

Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka Yashantha
 
ReactJS - Re-rendering pages in the age of the mutable DOM
ReactJS - Re-rendering pages in the age of the mutable DOMReactJS - Re-rendering pages in the age of the mutable DOM
ReactJS - Re-rendering pages in the age of the mutable DOMMarc Cyr
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Jeremy Likness
 
Mcv design patterns
Mcv design patternsMcv design patterns
Mcv design patternsRob Paok
 
Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with reduxMike Melusky
 
Web Atoms - More Markup - Less Script
Web Atoms - More Markup - Less ScriptWeb Atoms - More Markup - Less Script
Web Atoms - More Markup - Less ScriptAkash Kava
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net coreSam Nasr, MCSA, MVP
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentalsGopal Ji Singh
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...WebStackAcademy
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conferencedmethvin
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...Edureka!
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook ApplicationsWO Community
 
Power up your Project Sites - SPS New Hampshire 2015
Power up your Project Sites - SPS New Hampshire 2015Power up your Project Sites - SPS New Hampshire 2015
Power up your Project Sites - SPS New Hampshire 2015bgerman
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework DevelopementGlasdon Falcao
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Theo Jungeblut
 

Similar to WebMate: A Tool for Testing Web 2.0 Applications (20)

Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
ReactJS - Re-rendering pages in the age of the mutable DOM
ReactJS - Re-rendering pages in the age of the mutable DOMReactJS - Re-rendering pages in the age of the mutable DOM
ReactJS - Re-rendering pages in the age of the mutable DOM
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Mcv design patterns
Mcv design patternsMcv design patterns
Mcv design patterns
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
 
Introduction to react native with redux
Introduction to react native with reduxIntroduction to react native with redux
Introduction to react native with redux
 
Web Atoms - More Markup - Less Script
Web Atoms - More Markup - Less ScriptWeb Atoms - More Markup - Less Script
Web Atoms - More Markup - Less Script
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
 
Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook Applications
 
Power up your Project Sites - SPS New Hampshire 2015
Power up your Project Sites - SPS New Hampshire 2015Power up your Project Sites - SPS New Hampshire 2015
Power up your Project Sites - SPS New Hampshire 2015
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
 
Ob Essay
Ob EssayOb Essay
Ob Essay
 
Meteor meetup
Meteor meetupMeteor meetup
Meteor meetup
 

More from AnwarrChaudary

Intro to Data warehousing lecture 20
Intro to Data warehousing   lecture 20Intro to Data warehousing   lecture 20
Intro to Data warehousing lecture 20AnwarrChaudary
 
Intro to Data warehousing lecture 19
Intro to Data warehousing   lecture 19Intro to Data warehousing   lecture 19
Intro to Data warehousing lecture 19AnwarrChaudary
 
Intro to Data warehousing lecture 18
Intro to Data warehousing   lecture 18Intro to Data warehousing   lecture 18
Intro to Data warehousing lecture 18AnwarrChaudary
 
Intro to Data warehousing lecture 17
Intro to Data warehousing   lecture 17Intro to Data warehousing   lecture 17
Intro to Data warehousing lecture 17AnwarrChaudary
 
Intro to Data warehousing lecture 16
Intro to Data warehousing   lecture 16Intro to Data warehousing   lecture 16
Intro to Data warehousing lecture 16AnwarrChaudary
 
Intro to Data warehousing lecture 15
Intro to Data warehousing   lecture 15Intro to Data warehousing   lecture 15
Intro to Data warehousing lecture 15AnwarrChaudary
 
Intro to Data warehousing lecture 14
Intro to Data warehousing   lecture 14Intro to Data warehousing   lecture 14
Intro to Data warehousing lecture 14AnwarrChaudary
 
Intro to Data warehousing lecture 13
Intro to Data warehousing   lecture 13Intro to Data warehousing   lecture 13
Intro to Data warehousing lecture 13AnwarrChaudary
 
Intro to Data warehousing lecture 12
Intro to Data warehousing   lecture 12Intro to Data warehousing   lecture 12
Intro to Data warehousing lecture 12AnwarrChaudary
 
Intro to Data warehousing lecture 11
Intro to Data warehousing   lecture 11Intro to Data warehousing   lecture 11
Intro to Data warehousing lecture 11AnwarrChaudary
 
Intro to Data warehousing lecture 10
Intro to Data warehousing   lecture 10Intro to Data warehousing   lecture 10
Intro to Data warehousing lecture 10AnwarrChaudary
 
Intro to Data warehousing lecture 09
Intro to Data warehousing   lecture 09Intro to Data warehousing   lecture 09
Intro to Data warehousing lecture 09AnwarrChaudary
 
Intro to Data warehousing lecture 08
Intro to Data warehousing   lecture 08Intro to Data warehousing   lecture 08
Intro to Data warehousing lecture 08AnwarrChaudary
 
Intro to Data warehousing lecture 07
Intro to Data warehousing   lecture 07Intro to Data warehousing   lecture 07
Intro to Data warehousing lecture 07AnwarrChaudary
 
Intro to Data warehousing Lecture 06
Intro to Data warehousing   Lecture 06Intro to Data warehousing   Lecture 06
Intro to Data warehousing Lecture 06AnwarrChaudary
 
Intro to Data warehousing lecture 05
Intro to Data warehousing   lecture 05Intro to Data warehousing   lecture 05
Intro to Data warehousing lecture 05AnwarrChaudary
 
Intro to Data warehousing Lecture 04
Intro to Data warehousing   Lecture 04Intro to Data warehousing   Lecture 04
Intro to Data warehousing Lecture 04AnwarrChaudary
 
Intro to Data warehousing lecture 03
Intro to Data warehousing   lecture 03Intro to Data warehousing   lecture 03
Intro to Data warehousing lecture 03AnwarrChaudary
 
Intro to Data warehousing lecture 02
Intro to Data warehousing   lecture 02Intro to Data warehousing   lecture 02
Intro to Data warehousing lecture 02AnwarrChaudary
 
Introduction to Data Warehouse
Introduction to Data WarehouseIntroduction to Data Warehouse
Introduction to Data WarehouseAnwarrChaudary
 

More from AnwarrChaudary (20)

Intro to Data warehousing lecture 20
Intro to Data warehousing   lecture 20Intro to Data warehousing   lecture 20
Intro to Data warehousing lecture 20
 
Intro to Data warehousing lecture 19
Intro to Data warehousing   lecture 19Intro to Data warehousing   lecture 19
Intro to Data warehousing lecture 19
 
Intro to Data warehousing lecture 18
Intro to Data warehousing   lecture 18Intro to Data warehousing   lecture 18
Intro to Data warehousing lecture 18
 
Intro to Data warehousing lecture 17
Intro to Data warehousing   lecture 17Intro to Data warehousing   lecture 17
Intro to Data warehousing lecture 17
 
Intro to Data warehousing lecture 16
Intro to Data warehousing   lecture 16Intro to Data warehousing   lecture 16
Intro to Data warehousing lecture 16
 
Intro to Data warehousing lecture 15
Intro to Data warehousing   lecture 15Intro to Data warehousing   lecture 15
Intro to Data warehousing lecture 15
 
Intro to Data warehousing lecture 14
Intro to Data warehousing   lecture 14Intro to Data warehousing   lecture 14
Intro to Data warehousing lecture 14
 
Intro to Data warehousing lecture 13
Intro to Data warehousing   lecture 13Intro to Data warehousing   lecture 13
Intro to Data warehousing lecture 13
 
Intro to Data warehousing lecture 12
Intro to Data warehousing   lecture 12Intro to Data warehousing   lecture 12
Intro to Data warehousing lecture 12
 
Intro to Data warehousing lecture 11
Intro to Data warehousing   lecture 11Intro to Data warehousing   lecture 11
Intro to Data warehousing lecture 11
 
Intro to Data warehousing lecture 10
Intro to Data warehousing   lecture 10Intro to Data warehousing   lecture 10
Intro to Data warehousing lecture 10
 
Intro to Data warehousing lecture 09
Intro to Data warehousing   lecture 09Intro to Data warehousing   lecture 09
Intro to Data warehousing lecture 09
 
Intro to Data warehousing lecture 08
Intro to Data warehousing   lecture 08Intro to Data warehousing   lecture 08
Intro to Data warehousing lecture 08
 
Intro to Data warehousing lecture 07
Intro to Data warehousing   lecture 07Intro to Data warehousing   lecture 07
Intro to Data warehousing lecture 07
 
Intro to Data warehousing Lecture 06
Intro to Data warehousing   Lecture 06Intro to Data warehousing   Lecture 06
Intro to Data warehousing Lecture 06
 
Intro to Data warehousing lecture 05
Intro to Data warehousing   lecture 05Intro to Data warehousing   lecture 05
Intro to Data warehousing lecture 05
 
Intro to Data warehousing Lecture 04
Intro to Data warehousing   Lecture 04Intro to Data warehousing   Lecture 04
Intro to Data warehousing Lecture 04
 
Intro to Data warehousing lecture 03
Intro to Data warehousing   lecture 03Intro to Data warehousing   lecture 03
Intro to Data warehousing lecture 03
 
Intro to Data warehousing lecture 02
Intro to Data warehousing   lecture 02Intro to Data warehousing   lecture 02
Intro to Data warehousing lecture 02
 
Introduction to Data Warehouse
Introduction to Data WarehouseIntroduction to Data Warehouse
Introduction to Data Warehouse
 

Recently uploaded

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 

Recently uploaded (20)

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 

WebMate: A Tool for Testing Web 2.0 Applications

  • 1. WebMate: A Tool for Testing Web 2.0 Applications
  • 2. OutLine • Introduction • Problem Statement • Key Points • WebMate Framework • Challenges (Academic Vs Industrial) • Advantages • References
  • 3. Introduction • Software testing has became a separate specialization in IT industry. • Many techniques have been proposed. • WebMate (developed by Germans)is one of the flourishing tool for web app testing. • Today web apps are enriched on web 2.0 due to JavaScript.
  • 4. Problem Statement • The problem occurs when web applications don’t grasp same functionalities across different browsers . • TestCases were generated manually, by visually comparing the functionalities. • Transferring an academic approach on WebMate into commercial/real world.
  • 5. Key Points • Understanding DOM • Selenium Framework
  • 6. Understanding DOM • Document object model • When a web page is loaded, the browser creates a Document Object Model of the page. • The Document Object Model (DOM) is a programming interface for HTML and XML documents
  • 8. DOM
  • 9. How Selenium works? • the client; he tells the taxi driver where he wants to go and how to get there • the taxi driver; he executes the client's requests; the taxi driver sends his own requests to the car • the car; the car executes the taxi driver's requests
  • 10.
  • 11. Cont… • test engineer that writes the automation code; the automation code sends requests to the browser driver component • the browser driver component; it executes the test engineer requests; it sends its own request to the browser • the browser; it executes the browser driver requests
  • 12.
  • 13.
  • 14. Previous Work Limitations • More than one release cycle of web app causes problem in writing TestCases. • When any element changed during extraction of states the whole test suite breaks. • No proper refactoring tool. • Such tests were analyzed manually by screen shots in oracle part of testing or ignored sometimes.
  • 15. WebMate • A tool for automatically generating TesCases. • It automatically explores the functionalities of web applications. • Detects differences across multiple browser as well as different release cycle of same application.
  • 16. Cont.. Functionalities • Employs Selenium Framework to remote control browser. • Trigger actions. • Inspects current DOM states. • Automatic analysis and reporting .
  • 17. Cont..(How WebMate works?) • Enter URL as input • WebMate analyzes web app and learns usage model. • That Usage Model allows to run different analysis such as cross-browser compatibility checks. • Results of analysis then can be reported back to the user.
  • 19. Cont..(Usage Model) • After extraction of DOM states by triggering actions WebMate generates usage model of user interaction. • It is a graph where nodes correspond to states of the application, and a transition represents a single interaction with the application.
  • 20.
  • 21. Cont.. • When WebMate learns the usage model there will be an oracle suit for compatibility analysis. • This incorporate the automatic decision that either the given behavior correct or not and exactable or not. • Reference browser was baseline. • WebMate generates test and replay them in different browsers. • Then highlights the differences.
  • 24. Challenges(Research approach Vs Industrial/Real World) • In research prototype authors wanted tool to be implemented as expected easily. • In real life there would be a market for consulting services in which assembling of pilot customers were compulsory.
  • 25. Cont.. Identifying User Elements • In research approach authors only implemented analysis for DOM, JQuery and prototype event handlers. • While in Real life there is a huge amount of different programming techniques.
  • 26. Cont.. Identifying Application States • WebMate can explore the visible and active user interface elements rather than exploring other unnecessary application states. • Industrially this factor was almost covered academically. Now WebMate can supports number of state abstractions.
  • 27. Cont.. User input and authentication • Initially WebMate has hard coded login procedure for Web sites in which combination of username/password was given to access the next page. • In real life there were many input forms such as ZIP code entry etc, this was then again covered by Customization.
  • 28. Cont.. Oracles • If sequence of User Interaction results in different set of user interface elements, WebMate will report that. • WebMate to be ready for real world latter allowed to handle HTTP errors, Elements positioning, browser crash report errors.
  • 29. Cont.. Security • There is a security threat for WebMate that it couldn’t be install on server that’s why used as appliance (intranet) in real life.
  • 30. Advantages • Provide better exploration than CrawlJax • Uses existing Selenium framework. • Maximize coverage and least states.
  • 31. References • V. Dallmeier, M. Burger, T. Orth, and A. Zeller, “Webmate: Generating test cases for web 2.0,” in Software Quality. Increasing Value in Software and Systems Development. Springer, Jan. 2013, pp. 55–69. • https://www.smashingmagazine.com/2009/03/40- stand-alone-javascript-libraries-for-specific-purposes/ • https://www.quora.com/How-does-the-Selenium- WebDriver-work • https://www.w3.org/TR/DOM-Level-2- Core/introduction.html