| 
          Introduction to Testing Webservices   | 
           | 
        
        
          
           | 
        
        
          |   | 
          Internet  revolutionized the way information/data is made available to general public or
            business  partners. Web services complement this by allowing data exchange between
            applications  in a platform independent manner.
            A Web  service is a software system identified by a URI, whose public interfaces and
            bindings  are defined and described using XML. Its definition can be discovered by other
            software  systems. These systems may then interact with the Web service in a manner
            prescribed  by its definition, using XML based messages conveyed by Internet protocols.
            The  major challenges faced by the testers of webservices are the absence of a user
            interface,  scalability and security considerations and the distributed nature of
            webservices.  For tackling these challenges the webservice testing strategy must involve
            proof of  concept testing, unit testing, basic webservice testing, testing the SOA,
            interoperability  testing and load testing.
            This  white paper starts by describing the major challenges faced by the Web services
            testing  community. It then discusses the strategy recommended to test the webservice,
            followed  by a short discussion on Interoperability testing and Load testing. It also
            includes  the use of JMeter (an automated load testing tool) to test webservices. And
            towards  the end the paper highlights some of the major web services testing tools
            currently  available.  | 
          
        
        
           | 
          Introduction  to Webservices  | 
          
        
           | 
          
        
          |   | 
          Webservices  is a technology that allows applications to communicate with each other
            in a platform  independent manner. Primarily webservices target issues of data and
            application  integration. They help us in exposing business processes as methods or
            functions,  which in turn allow businesses to communicate at an application or process
            level  with business partners.  | 
          
        
          |   | 
          XML  based protocols are used to describe a webservice and standardized XML messages are used  by the webservice for communication with other services or with the client.  | 
          
        
        
           | 
          Webservices are  described using Web Services Description Language (WSDL). The
            WSDL  consists of the URL for the webservice, the methods that are accessible and
            the  input parameter types and the return types of the webservice.  | 
          
        
        
           | 
          Standard Object Access Protocol (SOAP) is used as the messaging  standard for
            communicating  with the webservice. The message is wrapped in a SOAP Envelope, which  can be delivered across network over most known transport protocols like HTTP,  IIOP, and SMTP and so on.  | 
          
        
        
           | 
          Webservices  are published and located with the help of Universal Description,
                Discovery  and Integration (UDDI).  | 
          
        
          |   | 
            | 
            | 
        
        
          |   | 
            | 
          
        
          |   | 
          Challenges  in Testing Webservices  | 
          
        
           | 
          
        
          |   | 
          The  loosely coupled nature of webservices and non-existence of a User interface
            present  a challenge to the developers and testers alike. Following are some of the
            challenges  that webservice testers have to face.  | 
          
        
          |   | 
            | 
          
        
          |   | 
          Scalability  and Security  | 
          
        
           | 
          
        
          |   | 
          The  development and deployment environments of webservices are vastly
            different.  If the webservice is for intranet usage then we have a theoretical
            maximum  number of users that will connect to the service and also we have control
            over who  can access the webservice so we have some security in place. But the
            scenario  for Internet webservice is different. There we cannot make any
            assumptions  about the number of users connected to the service, security or the
            way in  which the users will access the web service. Also we must know in advance
            the  performance impact in case of large number of users connecting to the
            webservice.  | 
          
        
          |   | 
            | 
          
        
          |   | 
          Absence  of User Interface  | 
          
        
           | 
          
        
          |   | 
          Unlike  traditional web applications web services do not have a user interface.
            Hence  they cannot be tested manually but require writing of test cases. For this
            the  tester needs to have programming skills and an overview of the webservices
            fundamentals.  | 
          
        
          |   | 
            | 
          
        
          |   | 
          Distributed  Across Network  | 
          
        
           | 
          
        
          |   | 
          Applications  are generally built by integrating many webservices to leverage
            existing  webservice functionality. These webservices may be developed by the
            same developers  or may be provided by a third party. So thorough black box testing
            must be  performed. Also these services are distributed over the network and may
            be  hosted on different operating systems and deployed in different environments.
            Hence  while testing we have to take into consideration the issues of availability,
            performance,  reliability and security. 
            To read the complete article please click here  | 
          
        
          |   | 
            | 
            |