SlideShare a Scribd company logo
  A.RESWIN RODRIQUEZ Reg No. 070927009 M.Tech. Network Engineering Dept of Information & Communication Technology Manipal Institute of Technology . DESIGN AND IMPLEMENTATION OF WEB SERVICE TESTING FRAMEWORK Under the Guidance of Balachandra   Sujit Kumar Chakrabarti, Senior Lecturer, Senior Scientist, Manipal Institute of Technology, Philips Electronics India Ltd, Manipal.  Bangalore. E-mail:sujit.chakrabarti@philips.com.
What is a web service? Web services are software's that are designed to provide interoperable machine to machine communication over a network. Web services are also called programmable web. The web service client parses the response xml and extracts the necessary information from it, as xml are well structured. A machine doesn’t care about layout and styling. Machines basically just need the data.
Web Service contd. When a machine or web service client makes GET on a resource, it will ask for the machine readable one. When a browser makes GET on a resource for a human, it will ask for the human readable one. Eg:A part of the response from a web service to find the details of a book would look like <productname>RESTful Web service</productname> <catalog>Book</catalog> <author>Lenard and Sam</author> <releasedate>01,may2007<releasedate> Normal applications are not distributed, but web services are distributed.
RESTful Web services REST stands for Representational State Transfer. Its is an architectural style of implementing web service. In REST all the resources are uniquely identified by a URI. It has uniform form Interface  (CRUD operation). CRUD – CREATE,READ,UPDATE,DELETE. In RESTful service the interactions are stateless. For example the services expose by the RESTful web service are described in a machine process able language called WADL (Web Application Description Language).
RESTful Web services Example A RESTful web service is a simple web service implemented using HTTP and with the principles of REST. It is a collection of Resources. For example if a RESTful web service presenting a collection of cars for sale might have the URI as  “ http://example.com/resources/cars ”. If the service uses the car registration number as the ID then a particular car might be present in the collection as   “ http://example.com/resources/cars/yxz123 ”.
WADL WADL stands for Web Application Description Language. WADL is a Resource centric description language. It is a well formed XML file. WADL provides a machine process-able description of the services exposed by the web service.
WADL Example <?xml version=&quot;1.0&quot;?> <!-- This is a Example of a WADL . --> <application xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot;> <resources base=&quot;https://api.del.icio.us/&quot;>   <resource path=&quot;Search&quot;> <method href =&quot;#end&quot;/> </resource> </resources > <!-- Methods-->  <method name=&quot;GET&quot; id=&quot;end&quot;> <request> <query_variable name=&quot;id&quot; type=&quot;xsd:int&quot; required=&quot;true&quot;/> </request > <response> <representation mediaType=&quot;application/xml&quot; element=&quot;result&quot;/> <fault id=&quot;SearchError&quot; status=&quot;400&quot;  mediaType=&quot;application/xml&quot;  element=&quot;error&quot;/> </response> </method> </application>
Connectedness Connectedness means the ability to navigate from one resource to the other by following the links. The links are the URI of the resource that connect one resource to the other . Placement of the URI should be intuitive.
Connectedness Example Suppose R1,R2,R3 are resources. R1,R2,R3 have unique URI representing a resource. If R1,R2,R3 are reachable following the URI from the base resource R, then web service is connected.
Connectedness-Testing R1,R2,R3,R4 are resources. A graph with URI of the resources as Nodes and connectivity between the resources as their Edges. R R1 R2 R3 R4
Connectedness-Testing A reference list is a collection of all URI present on a web service. Check if all the URI’s present in the reference list are present in the graph.
Problem of Reference List Generation Reference List  is generated from the WADL. WADL document does not contain the sufficient  information. Whether a resource already exist or not. i.e. are the resources already posted?
Insufficient Information in WADL WADL specification does not contains the necessary information to test the connectedness of the RESTful web service. Information about already posted resources are not present in the WADL specification. Certain changes have to be incorporated into WADl Document.
Enhancement to WADL List of proposed changes to  WADL. ‘target’ element is added under ‘method’ element. The ‘ target ’ element has an attributes called ‘ id ’. <target id = “#user” /> <target id =”#article” />
Enhancement Contd.. ‘resource’ element  adds an attribute called ‘id’ which corresponds to the ‘id’ attribute of ‘target’ element. <resource path = “eblog/{x}”  id = “#user>
Example :eblog WADL  <?xml version=&quot;1.0&quot;?> <application xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot;> <resources base=&quot;http://localhost:8282/&quot;> <resource path=&quot;eblog&quot; id = &quot;#blog&quot;> <method href =&quot;#Postblog&quot;/> </resource> <resource path=&quot;eblog/{x}&quot; id = &quot;#user&quot;> <method href =&quot;#Postarticle&quot;/> </resource> <resource path=&quot;eblog/{x}/{y}&quot; id = &quot;#article&quot;> </resource> </resources > <!-- Methods--> <method name=&quot;POST&quot; id=&quot;Postblog&quot;> <request> <query_variable name=&quot;user&quot; type=&quot;xsd:string&quot; value =&quot;{x}&quot; required=&quot;true&quot;/> <target id =&quot;#user&quot;/> </request> <response>   <representation mediaType=&quot;application/xml&quot; element=&quot;result&quot;/> <fault id=&quot;SearchError&quot; status=&quot;400&quot; mediaType=&quot;application/xml&quot; element=&quot;error&quot;/> </response> </method> <method name=&quot;POST&quot; id=&quot;Postarticle&quot;> <request> <target id =&quot;#article&quot;/> </request> <response> <header> <field name = &quot;location&quot; value = &quot;eblog.com/{x}/{y}&quot;/> </header> <representation mediaType=&quot;application/xml&quot; element=&quot;result&quot;/> <fault id=&quot;SearchError&quot; status=&quot;400&quot; mediaType=&quot;application/xml&quot; element=&quot;error&quot;/> </response> </method> </application>
Implementation Approach Start wadl  WADL Document Result  Analyze WADL (wadl) If (Result = pass) RefList  GenerateRefernceList(wadl) Result  TestConnectivity (wadl, RefList) Output Result Stop Yes No Abort
WADL Analyzer A WADL analyzer is a program that verifies if it contains the Proposed changes. Only if the output of the WADL analyzer  is “pass” then the WADL document will be the input of the Reference List Generator.
Automatic Reference List Generator The Reference List Generator would make POST operations depending upon the WADL specification. Collect the URI of the resource from the post response or from query string of the resource. Augmented  WADl Reference List Auto Reference List Generator
URI Navigator The output of the Reference List Generator is given as the input to the URI navigator (i.e. a list of URI). The URI Navigator is a program that performs GET operations starting from the base URI and then forms a list of URI’s Navigated. Navigated URI List is compared with the Reference list to check if the URI’s are reachable.
THANK YOU

