Automating Property-based Testing of Evolving Web Services

被引:7
|
作者
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
关键词
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
相关论文
共 50 条
  • [31] A property-based testing framework for encryption programs
    Chang-ai Sun
    Zuoyi Wang
    Guan Wang
    Frontiers of Computer Science, 2014, 8 : 478 - 489
  • [32] Validation of SDN policies: a property-based testing perspective
    Castro, Laura M.
    Paladi, Nicolae
    10TH INT CONF ON EMERGING UBIQUITOUS SYST AND PERVAS NETWORKS (EUSPN-2019) / THE 9TH INT CONF ON CURRENT AND FUTURE TRENDS OF INFORMAT AND COMMUN TECHNOLOGIES IN HEALTHCARE (ICTH-2019) / AFFILIATED WORKOPS, 2019, 160 : 23 - 29
  • [33] Quickstrom: Property-Based Acceptance Testing with LTL Specifications
    O'Connor, Liam
    Wickstrom, Oskar
    PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 1025 - 1038
  • [34] Shrinking Counterexamples in Property-Based Testing with Genetic Algorithms
    Lo, Fang-Yi
    Chen, Chao-Hong
    Chen, Ying-ping
    2020 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2020,
  • [35] Property-Based Testing and Debugging of Quantum Programs (Keynote)
    Mousavi, Mohammad Reza
    PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON THE ART, SCIENCE, AND ENGINEERING OF PROGRAMMING, PROGRAMMING COMPANION 2024, 2024, : 117 - 117
  • [36] Specification testing of agent-based simulation using property-based testing
    Jonathan Thaler
    Peer-Olaf Siebers
    Autonomous Agents and Multi-Agent Systems, 2020, 34
  • [37] TYCHE: Making Sense of Property-Based Testing Efectiveness
    Goldstein, Harrison
    Tao, Jeffrey
    Hatfield-Dodds, Zac
    Pierce, Benjamin C.
    Head, Andrew
    PROCEEDINGS OF THE 37TH ANNUAL ACM SYMPOSIUM ON USER INTERFACE SOFTWARE AND TECHNOLOGY, USIT 2024, 2024,
  • [38] Specification testing of agent-based simulation using property-based testing
    Thaler, Jonathan
    Siebers, Peer-Olaf
    AUTONOMOUS AGENTS AND MULTI-AGENT SYSTEMS, 2020, 34 (02)
  • [39] MAKING PROPERTY-BASED TESTING EASIER TO READ FOR HUMANS
    Castro, Laura M.
    Lamela, Pablo
    Thompson, Simon
    COMPUTING AND INFORMATICS, 2016, 35 (04) : 890 - 913
  • [40] Statistical Model Checking Meets Property-Based Testing
    Aichernig, Bernhard K.
    Schumi, Richard
    2017 10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2017, : 390 - 400