Over the half decade, web services have become widely used in the deployment of web-based applications as they provide the advantage of compatibility with various software platforms. However, due to the platform-independent nature of a client-server network architecture, testing web services can prove to be more difficult and requires approaches that are different from those employed in traditional software testing.
World Wide Web (WWW) services typically involve three components: a web server, a web page, and a web browser. These components work together in delivering information to the end-user. Web pages are written using Hypertext Markup Language (HTML) for delivering formatted static content. Dynamic web pages can be constructed with the use of additional scripting using programming languages such as PHP, ASP, C#, or Java. These scripts are typically located in the web server. The last component, the web browser, displays text and multimedia content of web pages to the end-user. Currently, there are a number of web browsers available in the market, the most popular of which are Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, and Google Chrome. The main purpose of creating web-based applications is to facilitate data transfer to the server and between servers.
Web services work with various internet protocols and web standards. ...
Online services rely on such standards to properly exchange messages with each other. Some protocols may also be derivates of web standards. For instance, Web Services Description Language (WSDL), and Universal Description, Discovery, and Integration (UDDI) are both based on the XML standard. For a better understanding of the standards, protocols, and techniques used in the development of web services, these technologies shall be described further in the succeeding sections of this paper.
The Limitations of Conventional Application Testing
Software testing does not exist for the sole purpose of improving the quality of the application. It also guarantees reliability and aids in building the user's trust in the system. Due to the platform-independent structure of client-server applications, the testing methods often used in ordinary software development cannot cover all possible issues that may arise in web service development. The developers of a web service are not capable of predicting the software platform or programming language of other applications utilizing the said service. Likewise, they are cannot determine beforehand the platform being used on the client's side. Testing procedures for ordinary software usually focuses on a particular platform. As a result, these tests will like be unable to keep up with the open platform nature of web services. The need for interaction between web services makes it even more difficult to use conventional testing methods for these applications. (Huang, J.Z., Qub, Y., H. W. & Xie, J. 2004)
For web service testing to be effective, it is not enough for just the service provider or requestor to take full responsibility. All parties must be integrated into a unified testing framework.