More Related Content

PPT
Google Search Engine
PPT
Google
PPT
Googling of GooGle
PDF
How to design a good REST API: Tools, techniques and best practices
PPTX
Search engine
PPTX
PAGE RANKING
PPT
MLA Plenary Session IV - Bart Ragon
PPTX
REST API Graph API GraphQL GraphiQL Presentation
Google Search Engine
Google
Googling of GooGle
How to design a good REST API: Tools, techniques and best practices
Search engine
PAGE RANKING
MLA Plenary Session IV - Bart Ragon
REST API Graph API GraphQL GraphiQL Presentation

What's hot (6)

PDF
Analysis of websites as graphs for SEO
PDF
Advanced on-page SEO 2013
PDF
WT - Web & Working of Search Engine
PPTX
Open belgium 2015 - open tourism
PDF
Architecture of a search engine
PPTX
Introduction to SharePoint 2013 REST API
Analysis of websites as graphs for SEO
Advanced on-page SEO 2013
WT - Web & Working of Search Engine
Open belgium 2015 - open tourism
Architecture of a search engine
Introduction to SharePoint 2013 REST API
Ad

Viewers also liked (7)

PPTX
Testing web services
PDF
Web Service Testing using TestComplete
PPT
SOAP-UI The Web service Testing
PDF
Slide deck example
PPT
Webservices testing using SoapUI
PDF
Web Services (SOAP, WSDL, UDDI)
PPT
Web Service Presentation
Testing web services
Web Service Testing using TestComplete
SOAP-UI The Web service Testing
Slide deck example
Webservices testing using SoapUI
Web Services (SOAP, WSDL, UDDI)
Web Service Presentation
Ad

Similar to Design And Implementation Of Web Service Testing Framework Mit Template (20)

PPTX
An Overview of Web Services: SOAP and REST
PPT
ROA.ppt
PPT
Soap and Rest
PPTX
Rest webservice ppt
PPT
53 hui homework2
PPTX
Introduction To REST
PPTX
Ntg web services
PPT
Web services and SOA [Modified]
PPT
Rest and beyond
PDF
Composing REST Services
PDF
Pal gov.tutorial3.session7
PPT
REST vs WS-*: Myths Facts and Lies
PDF
wsadddddddddddddddddeb-servsdddddddddddaaaaaaaice.pdf
PPTX
Introduction to Web Services
PPTX
Web services
PPTX
Restful webservice
PPTX
Webservices Workshop - september 2014
PDF
Pal gov.tutorial3.session4.rest
PPT
webservices overview
PPSX
Putting SOAP to REST
An Overview of Web Services: SOAP and REST
ROA.ppt
Soap and Rest
Rest webservice ppt
53 hui homework2
Introduction To REST
Ntg web services
Web services and SOA [Modified]
Rest and beyond
Composing REST Services
Pal gov.tutorial3.session7
REST vs WS-*: Myths Facts and Lies
wsadddddddddddddddddeb-servsdddddddddddaaaaaaaice.pdf
Introduction to Web Services
Web services
Restful webservice
Webservices Workshop - september 2014
Pal gov.tutorial3.session4.rest
webservices overview
Putting SOAP to REST

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
“AI and Expert System Decision Support & Business Intelligence Systems”
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Spectral efficient network and resource selection model in 5G networks

