Jakość nowej generacji

O najważniejszych trendach w zapewnieniu jakości w IT, kolejnych generacjach narzędzi do testowania oraz automatyzacji mówi Krzysztof Brud, członek Zarządu Soflab Technology.

Krzysztof Brud, członek Zarządu Soflab Technology

Soflab Technology zajmuje się, mówiąc w największym skrócie, dostarczaniem jakości w IT. W jaki sposób wspierają państwo klientów w obszarze zapewniania jakości? Jak dobierane są rozwiązania odpowiednie do potrzeb?

Współpracujemy z klientami głównie z rynku enterprise, ale coraz częściej również z segmentu małych i średnich firm. Pomagamy organizować proces testowy i cały obszar zapewnienia jakości w zakresie projektowania procesów, przeglądów oraz typowego consultingu. Skalę naszych przedsięwzięć dobrze obrazuje wieloletnia współpraca w obszarze QA z Centrum e-Zdrowia w ramach budowy elektronicznej platformy usług publicznych, które zapewniają Internetowe Konto Pacjenta, e-Recepta, e-Skierowanie, szczepienia i certyfikaty covidowe.

Zakres naszych działań jest bardzo szeroki – obejmuje różne segmenty rynku oraz usługi testowe z obszaru jakości. W ramach testów funkcjonalnych zajmujemy się przede wszystkim weryfikacją biznesową i weryfikacją funkcji na poziomie technicznym. W części nie funkcjonalnej weryfikujemy aspekty bezpieczeństwa i obszar wydajności działania.

Doradzamy też w procesie kontraktowania projektów na etapie zamawiania i odbierania, wspieramy w definiowaniu wymagań jakości i podejściu do ich oceny na etapie odbioru prac. Wykonujemy również projekty „emergency”, związane z odbiorem prac – gdy klient widzi, że otrzymuje od dostawcy coś innego, niż potrzebuje. Zdarza się, że klienci, zamawiając dany system, sądzą, że kupują gotowy produkt, który po prostu będzie działał – bez uwzględnienia integracji w swoim środowisku. Takie założenie często powoduje trudności i wyzwania, które dają nam przestrzeń do działania.

Staramy się zrozumieć potrzeby klienta i dobierać do nich rozwiązania. Do współpracy podchodzimy partnersko. Pracujemy zarówno z dostarczającymi, jak i zamawiającymi rozwiązania.

Mają państwo przekrojowy obraz rynku. Jak rozwijają się narzędzia do testowania i jak zmieniają potrzeby klientów?

Narzędzia do testowania są elementem transformacji cyfrowej, dlatego rozwijają się bardzo intensywnie. Dzisiaj wszyscy realizują projekty zwinnie, nawet najwięksi klienci. Popularny jest „model Spotify” czy tzw. tribes w organizacji. Zwinność wymusza automatyzację procesu dostarczania, a co za tym idzie, testowania.

Agile wymusił podejście DevOpsowe, w którym mamy automatykę pipeline rozwoju oprogramowania i chcemy mieć też automatyczną weryfikację jakości. Tutaj pojawia się TestOPS. Testy muszą być dostosowane do tego procesu. To jest trend, który wymusza na narzędziach do automatyzacji rozwój w tym kierunku. Dlatego coraz większy nacisk kładziemy na automatyzację weryfikacji API, a nie interfejsu użytkownika.

Dziś mamy trzecią generację narzędzi testów automatycznych. Pierwsza to był typowy capture and replay – czyli nagrywaliśmy, co działo się w interfejsie użytkownika i to odtwarzaliśmy. Druga generacja to tzw. sophisticated frameworks, była to próba zastosowania narzędzi testów automatycznych w podejściu zwinnym. Kluczowe ich ograniczenia związane są z kosztownym utrzymaniem skryptów, dlatego m.in. pozwalają na automatyzację zaledwie 30% testów. Narzędzia kolejnej, trzeciej generacji, tzw. codeless, nie wymagają wysokich umiejętności kodowania, znacznie poprawiają stabilność skryptów i zarządzanie środowiskiem uruchomieniowym, przez co zmniejszają koszty utrzymania testów automatycznych. Dzięki nim automatyzacja może osiągać poziom 90% funkcjonalności.

