Abstract
Web Services are the basic building blocks of next generation Internet applications, based on dynamic service discovery and composition. Dedicated discovery services will store both syntactic and behavioral descriptions of available services and guarantee their compatibility with the requirements expressed by clients. In practice, however, interactions may still fail because the Web Service’s implementation may be faulty. In fact, the client has no guarantee on the quality of the implementation associated to any service description.
In this paper, we propose the idea of high-quality service discovery incorporating automatic testing for validating Web Services before allowing their registration. First, the discovery service automatically generates conformance test cases from the provided service description, then runs the test cases on the target Web Service, and only if the test is successfully passed, the service is registered.
In this way, clients bind with Web Services providing a compatible signature, a suitable behavior, and a high-quality implementation.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Berners-Lee, T., Hendler, J., Lassila, O.: The Semantic Web. Scientific American 284, 34–43 (2001)
W3C Web Services Architecture Working Group: Web Services architecture requirements. W3C working draft, World Wide Web Consortium (2002)
Booth, D., Haas, H., McCabe, F., Newcomer, E., Champion, M., Ferris, C., Orchard, D.: Web Services architecture. In: W3C working group note, W3C (2004)
Hausmann, J.H., Heckel, R., Lohmann, M.: Model-based discovery of Web Services. In: Intl. Conference on Web Services (2004)
Baresi, L., Heckel, R.: Tutorial introduction to graph transformation: a software engineering perspective. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505. Springer, Heidelberg (2002)
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)
Kaplan, S., Loyall, J., Goering, S.: Specifying concurrent languages and systems with δ-grammars. In: Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Graph Grammars 1990. LNCS, vol. 532, pp. 475–489. Springer, Heidelberg (1991)
de Roever, W.P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and Their Comparison. Cambridge Tracts in Theoretical Computer Science, vol. 47. Cambridge University Press, Cambridge (1998)
White, L., Cohen, E.J.: A domain strategy for computer program testing. IEEE Transactions on Software Engineering 6, 247–257 (1980)
Weyuker, E., Jeng, B.: Analyzing partition testing strategies. IEEE Transactions on Software Engineering 17, 703–711 (1991)
Jeng, B., Weyuker, E.J.: A simplified domain-testing strategy. ACM Transactions on Software Engineering Methodology 3, 254–270 (1994)
Rapps, S., Wejuker, E.: Data flow analysis techniques for program test data selection. In: 6th Intl. Conference on Software Engineering, pp. 272–278 (1982)
Frankl, P.G., Weyuker, E.J.: An applicable family of data flow testing criteria. IEEE Transactions on Software Engineering 14, 1483–1498 (1988)
Pande, H.D., Landi, W.A., Ryder, B.G.: Interprocedural def-use associations for C systems with single level pointers. IEEE Transactions on Software Engineering 20, 385–403 (1994)
Hausmann, J., Heckel, R., Taentzer, G.: Detecting conflicting functional requirements in a use case driven approach: a static analysis technique based on graph transformation. In: Intl. Conference on Software Engineering, pp. 105–155 (2002)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1 - Foundations. World Scientific, Singapore (1997)
Technical University Berlin: The attributed graph grammar system (AGG) (Visited in 2004), http://tfs.cs.tu-berlin.de/agg/
Baldan, P., König, B., Stürmer, I.: Generating test cases for code generators by unfolding graph transformation systems. In: Proc. 2nd Intl. Conference on Graph Transformation, Rome, Italy (2004)
Bochmann, G.V., Petrenko, A.: Protocol testing: review of methods and relevance for software testing. In: Proceedings of the 1994 ACM SIGSOFT Intl. Symposium on Software Testing and Analysis, pp. 109–124. ACM Press, New York (1994)
Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES approach: language and environment. In: Handbook of graph grammars and computing by graph transformation: applications, languages, and tools, vol. 2, pp. 487–550. World Scientific, Singapore (1999)
Rensink, A.: The GROOVE simulator: A tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)
Singh, I., Stearns, B., Johnson, M.: Enterprise Team: Designing Enterprise Applications with the J2EE Platform, 2nd edn. Addison-Wesley, Reading (2002)
Fraikin, F., Leonhardt, T.: SeDiTeC - testing based on sequence diagram. In: IEEE Intl. Conference on Automated Software Engineering (2002)
Hartmann, J., Imoberdorf, C., Meisinger, M.: Uml-based integration testing. In: Intl. Symposium on Software Testing and Analysis, pp. 60–70. ACM Press, New York (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heckel, R., Mariani, L. (2005). Automatic Conformance Testing of Web Services. In: Cerioli, M. (eds) Fundamental Approaches to Software Engineering. FASE 2005. Lecture Notes in Computer Science, vol 3442. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31984-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-31984-9_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25420-1
Online ISBN: 978-3-540-31984-9
eBook Packages: Computer ScienceComputer Science (R0)