European Commission logo
polski polski
CORDIS - Wyniki badań wspieranych przez UE
CORDIS

Automatic System Testing

Article Category

Article available in the following languages:

Automatyczne testy usprawnią proces tworzenia oprogramowania

Nowe narzędzie może automatycznie generować przypadki testowe na potrzeby aplikacji, sprawiając, że cały proces tworzenia oprogramowania jest znacznie wydajniejszy.

Gospodarka cyfrowa icon Gospodarka cyfrowa

Przed wprowadzeniem aplikacji na rynek trzeba ją w pełni zweryfikować – jest to proces obejmujący długie i kosztowne testy. Choć istnieje wiele narzędzi i metod automatycznego przeprowadzania testów na poziomie jednostki i testów po integracji, testowanie systemów pozostaje w dużej mierze procesem ręcznym. W wyniku tego jest to drogi i czasochłonny etap w procesie tworzenia oprogramowania. Aby pomóc rozwiązać ten problem, twórcy projektu AST finansowanego ze środków UE, których pracę wsparła Europejska Rada ds. Badań Naukowych, opracowali narzędzie mogące skutecznie i automatycznie generować przypadki testowe na potrzeby aplikacji. Znajduje się ono obecnie w fazie przedkomercyjnej. „Obecnie projektanci oprogramowania muszą poświęcać dużo czasu, sprawdzając poprawki aplikacji, które tworzą i konserwują”, opowiada Leonardo Mariani, profesor na Uniwersytecie Bicocca w Mediolanie i koordynator projektu AST. „Poprzez szybką weryfikację kilku scenariuszy automatyczne przypadki testowe pozwolą projektantom poświęcać więcej czasu na subtelniejsze przypadki, które trzeba sprawdzać ręcznie”.

Automatyczne rozwiązanie do przeprowadzania testów

Łącząc kilka różnych technik, w tym sztuczną inteligencję, w projekcie z powodzeniem opracowano automatyczne rozwiązanie do przeprowadzania testów. „Nasze automatyczne rozwiązanie do generowania testów wykorzystuje uczenie przez wzmacnianie, aby przyrostowo uczyć się, w jaki sposób zachowuje się testowane oprogramowanie”, wyjaśnia Mariani. „Na podstawie zdobytej wiedzy rozwiązanie stopniowo zwiększa skuteczność generowanych testów”. Według Marianiego kiedy rozwiązanie jest uruchomione jednocześnie na wielu urządzeniach, proces uczenia się przebiega jeszcze szybciej. „Zajęliśmy się też problemem automatycznego pozyskiwania znaczących wartości wejściowych, takich jak nazwa prawdziwego adresu wprowadzanego do aplikacji”, dodaje. „Aby to osiągnąć, stworzyliśmy rozwiązanie, które wykorzystuje ponownie istniejące magazyny danych, takie jak bazy danych na potrzeby testów i produkcji, które są zwykle dostępne w ramach organizacji”.

Dobry początek automatyzacji testów

Gdy pandemia COVID-19 utrudniła dalsze prace nad projektem, zespół szybko przeorganizował się i znalazł sposób zdalnego dostępu do serwerów i oprogramowania. „Praca zdalna i odbywanie jedynie wirtualnych spotkań to nie to samo co fizyczna współpraca”, zauważa Mariani. „Jednak mimo to udało nam się osiągnąć to, co zamierzaliśmy: stworzyliśmy rozwiązania technologiczne, które potrafią skutecznie generować przypadki testowe na potrzeby złożonych aplikacji internetowych”. Mimo że narzędzie AST reprezentuje dobry początek automatyzacji testów, naukowcy wciąż mają sporo pracy do wykonania. Dlatego też zespół projektu pracuje obecnie nad skalowaniem tego narzędzia, aby mogło ono zajmować się nawet jeszcze bardziej złożonymi i dużymi systemami oprogramowania. Badacze pracują też nad dopilnowaniem, by narzędzie rozpoznawało rosnącą liczbę problemów, które mogą wpłynąć na oprogramowanie podczas testów. „Poszerzyliśmy swoją bazę wiedzy z dziedziny automatyzacji testów i wypuściliśmy narzędzia, które można wykorzystywać zarówno do przyspieszania badań naukowych nad testowaniem stron internetowych, jak i do analizowania zastosowania przemysłowego automatycznego generowania przypadków testowych”, podsumowuje Mariani.

Słowa kluczowe

AST, oprogramowanie, tworzenie oprogramowania, aplikacje, projektant oprogramowania, testowanie systemu, sztuczna inteligencja, automatyzacja testów

Znajdź inne artykuły w tej samej dziedzinie zastosowania