Functional Testing of RESTful Web Services from UML Models
Abstract
This paper presents an approach for RESTful Web Services test case generation. RESTful Web Services have features that are not fully covered by traditional software testing techniques. The proposed approach uses model transformation techniques to generate platform independent test cases from UML class models enriched with Object Constraint Language (OCL) constraints. These test cases are then transformed into platform specific test cases that can be used to verify the implementation of CRUD RESTful Web Services. An experimental study showed that the proportion of testers, using ad hoc techniques capable of achieving at least 95% coverage restrictions approach is covered by at most 20%.
Keywords:
Functional Tests, RESTful Web Services, UML Models
References
Agresti, A., & Coull, B. A. (1998). Approximate is better than "exact" for interval estimation of binomial proportions. The American Statistician , 52, p. 119-126.
Askaruinisa, A., & Abirami, A. M. (2010). Test Case Reduction Technique for Semantic Based Web Services. International Journal on Computer Science and Engineering (IJCSE) , 02 (03), p. 566-576.
Bozkurt, M., Harman, M., & Hassoun, Y. (2010). Testing Web Services: A Survey. King's College London, Department of Computer Science, Londres.
Canfora, G., & Penta, M. (2009). Service-Oriented Architectures Testing: A Survey. Software Engineering: International Summer Schools, ISSSE 2006-2008 , p. 78-105.
Chakrabarti, S. K., & Rodriquez, R. (2010). Connectedness testing of RESTful web services. Proceedings of the 3rd India Software Engineering Conference (ISEC '10) (p. 143-152). New York, NY: ACM.
Daigneau, R. (2012). Service Design Patterns: fundamental design solutions for SOAP/WSDL and RESTful Web Services. Upper Saddle River: Pearson.
Delamaro, M. E., Maldonado, J. C., & Jino, M. (2007). Introdução ao Teste de Software. Rio de Janeiro: Elsevier.
Endo, A. T., & Simão, A. d. (2010). Formal Testing Approaches for Service-Oriented Architectures and Web Services: A Systematic Review. USP, São Carlos.
Erl, T., Karmarkar, A., Walmsley, P., Haas, H., Yalcinalp, U., Liu, C. K., et al. (2008). Web service contract: design e versioning for SOA. Crawfordsville: Prentice Hall.
Fielding, R. T. (2000). Architectural styles and the design of network-based software architectures. Tese de Doutorado, University of California, Irvine.
Meszaros, G. (2007). xUnit Test Patterns: refactoring test code. Boston: Pearson.
Noikajana, S., & Suwannasart, T. (2009). An Improved Test Case Generation Method for Web Service Testing from WSDL-S and OCL with Pair-Wise Testing Technique. Proceedings of 33rd Annual IEEE International Computer Software and Applications Conference (pp. 115-123). Washington, DC: IEEE Computer Society.
OMG, Object Management Group. (2003). MDA guide version 1.0.1. OMG.
OMG, Object Management Group. (2010). Object Constraint Language, 2.2. Acesso em 18 de outubro de 2010, disponível em http://www.omg.org/spec/OCL/2.2/PDF
Reza, H., & Van Gilst, D. (2010). A Framework for Testing RESTful Web Services.Proceedings of the Seventh International Conference on Information Technology (p. 216-221). IEEE Computer Society.
Richardson, L., & Ruby, S. (2007). Restful web services. Sebastopol: O'Reilly.
Silva-de-Souza, T. (2012). Uma Abordagem Baseada em Especificação para Testes de Web Services RESTful. Dissertação de Mestrado, PPGI, Universidade Federal do Rio de Janeiro (UFRJ), Rio de Janeiro.
SmartBear. (2011). Acesso em 20 de dezembro de 2011, disponível em soapUI: http://www.soapui.org
Sommerville, I. (2011). Engenharia de software (9. ed. ed.). São Paulo: Pearson.
Triola, M. F. (2008). Introdução à estatística. Rio de Janeiro: LTC.
W3C, World Wide Web Consortium. (2009). Web Application Description Language. Acesso em 15 de novembro de 2011, disponível em http://www.w3.org/Submission/wadl/
W3C, World Wide Web Consortium. (2005). Web Service Semantics - WSDL-S. Acesso em 17 de outubro de 2011, disponível em http://www.w3.org/Submission/WSDL-S/
W3C, World Wide Web Consortium. (2007). Web Services Description Language (WSDL) Version 2.0 Part 1. Acesso em 15 de nov de 2010, disponível em http://www.w3.org/TR/wsdl20/
Warmer, J., & Kleppe, A. (2003). The Object Constraint Language: getting your models ready for MDA (2. ed.). Boston: Addison-Wesley.
Webber, J., Parastatidis, S., & Robinson, I. (2010). REST in Practice. Sebastopol: O'Reilly.
Wohlin, C., Runeson, P., Höst, M., Olhsson, M. C., Regnell, B., & Wesllén, A. (2000). Experimentation in software engineering: an introduction. Norwell: Kluwer Publishers.
Askaruinisa, A., & Abirami, A. M. (2010). Test Case Reduction Technique for Semantic Based Web Services. International Journal on Computer Science and Engineering (IJCSE) , 02 (03), p. 566-576.
Bozkurt, M., Harman, M., & Hassoun, Y. (2010). Testing Web Services: A Survey. King's College London, Department of Computer Science, Londres.
Canfora, G., & Penta, M. (2009). Service-Oriented Architectures Testing: A Survey. Software Engineering: International Summer Schools, ISSSE 2006-2008 , p. 78-105.
Chakrabarti, S. K., & Rodriquez, R. (2010). Connectedness testing of RESTful web services. Proceedings of the 3rd India Software Engineering Conference (ISEC '10) (p. 143-152). New York, NY: ACM.
Daigneau, R. (2012). Service Design Patterns: fundamental design solutions for SOAP/WSDL and RESTful Web Services. Upper Saddle River: Pearson.
Delamaro, M. E., Maldonado, J. C., & Jino, M. (2007). Introdução ao Teste de Software. Rio de Janeiro: Elsevier.
Endo, A. T., & Simão, A. d. (2010). Formal Testing Approaches for Service-Oriented Architectures and Web Services: A Systematic Review. USP, São Carlos.
Erl, T., Karmarkar, A., Walmsley, P., Haas, H., Yalcinalp, U., Liu, C. K., et al. (2008). Web service contract: design e versioning for SOA. Crawfordsville: Prentice Hall.
Fielding, R. T. (2000). Architectural styles and the design of network-based software architectures. Tese de Doutorado, University of California, Irvine.
Meszaros, G. (2007). xUnit Test Patterns: refactoring test code. Boston: Pearson.
Noikajana, S., & Suwannasart, T. (2009). An Improved Test Case Generation Method for Web Service Testing from WSDL-S and OCL with Pair-Wise Testing Technique. Proceedings of 33rd Annual IEEE International Computer Software and Applications Conference (pp. 115-123). Washington, DC: IEEE Computer Society.
OMG, Object Management Group. (2003). MDA guide version 1.0.1. OMG.
OMG, Object Management Group. (2010). Object Constraint Language, 2.2. Acesso em 18 de outubro de 2010, disponível em http://www.omg.org/spec/OCL/2.2/PDF
Reza, H., & Van Gilst, D. (2010). A Framework for Testing RESTful Web Services.Proceedings of the Seventh International Conference on Information Technology (p. 216-221). IEEE Computer Society.
Richardson, L., & Ruby, S. (2007). Restful web services. Sebastopol: O'Reilly.
Silva-de-Souza, T. (2012). Uma Abordagem Baseada em Especificação para Testes de Web Services RESTful. Dissertação de Mestrado, PPGI, Universidade Federal do Rio de Janeiro (UFRJ), Rio de Janeiro.
SmartBear. (2011). Acesso em 20 de dezembro de 2011, disponível em soapUI: http://www.soapui.org
Sommerville, I. (2011). Engenharia de software (9. ed. ed.). São Paulo: Pearson.
Triola, M. F. (2008). Introdução à estatística. Rio de Janeiro: LTC.
W3C, World Wide Web Consortium. (2009). Web Application Description Language. Acesso em 15 de novembro de 2011, disponível em http://www.w3.org/Submission/wadl/
W3C, World Wide Web Consortium. (2005). Web Service Semantics - WSDL-S. Acesso em 17 de outubro de 2011, disponível em http://www.w3.org/Submission/WSDL-S/
W3C, World Wide Web Consortium. (2007). Web Services Description Language (WSDL) Version 2.0 Part 1. Acesso em 15 de nov de 2010, disponível em http://www.w3.org/TR/wsdl20/
Warmer, J., & Kleppe, A. (2003). The Object Constraint Language: getting your models ready for MDA (2. ed.). Boston: Addison-Wesley.
Webber, J., Parastatidis, S., & Robinson, I. (2010). REST in Practice. Sebastopol: O'Reilly.
Wohlin, C., Runeson, P., Höst, M., Olhsson, M. C., Regnell, B., & Wesllén, A. (2000). Experimentation in software engineering: an introduction. Norwell: Kluwer Publishers.
Published
2012-07-11
How to Cite
SILVA-DE-SOUZA, Thiago; CORREA, Alexandre Luis; SCHMITZ, Eber Assis; ALENCAR, Antonio Juarez.
Functional Testing of RESTful Web Services from UML Models. In: BRAZILIAN SOFTWARE QUALITY SYMPOSIUM (SBQS), 11. , 2012, Fortaleza.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2012
.
p. 188-202.
DOI: https://doi.org/10.5753/sbqs.2012.15316.
