Skip to main content
European Commission logo print header

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

Article Category

Article available in the following languages:

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 icon Gospodarka cyfrowa

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

Znajdź inne artykuły w tej samej dziedzinie zastosowania