Connectedness testing of RESTful web-services

In the context of RESTful web-services, connectedness refers to the property wherein every resource in the web-service is reachable from the base resource by successive HTTP GET requests. Presence (or absence) of connectedness has practical implications and hence is an important property of RESTful web-services. In this article, we present an algorithm for testing the connectedness of RESTful webservices. Using a formal specification of the web-service, our algorithm tests the connectedness of a web-service automatically. We also discuss a formal notation we have developed to specify RESTful web-services. Using our notation, we wrote the formal specification for a prototype RESTful web-service which has been developed for internal use in our organisation. Using this specification we employed our method to conduct automated testing of the above webservice. Many functional defects apart from those related to connectedness were detected early during development. This demonstrated that both our specification notation and our testing method are promising innovations in the direction of specification and testing of RESTful web-services.

[1]  Philip Mayer,et al.  Towards a BPEL unit testing framework , 2006, TAV-WEB '06.

[2]  Raymond A. Paul,et al.  Automated model checking and testing for composite Web services , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[3]  Robert B. France,et al.  A Systematic Approach to Generate Inputs to Test UML Design Models , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[4]  Wolfgang Emmerich,et al.  Efficient online monitoring of web-service SLAs , 2008, SIGSOFT '08/FSE-16.

[5]  Insup Lee,et al.  Automatic Test Generation From Statecharts Using Model Checking , 2001 .

[6]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[7]  Sam Ruby,et al.  RESTful Web Services , 2007 .

[8]  Reiko Heckel,et al.  Towards Contract-based Testing of Web Services , 2005, Electron. Notes Theor. Comput. Sci..

[9]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[10]  I. Melzer Web Services Description Language , 2010 .

[11]  Tao Xie,et al.  WebSob: A Tool for Robustness Testing of Web Services , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[12]  Prashant Kumar,et al.  Test-the-REST: An Approach to Testing RESTful Web-Services , 2009, 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns.