CORDIS
Wyniki badań wspieranych przez UE

CORDIS

Polski PL

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

Informacje na temat projektu

Identyfikator umowy o grant: 731535

Status

Projekt zamknięty

  • Data rozpoczęcia

    1 Stycznia 2017

  • Data zakończenia

    31 Grudnia 2019

Finansowanie w ramach:

H2020-EU.2.1.1.

  • Całkowity budżet:

    € 5 031 187,50

  • Wkład UE

    € 4 270 187

Koordynowany przez:

UNIVERSIDAD REY JUAN CARLOS

Polski PL

Nowa platforma do testowania złożonych rozproszonych systemów oprogramowania

Powstało nowe narzędzie, które pomaga w skomplikowanym testowaniu wielkoskalowych systemów rozproszonych przy niewygórowanych kosztach i przy zachowaniu wysokiej jakości.

Gospodarka cyfrowa
© TechnoVectors, Shutterstock

Potencjał wielkoskalowych rozproszonych systemów oprogramowania jest ogromny. Dzięki rozproszeniu komponentów oprogramowania na wielu komputerach systemy takie mogą być odporne na błędy, elastyczne i ekonomiczne, poprawiając znacząco wydajność i efektywność wykonywania wielu różnych zadań obliczeniowych. Jednak pomimo tego potencjału, podaż tak dużych, połączonych ze sobą systemów utrzymuje się na poziomie znacznie niższym od popytu. Wynika to z faktu, że dla wielu firm programistycznych koszt walidacji takich systemów oprogramowania jest zbyt wysoki, a potrzebne procesy testowania są bardzo skomplikowane. „Aby dokonać walidacji funkcji, programiści muszą najpierw opracować złożone architektury testowe, które obejmują dostosowanie mechanizmów orkiestracji chmury i zarządzanie skalowalnością testów”, mówi Francisco Gortázar Bellas, profesor na Uniwersytecie Króla Juana Carlosa. „Jakby tego było mało, sprawy komplikuje dodatkowo konieczność odtworzenia rzeczywistych warunków operacyjnych”. Aby uprościć i usprawnić proces walidacji, finansowany przez Unię Europejską projekt ELASTEST miał na celu dostarczenie zespołom programistycznym narzędzi niezbędnych do szybkiego dostarczenia w pełni sprawnego oprogramowania.

Redukcja i uproszczenie

Narzędzie ElasTest zostało zaprojektowane w taki sposób, aby ułatwić skomplikowane testowanie wielkoskalowych systemów rozproszonych przy niewysokich kosztach i bez pogarszania jakości. Aby tego dokonać, naukowcy wyznaczyli sobie trzy główne cele: skrócenie czasu wprowadzenia na rynek, skrócenie czasu lokalizacji błędów oraz uproszczenie procesu testowania. Jeśli chodzi o skrócenie czasu wprowadzania na rynek, narzędzie ElasTest oferuje szereg gotowych do użycia usług, z których można korzystać poprzez dobrze udokumentowane interfejsy API REST, czy to indywidualnie, czy w różnych kombinacjach. Wszystkie wyposażono w narzędzia dostępne na żądanie, które mogą być wykorzystywane z poziomu kodu testowego – są to na przykład przeglądarki, urządzenia internetu rzeczy, kontrole bezpieczeństwa czy narzędzia do monitorowania i analizy danych. Aby skrócić czas potrzebny na zlokalizowanie błędu, ElasTest udostępnia użytkownikom narzędzia do wizualizacji i analityczne. „Dzięki funkcjom analizy dziennika, raportowania zorientowanego na zadanie i porównywania dzienników, użytkownicy są w stanie znaleźć przysłowiową igłę w stogu siana”, wyjaśnia Gortázar. ElasTest pomaga też w uproszczeniu procesu konfigurowania i wykonywania testów dzięki zastosowaniu języka specyficznego dla domeny, który jest zgodny z serwerem ciągłej integracji Jenkins, jednym z najbardziej popularnych modeli serwerów ciągłej integracji dostępnych na rynku. „W świecie, w którym chmura staje się towarem, a dystrybuowanie usług jest standardową procedurą, narzędzie takie jak ElasTest może zrewolucjonizować testowanie złożonych aplikacji”, dodaje Gortázar. Narzędzie zostało poddane walidacji w różnych dziedzinach użycia, takich jak sieć Web, sieć 5G, komunikacja w czasie rzeczywistym i internet rzeczy.

Konkretny cel

Mimo konieczności wprowadzeniu kilku poprawek w trakcie realizacji projektu, na przykład dotyczących dostarczenia rozwiązań zarówno dla testów automatycznych, jak i manualnych, badacze nie stracili z oczu swojego głównego celu: integracji różnych komponentów przy użyciu najlepszych praktyk w zakresie ciągłej integracji i dostawy. „Ta koncentracja na wyznaczonym celu pozwoliła nam realizować prace w stałym tempie, a jednocześnie zminimalizować ryzyko”, mówi Gortázar. „To właśnie jest tajemnica naszego sukcesu – sukcesu, który dobrze udokumentowaliśmy dzięki naszym szeroko zakrojonym działaniom informacyjnym”. Działania te objęły publikację 15 wydań oprogramowania ElasTest oraz szereg artykułów w 34 różnych czasopismach i na konferencjach – w tym na prestiżowej International Conference on Software Engineering (ICSE). Ponadto, projekt brał udział w kilku najważniejszych branżowych konferencjach poświęconych testowaniu oprogramowania.

Słowa kluczowe

ELASTEST, serwer ciągłej integracji Jenkins, rozproszone systemy oprogramowania, oprogramowanie, obliczenia, internet rzeczy, IoT, 5G

Informacje na temat projektu

Identyfikator umowy o grant: 731535

Status

Projekt zamknięty

  • Data rozpoczęcia

    1 Stycznia 2017

  • Data zakończenia

    31 Grudnia 2019

Finansowanie w ramach:

H2020-EU.2.1.1.

  • Całkowity budżet:

    € 5 031 187,50

  • Wkład UE

    € 4 270 187

Koordynowany przez:

UNIVERSIDAD REY JUAN CARLOS