Rynek testowania rośnie bardzo szybko. Szacunki mówią, że w 2021 roku był wart globalnie 40 mld dolarów, a w kolejnej dekadzie ta wartość ma się podwoić. Firmy traktują jakość jako czynnik przewagi konkurencyjnej, podobnie jak łatwość obsługi interfejsu.

Coraz częściej narzędzia zaczynają też korzystać z możliwości sztucznej inteligencji. Tutaj zastosowań jest wiele, np.: identyfikacja elementów interfejsu użytkownika, analiza wpływu zmian rozwojowych na zestaw testów automatycznych, czy też tzw. self-healing execution. Wszystkie te usprawnienia mają na celu automatyzować stabilniej, więcej i szybciej.

Kolejną istotną sprawą jest zarządzanie danymi testowymi. Dane są jedną z newralgicznych kwestii w testowaniu rozwiązań. Każdy skrypt do testowania potrzebuje spójnych danych, a ich zapewnienie jest jednym z większych wyzwań automatyzacji. Optymalnym podejściem jest wykorzystanie danych produkcyjnych, a te muszą być anonimizowane. To ważne, szczególnie gdy migrujemy do chmury, gdzie przywiązujemy większą wagę do bezpieczeństwa. W tym zakresie wykorzystujemy własny produkt – SofLAB GALL – wspierający ten proces.

Należy pamiętać też o narzędziach wspierających sam proces testowania, tzw. ALM (Application Lifecycle Management). Dzisiaj są to głównie rozwiązania lekkie, np. pluginy do Jiry. Jira Software jest bardzo popularnym rozwiązaniem w projektach agilowych, przeznaczonym do zarządzania procesem tworzenia oprogramowania. Dzięki temu automatycznie mamy całą dokumentację w jednym miejscu.

Jak zmienia się podejście firm do konieczności testowania? Czy świadomość wzrosła w ostatnich latach?

Gdy 14 lat temu zaczynaliśmy naszą przygodę na niszowym rynku usług quality i testowania, zamawiający byli przekonani, że jakość zapewnia dostawca oprogramowania. Często jednak okazywało się, że czas i koszty od momentu dostarczenia oprogramowania do chwili uzyskania gotowości produkcyjnej były bardzo duże. Zobaczyliśmy potrzebę na rynku, że ten czas trzeba skracać, aby jak najszybciej uruchomić produkcyjnie dostarczone systemy.

Obecnie rynek testowania rośnie bardzo szybko. Szacunki mówią, że w ub. r. był wart globalnie 40 mld dol., a w kolejnej dekadzie ta wartość ma się podwoić. Świadomość potrzeby jakości jest duża i stale rośnie. Firmy traktują jakość jako czynnik przewagi konkurencyjnej, podobnie jak łatwość obsługi interfejsu. Dbają o to, żeby opinie na temat ich rozwiązań były pozytywne, troszcząc się o reputację.

Na jakie narzędzia czy obszary w dziedzinie automatyzacji kładą państwo teraz największy nacisk?

Klienci mają różne potrzeby i dysponują różnymi technologiami. Istotne jest podejście do automatyzacji testów, spójne z procesem dostarczania oprogramowania u klienta. Narzędzia powinny się w to środowisko wpisywać.

W portfolio mamy kilkadziesiąt narzędzi i zawsze proponujemy klientom te, które są odpowiednie do ich potrzeb i możliwości. Korzystamy m.in. z rozwiązań open source, takich jak Selenium 4 czy TestProject.io bazujący na Selenium, a obejmujący także testy na urządzeniach mobilnych dzięki zastosowaniu Appium. Natomiast gdy mamy do czynienia z systemami desktopowymi, a nie webowymi, rekomendujemy inne rozwiązania, m.in. Ranorex. Przy bardziej złożonych środowiskach, gdy mamy procesy, które przechodzą przez wiele technologii, proponujemy coś bardziej zaawansowanego, np. Tricentis Tosca. Uważam, że obecnie to rozwiązanie jest liderem w kwestiach automatyzacji testów.

