Automating Property-based Testing of Evolving Web Services

被引:8
作者
Li, Huiqing [1 ]
Thompson, Simon [1 ]
Seijas, Pablo Lamela [1 ]
Angel Francisco, Miguel [2 ]
机构
[1] Univ Kent, Sch Comp, Canterbury, Kent, England
[2] Interoud Innovat, La Coruna, Spain
来源
PEPM '14: PROCEEDINGS OF THE ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION | 2014年
关键词
Web Service; Property-based Testing; QuickCheck; Wrangler; API Evolution; Erlang; WSDL;
D O I
10.1145/2543728.2543741
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Web services are the most widely used service technology that drives the Service-Oriented Computing (SOC) paradigm. As a result, effective testing of web services is getting increasingly important. In this paper, we present a framework and toolset for testing web services and for evolving test code in sync with the evolution of web services. Our approach to testing web services is based on the Erlang [5, 9] programming language and QuviQ QuickCheck, a property-based testing tool written in Erlang, and our support for test code evolution is added to Wrangler, the Erlang refactoring tool. The key components of our system include the automatic generation of initial test code, the inference of web service interface changes between versions, the provision of a number of domain specific refactorings and the automatic generation of refactoring scripts for evolving the test code. Our framework provides users with a powerful and expressive web service testing framework, while minimising users' effort in creating, maintaining and evolving the test model. The framework presented in this paper can be used by both web service providers and consumers, and can be used to test web services written in whatever language; the approach advocated here could also be adopted in other property-based testing frameworks and refactoring tools.
引用
收藏
页码:169 / 180
页数:12
相关论文
共 20 条
[1]  
[Anonymous], 2013, ERLANG 13, DOI DOI 10.1145/2505305.2505306
[2]  
Armstrong J., 2007, PROGRAMMING ERLANG
[3]   Specifying high-assurance services [J].
Atkinson, Colin ;
Brenner, Daniel ;
Falcone, Giovanni ;
Juhasz, Monika .
COMPUTER, 2008, 41 (08) :64-+
[4]  
Bai Xiaoying., 2005, Proceedings of the IEEEInternational Workshop on ServiceOriented System Engineering (SOSE2005), P215
[5]  
Bartolini C., 2009, SOFTW TEST VER VAL 2
[6]  
Bozkurt M., 2010, Testing Web Services: A Survey
[7]  
Cesarini F., 2009, ERLANG PROGRAMMING
[8]  
Choudhary S. R., 2011, P 1 INT WORKSH END T
[9]   QuickCheck: A lightweight tool for random testing of Haskell programs [J].
Claessen, K ;
Hughes, J .
ACM SIGPLAN NOTICES, 2000, 35 (09) :268-279
[10]   ReAssert: Suggesting Repairs for Broken Unit Tests [J].
Daniel, Brett ;
Jagannath, Vilas ;
Dig, Danny ;
Marinov, Darko .
2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :433-444