Design And Implementation Of Web Service Testing Framework Mit Template

  • 1. A.RESWIN RODRIQUEZ Reg No. 070927009 M.Tech. Network Engineering Dept of Information & Communication Technology Manipal Institute of Technology . DESIGN AND IMPLEMENTATION OF WEB SERVICE TESTING FRAMEWORK Under the Guidance of Balachandra Sujit Kumar Chakrabarti, Senior Lecturer, Senior Scientist, Manipal Institute of Technology, Philips Electronics India Ltd, Manipal. Bangalore. E-mail:sujit.chakrabarti@philips.com.
  • 2. What is a web service? Web services are software's that are designed to provide interoperable machine to machine communication over a network. Web services are also called programmable web. The web service client parses the response xml and extracts the necessary information from it, as xml are well structured. A machine doesn’t care about layout and styling. Machines basically just need the data.
  • 3. Web Service contd. When a machine or web service client makes GET on a resource, it will ask for the machine readable one. When a browser makes GET on a resource for a human, it will ask for the human readable one. Eg:A part of the response from a web service to find the details of a book would look like <productname>RESTful Web service</productname> <catalog>Book</catalog> <author>Lenard and Sam</author> <releasedate>01,may2007<releasedate> Normal applications are not distributed, but web services are distributed.
  • 4. RESTful Web services REST stands for Representational State Transfer. Its is an architectural style of implementing web service. In REST all the resources are uniquely identified by a URI. It has uniform form Interface (CRUD operation). CRUD – CREATE,READ,UPDATE,DELETE. In RESTful service the interactions are stateless. For example the services expose by the RESTful web service are described in a machine process able language called WADL (Web Application Description Language).
  • 5. RESTful Web services Example A RESTful web service is a simple web service implemented using HTTP and with the principles of REST. It is a collection of Resources. For example if a RESTful web service presenting a collection of cars for sale might have the URI as “ http://example.com/resources/cars ”. If the service uses the car registration number as the ID then a particular car might be present in the collection as “ http://example.com/resources/cars/yxz123 ”.
  • 6. WADL WADL stands for Web Application Description Language. WADL is a Resource centric description language. It is a well formed XML file. WADL provides a machine process-able description of the services exposed by the web service.
  • 7. WADL Example <?xml version=&quot;1.0&quot;?> <!-- This is a Example of a WADL . --> <application xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot;> <resources base=&quot;https://api.del.icio.us/&quot;> <resource path=&quot;Search&quot;> <method href =&quot;#end&quot;/> </resource> </resources > <!-- Methods--> <method name=&quot;GET&quot; id=&quot;end&quot;> <request> <query_variable name=&quot;id&quot; type=&quot;xsd:int&quot; required=&quot;true&quot;/> </request > <response> <representation mediaType=&quot;application/xml&quot; element=&quot;result&quot;/> <fault id=&quot;SearchError&quot; status=&quot;400&quot; mediaType=&quot;application/xml&quot; element=&quot;error&quot;/> </response> </method> </application>
  • 8. Connectedness Connectedness means the ability to navigate from one resource to the other by following the links. The links are the URI of the resource that connect one resource to the other . Placement of the URI should be intuitive.
  • 9. Connectedness Example Suppose R1,R2,R3 are resources. R1,R2,R3 have unique URI representing a resource. If R1,R2,R3 are reachable following the URI from the base resource R, then web service is connected.
  • 10. Connectedness-Testing R1,R2,R3,R4 are resources. A graph with URI of the resources as Nodes and connectivity between the resources as their Edges. R R1 R2 R3 R4
  • 11. Connectedness-Testing A reference list is a collection of all URI present on a web service. Check if all the URI’s present in the reference list are present in the graph.
  • 12. Problem of Reference List Generation Reference List is generated from the WADL. WADL document does not contain the sufficient information. Whether a resource already exist or not. i.e. are the resources already posted?
  • 13. Insufficient Information in WADL WADL specification does not contains the necessary information to test the connectedness of the RESTful web service. Information about already posted resources are not present in the WADL specification. Certain changes have to be incorporated into WADl Document.
  • 14. Enhancement to WADL List of proposed changes to WADL. ‘target’ element is added under ‘method’ element. The ‘ target ’ element has an attributes called ‘ id ’. <target id = “#user” /> <target id =”#article” />
  • 15. Enhancement Contd.. ‘resource’ element adds an attribute called ‘id’ which corresponds to the ‘id’ attribute of ‘target’ element. <resource path = “eblog/{x}” id = “#user>
  • 16. Example :eblog WADL <?xml version=&quot;1.0&quot;?> <application xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot;> <resources base=&quot;http://localhost:8282/&quot;> <resource path=&quot;eblog&quot; id = &quot;#blog&quot;> <method href =&quot;#Postblog&quot;/> </resource> <resource path=&quot;eblog/{x}&quot; id = &quot;#user&quot;> <method href =&quot;#Postarticle&quot;/> </resource> <resource path=&quot;eblog/{x}/{y}&quot; id = &quot;#article&quot;> </resource> </resources > <!-- Methods--> <method name=&quot;POST&quot; id=&quot;Postblog&quot;> <request> <query_variable name=&quot;user&quot; type=&quot;xsd:string&quot; value =&quot;{x}&quot; required=&quot;true&quot;/> <target id =&quot;#user&quot;/> </request> <response> <representation mediaType=&quot;application/xml&quot; element=&quot;result&quot;/> <fault id=&quot;SearchError&quot; status=&quot;400&quot; mediaType=&quot;application/xml&quot; element=&quot;error&quot;/> </response> </method> <method name=&quot;POST&quot; id=&quot;Postarticle&quot;> <request> <target id =&quot;#article&quot;/> </request> <response> <header> <field name = &quot;location&quot; value = &quot;eblog.com/{x}/{y}&quot;/> </header> <representation mediaType=&quot;application/xml&quot; element=&quot;result&quot;/> <fault id=&quot;SearchError&quot; status=&quot;400&quot; mediaType=&quot;application/xml&quot; element=&quot;error&quot;/> </response> </method> </application>
  • 17. Implementation Approach Start wadl  WADL Document Result  Analyze WADL (wadl) If (Result = pass) RefList  GenerateRefernceList(wadl) Result  TestConnectivity (wadl, RefList) Output Result Stop Yes No Abort
  • 18. WADL Analyzer A WADL analyzer is a program that verifies if it contains the Proposed changes. Only if the output of the WADL analyzer is “pass” then the WADL document will be the input of the Reference List Generator.
  • 19. Automatic Reference List Generator The Reference List Generator would make POST operations depending upon the WADL specification. Collect the URI of the resource from the post response or from query string of the resource. Augmented WADl Reference List Auto Reference List Generator
  • 20. URI Navigator The output of the Reference List Generator is given as the input to the URI navigator (i.e. a list of URI). The URI Navigator is a program that performs GET operations starting from the base URI and then forms a list of URI’s Navigated. Navigated URI List is compared with the Reference list to check if the URI’s are reachable.