European Commission logo
English English
CORDIS - EU research results
CORDIS

ElasTest: an elastic platform for testing complex distributed large software systems

Article Category

Article available in the following languages:

A new platform for testing complex distributed software systems

A new tool not only tames the complexity of testing large-scale distributed systems but does so in a way that mitigates costs without sacrificing quality.

Digital Economy icon Digital Economy

The potential for large-scale distributed software systems is immense. By sharing software components across multiple computers, such systems promise to be fault-tolerant, elastic and cost-efficient. As a result, they could substantially improve the efficiency and performance of a wide range of computing tasks. Yet despite this potential, supply of such large, interconnected systems remains well short of demand. That’s because for many developers, the cost of validating such software systems is too high and involves complex testing processes. “Whenever developers want to validate non-functional features, they must first create complex testing architectures, which includes customising the cloud orchestration mechanisms and managing test scalability,” says Francisco Gortázar Bellas, a professor at Rey Juan Carlos University. “As if this wasn’t complex enough, things are further complicated by the need to reproduce real-world operational conditions.” With the aim of simplifying and streamlining the validation process, the EU-funded ELASTEST project set out to provide development teams the tools they need to quickly deliver defect-free software.

Reduce and simplify

The ElasTest tool was designed to not only tame the complexity of testing large-scale distributed systems, but to do so in a way that reduces the cost while sustaining quality. To accomplish this, researchers focused on three core objectives: reducing the time to market, reducing the bug-localisation time, and simplifying the testing process. As to reducing the time to market, ElasTest provides a number of services that can be used ‘out-of-the-box’ through well-documented REST APIs. These services can be used individually or via various combinations. All provide on-demand tools that can be exploited from the test code. These include browsers, Internet of Things (IoT) devices, security checks, monitoring and data analytics. To reduce the time it takes to localise a bug, the tool provides the user with visualisations and analytic tools. “With log analytics, task-focused reporting and log comparison, this function helps the user find the proverbial needle in a haystack,” explains Gortázar. ElasTest can also help simplify the process of setting up and running tests. It does this using a domain-specific language that complies with the Jenkins continuous integration server, one of the most popular continuous integration server models on the market. “In a world where cloud is becoming a commodity and services are distributed by nature, a tool like ElasTest can make a huge difference when assessing complex applications,” adds Gortázar. The tool has been validated in various use domains, including web, 5G, real-time communication and IoT.

Dedicated focus

Although the project had to make several adjustments along the way, such as providing solutions for both automatic and manual testing, it never wavered from its core focus: integrating different components using best practices in continuous integration and delivery. “Our dedicated focus is what allowed us to progress at a constant pace and, at the same time, minimise risks,” says Gortázar. “This is the secret to our success – a success that is well documented by our substantial dissemination activities.” These dissemination activities included publishing 15 ElasTest software releases and an array of articles in, or presented at, 34 different journals and conferences – including the prestigious International Conference on Software Engineering (ICSE). The project also participated in some of the industry’s most important testing conferences.

Keywords

ELASTEST, Jenkins continuous integration server, distributed software systems, software, computing, Internet of Things, IoT, 5G

Discover other articles in the same domain of application