Ważne jest, w jaki sposób klient planuje rozwijać automatyzację testów. Rozwiązania typu open source wymagają większych kompetencji technicznych, zarówno w kwestii samego środowiska testów automatycznych, jak i przygotowania oraz utrzymania skryptów testowych. Rozwiązania trzeciej generacji automatyzacji testów nie wymagają kompetencji programistycznych po wdrożeniu i mogą być rozwijane przez zespoły testowe klienta.

Istotnym elementem automatyzacji jest stabilne środowisko testowe i uruchomieniowe skryptów automatycznych oraz spójne i bezpieczne dane testowe. Są one szczególnie dużym wyzwaniem w automatyzacji, dlatego istotne jest, aby dobrze zaprojektować cały TestOPS – proces automatyzacji.

Jakie plany rozwoju ma Soflab?

Zamierzamy kontynuować rozwój w kilku kierunkach. Działamy w innych obszarach automatyzacji, rozwijamy usługi robotyzacji procesów biznesowych, automatyzacji procesów IT, czy też monitoringu wydajności systemów po ich wdrożeniu.

Nadal jednak chcemy się specjalizować w obszarach zapewnienia jakości i automatyzacji testów. W ten sposób rozwijamy swój własny produkt – SofLAB GALL, czyli narzędzie do zapewniania spójnych danych testowych i zarządzania nimi oraz anonimizacji tych danych. Już teraz z jego wsparciem oferujemy usługę Test Data Generation.

Rozwijamy także usługi doradztwa i wsparcia klientów w budowaniu środowisk automatycznych w środowisku chmurowym. Odpowiadamy na potrzeby naszych klientów w zakresie zapewnienia specjalistów IT również poza obszarem QA.

W branży technologicznej jednym z największych wyzwań jest znalezienie i utrzymanie wykwalifikowanych specjalistów IT. Jak państwo radzą sobie z tym wyzwaniem?

Zawsze dbaliśmy o kulturę organizacji, o środowisko pracy, które budujemy wspólnie z naszymi pracownikami. Chcemy przyciągać specjalistów i być dla nich atrakcyjnym miejscem rozwoju zawodowego. W obszarze QA mamy ponad 200 specjalistów w zespole. Średni staż pracy w SofLAB wynosi sześć lat, co pokazuje, że nasze działania są skuteczne.

Staramy się dawać szanse również osobom wchodzącym na rynek. Jako jedni z pierwszych uruchomiliśmy Szkołę Testerów, gdzie prowadziliśmy specjalistyczne kursy. Bardzo często proponowaliśmy potem uczestnikom współpracę i zwrot kosztów. W 2021 r. uruchomiliśmy Bootcamp automatyzacji testów, z sukcesem realizujący mniejsze projekty komercyjne w tym zakresie.

W tym roku „Computerworld TOP200” obchodzi 30-lecie. Jakie były najważniejsze trendy w technologii w ostatnich latach? Jakie będą najważniejsze w nadchodzącym czasie?

Najważniejszym trendem jest cyfryzacja, czyli automatyzowanie zadań i wykorzystywanie innowacyjnych technologii do tego, żeby zastępować prace manualne. Wśród zjawisk, które zmieniły naszą rzeczywistość w ostatniej dekadzie, są nowe modele korzystania z IT – chmura czy wszystko jako usługa (tzw. Everything As a Service). Także sztuczna inteligencja pojawiła się już w wielu obszarach i wchodzi z sukcesem na nowe pola – również w testowaniu aplikacji. Myślę, że to są trendy, które będą wciąż się rozwijały.


Jakość nowej generacji

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200