Automated testing of cloud-based elastic systems with AUToCLES

Cloud-based elastic computing systems dynamically change their resources allocation to provide consistent quality of service and minimal usage of resources in the face of workload fluctuations. As elastic systems are increasingly adopted to implement business critical functions in a cost-efficient way, their reliability is becoming a key concern for developers. Without proper testing, cloud-based systems might fail to provide the required functionalities with the expected service level and costs. Using system testing techniques, developers can expose problems that escaped the previous quality assurance activities and have a last chance to fix bugs before releasing the system in production. System testing of cloud-based systems accounts for a series of complex and time demanding activities, from the deployment and configuration of the elastic system, to the execution of synthetic clients, and the collection and persistence of execution data. Furthermore, clouds enable parallel executions of the same elastic system that can reduce the overall test execution time. However, manually managing the concurrent testing of multiple system instances might quickly overwhelm developers' capabilities, and automatic support for test generation, system test execution, and management of execution data is needed. In this demo we showcase AUToCLES, our tool for automatic testing of cloud-based elastic systems. Given specifications of the test suite and the system under test, AUToCLES implements testing as a service (TaaS): It automatically instantiates the SUT, configures the testing scaffoldings, and automatically executes test suites. If required, AUToCLES can generate new test inputs. Designers can inspect executions both during and after the tests.

[1]  Schahram Dustdar,et al.  Testing of data‐centric and event‐based dynamic service compositions , 2013, Softw. Test. Verification Reliab..

[2]  Gordon Fraser,et al.  EvoSuite: automatic test suite generation for object-oriented software , 2011, ESEC/FSE '11.

[3]  Schahram Dustdar,et al.  Testing elastic systems with surrogate models , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[4]  George Candea,et al.  Automated software testing as a service , 2010, SoCC '10.

[5]  Cesare Pautasso,et al.  The JOpera visual composition language , 2005, J. Vis. Lang. Comput..

[6]  Cesare Pautasso,et al.  RESTful business process management in the cloud , 2013, 2013 5th International Workshop on Principles of Engineering Service-Oriented Systems (PESOS).

[7]  George Candea,et al.  Automated Software Testing as a Service (TaaS) , 2010, SOCC 2010.

[8]  Yanyan Wang,et al.  Automating experimentation on distributed testbeds , 2005, ASE.

[9]  Yike Guo,et al.  Principles of Elastic Processes , 2011, IEEE Internet Computing.

[10]  George Candea,et al.  Cloud9: a software testing service , 2010, OPSR.

[11]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[12]  Luis Miguel Vaquero Gonzalez,et al.  Service specification in cloud environments based on extensions to open standards , 2009, COMSWARE '09.

[13]  Piet Demeester,et al.  A Surrogate Modeling and Adaptive Sampling Toolbox for Computer Based Design , 2010, J. Mach. Learn. Res..

[14]  Schahram Dustdar,et al.  Elastic stream processing in the Cloud , 2013, WIREs Data Mining Knowl. Discov..

[15]  Calton Pu,et al.  Expertus: A Generator Approach to Automate Performance Testing in IaaS Clouds , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[16]  Florian Rosenberg,et al.  Testing Idempotence for Infrastructure as Code , 2013, Middleware.

[17]  Giovanni Toffetti Carughi,et al.  Protecting SLAs with surrogate models , 2010, PESOS '10.

[18]  Cesare Pautasso,et al.  Engineering Autonomic Controllers for Virtualized Web Applications , 2010, ICWE.