Testowanie automatyczne stało się niezbędną częścią tej gałęzi biznesu, która zajmuje się wytwarzaniem oprogramowania. Stawia się też przed nim konkretne biznesowe cele. Jakie trendy zdominują 2021 rok i przesądzą o tym, komu przypadnie największy kawałek rynkowego tortu?

Wraz z szybkim rozwojem metodyk Agile i DevOps, testowanie automatyczne zostało włączone do zwinnego (i dzięki temu znacznie przyspieszonego) procesu wytwarzania kodu. Jedną z bezpośrednich konsekwencji tej zmiany było tzw. przesunięcie testowania w lewo (shift-left testing), czyli do najwcześniejszego etapu wytwarzania oprogramowania, które może opierać się już na zebraniu wymagań biznesowych. Przed „erą Agile” testowanie obejmowało jedynie efekt końcowej pracy programistów, co skutkowało zwiększonymi kosztami utrzymania i naprawiania efektów przeoczonych błędów, nie wspominając już nawet o ogromnych stratach wizerunkowych i odpływie rozczarowanych klientów. Nic więc dziwnego, że ankietowana w „World Quality Report 2019-2020” kadra zarządzająca IT za najważniejszy cel testowania i QA w 2019 roku uznała „wpływ na rozwój biznesowy i osiąganie celów biznesowych”:

Wykres 1. Odpowiedzi kadry zarządzającej dotyczące celów testowania i QA w 2019 roku:

Źródło: The World Quality Report 2019-2020

Jednak testowanie w 2013 roku, kiedy Agile zaczął zyskiwać na popularności, i obecnie, to dwa różne światy. Co przyczyni się do zwiększenia wyników biznesowych po tym, jak Agile stało się niezbędnym sposobem pracy w zakresie wytwarzania oprogramowania?

Automatyzacja nowej generacji

Rynek testowania oprogramowania przeżywa w ostatnich latach prawdziwy rozkwit, a według najnowszych analiz – to dopiero początek. Według raportu Techavio „Rynek usług testowania oprogramowania w podziale na produkty, użytkownika końcowego i regiony. Prognozy i analizy na lata 2020–2024”, ma się on w najbliższych latach rozwijać w jeszcze szybszym tempie – z CAGR na poziomie 12,62 proc. Czytaj więcej o biznesowych konsekwencjach tego zjawiska. Nieodłącznym elementem tego procesu jest rozwój testów automatycznych, które wspierają zmiany zachodzące dzięki wdrożeniu metodyk Agile i DevOps. Obecnie narzędzia, które oferują jedynie proste funkcje nagrywania przeprowadzanych na stronie czy w aplikacji testów, są już niewystarczające. Aby dotrzymać tempa szybko zachodzącym w środowisku deweloperskim zmianom, potrzeba oprogramowania, które pozwoli zautomatyzować większość wykonywanych przez testerów czynności przy założeniu, że obsługuje je osoba bez umiejętności kodowania. Konieczne jest dostarczenie funkcjonalności, które w ciągu kilku sekund wskażą najbardziej podatne na wystąpienie błędów części kodu. Sprawdź 10 cech, które powinno mieć narzędzie do testowania automatycznego nowej generacji. Testowanie automatyczne przestało być już tylko narzędziem okresowo wspierających testerów w pracy – jest ono nieodłącznym elementem procesu end-to-end testing.

Uruchom testy z BugBug już dziś!

Sztuczna inteligencja (AI) i uczenie maszynowe (ML)

Choć są to w ostatnich latach bardzo popularne i nośne hasła, jak wskazuje najnowszy raport „World Quality Report 2019-2020”, wykorzystywanie atutów tych technologii w branży testerskiej dopiero się zaczyna. Początki są obiecujące, a prognozy na temat tempa rozwoju tego rynku (według TechWiz w 2025 roku jego wartość ma wynieść 190,6 mld dolarów) potwierdzają jego ogromny potencjał. Jak czytamy we wspomnianym wyżej raporcie, zastosowanie sztucznej inteligencji w procesie testowania jest nieodłącznym elementem w dążeniu do smart testing, czyli zapewnienia maksymalnej efektywności i skuteczności testowania już na najwcześniejszych etapach wytwarzania kodu. Co ważne, aby w pełni skorzystać z możliwości, jakie daje ta technologia, konieczne jest odpowiednie przeszkolenie specjalistów QA i testerów, którzy będą wdrażać proponowane przez nią rozwiązania. Firmy, które jako pierwsze dostrzegą tę potrzebę, zapewnią sobie dużą przewagę konkurencyjną. Eksperci cytowani w „World Quality Report 2019-2020” wskazują też na pomocniczą rolę uczenia maszynowego w procesie podnoszenia jakości testowania z wykorzystaniem AI. W jaki sposób może podnieść ono jakość testowania? Jak czytamy w raporcie, „W miarę, jak organizacje przyzwyczajają się do wykorzystywania ML, będą rozumieć różnicę między sztuczną inteligencją a uczeniem maszynowym. Dostrzegą, że na efektywność procesu testowania z wykorzystaniem AI wpływa dostęp do odpowiednich danych, a to umożliwia właśnie ML, przetwarzając ich duże wielkości, dzięki czemu pomaga zidentyfikować i zoptymalizować przypadki testowe”.

Technologia Big Data

To kolejny świetny przykład na to, jak testowanie automatyczne jest nieodłącznie związane z najnowszymi trendami w świecie oprogramowania i nowych technologii, a także rozwoju rynku e-commerce. Big Data jest wykorzystywane w tworzeniu oprogramowania do testów automatycznych (na przykład z zastosowaniem wspomnianego wyżej ML), jednak zbiory danych także wymagają testowania i nieustannego monitoringu. Dobrze widać to na przykładzie dużych sklepów internetowych czy na przykład programów obsługujących systemy opieki zdrowotnej. Tak duże konglomeraty danych wymagają testowania na każdym etapie: wprowadzania, przetwarzania, migracji, wydajności i szybkości działania. Wraz z postępującymi procesami digitalizacji, obecnymi w każdej gałęzi biznesu, zapotrzebowanie na tego rodzaju usługi będzie rosło.

Nowe wyzwanie – Internet of things

„World Quality Report 2019-2020” wspomina szybki rozwój testowania w zakresie IoT szczególnie w branży samochodowej, energetycznej i telekomunikacyjnej. W tej ostatniej wyzwaniem najbliższych lat będą implikacje, jakie niesie ze sobą wdrożenie technologii 5G, jak piszą Darren Coupland (Sogeti) i Mandan Sundaraju (Capgemini), „stworzy to nową dynamikę w zakresie QA i testowania. Wszystkie nowe przypadki użycia tej technologii będą musiały zostać potwierdzone od początku do końca. Dlaczego? Przez wzrost wykorzystania Internet of things (IoT) w rozwiązaniach 5G ma swoje skutki nie tylko dla aplikacji IT, lecz także dla urządzeń samych w sobie. Przykładowo: nie tylko aplikacja do zarządzania sygnalizatorem świetlnym będzie wymagała przetestowania, lecz także czujnik światła”. Pokrycie testowe działania inteligentnych urządzeń połączonych z aplikacjami to już konieczność w świetle gwałtownego rozwoju rynku IoT. Jak podaje Testing Whiz, w 2016 roku był on wart 6,4 mld dolarów, a w 2020 jest to już ponad 20 mld dolarów.

Technologia blockchain jako nowy model biznesowy

Rozwiązania blockchain są coraz częściej wykorzystywane w zakresie przetwarzania i ochrony danych. W raporcie Deloitte „5 trendów w blockchain na 2020 rok” widać ich rosnącą popularność i zwiększanie zakresu wykorzystania:

Zdjęcie 1. Wnioski na nadchodzący rok w zakresie wykorzystania technologii blockchain w biznesie.

Źródło: Deloitte report “5 Blockchain Trends for 2020”

Branże, w których w planowane jest zwiększenie zastosowania technologii blockachain w ciągu następnych 12 miesięcy to:

  • technologia, media i telekomunikacja (z 45 na 49 proc.),
  • energetyczna (z 37 na 43 proc.),
  • przemysłowa (z 40 na 43 proc.),
  • nauki przyrodnicze i opieka zdrowotna (z 36 na 41 proc.),
  • finansowa (z 33 do 38 proc.),
  • usługi profesjonalne (z 24 do 33 proc.),
  • przemysł i usługi budowlane (z 32 do 33 proc.).

Testowanie odgrywa kluczową rolę w produktach bazujących na blockchain, ponieważ sprawdza ich poziom bezpieczeństwa i efektywność gromadzenia danych. W tych dziedzinach nie ma miejsca na pomyłkę.

Wzrost znaczenia security testing w testowaniu automatycznym

Ten trend odzwierciedlają statystyki przedstawione w „World Quality Report 2019-2020”, w którym ankietowani wskazali kwestie bezpieczeństwa i ryzyka jako najważniejsze dla realizowanej w firmach strategii IT. Skala security testing przeprowadzanego w środowisku cloud computingu wzrosła z 42 proc. do 57 proc., co świadczy o rozwoju zabezpieczeń i sposobu przeprowadzania tego rodzaju testów, a także dostosowaniu tej gałęzi testowania do wymagań tempa pracy w Agile, ponieważ testowanie w chmurze pozwala na szybsze wprowadzanie zmian i reakcję na nie. W celu zapewnienia jak największego pokrycia security testing, autorzy „World Quality Report 2019-2020” rekomendują wprowadzenie go już na najwcześniejszych etapach wytwarzania oprogramowania oraz przeprowadzania go za pomocą narzędzi do automatyzacji testów. Co ciekawe, zastosowanie automatyzacji w tym rodzaju testowania jest zadziwiająco niskie, bo obejmuje tylko 13 proc. podejmowanych w ten sposób działań. Jeśli spojrzymy jednak na wagi przypisywane poszczególnym aspektom bezpieczeństwa w procesie wytwarzania oprogramowania, wzrost zastosowania security testing wydaje się niemal pewny:

Wykres 3. Ranking ważności określonych aspektów bezpiecznego wytwarzania oprogramowania.

Źródło: The World Quality Report 2019-2020

Performance engineering jako niezbędny sposób myślenia i pracy

Czasy, w których testowanie automatyczne i praca nad wytwarzaniem oprogramowania polegała tylko na dostarczeniu wymaganych rozwiązań, a każdy z zespołów pracował osobno nad swoimi zadaniami, można określić mianem programistycznej epoki kamienia łupanego. Teraz miarą sukcesu jest stworzenie produktu, nad którym w równym stopniu pracują wszystkie teamy. Wszyscy zaangażowani w projekt (strona biznesowa, project managerowie, programiści, QA, testerzy) od początku zapoznają się z wymaganiami biznesowymi i potrzebami użytkownika, zadają pytania i proponują możliwe rozwiązania. Dzięki temu już na początkowym etapie możliwe jest wprowadzanie zmian, które chronią przed nieodwracalnymi (lub bardzo kosztownymi) błędami na produkcji. W ten sposób performance engineering doskonale wpisuje się w założenia Agile, zakłada bowiem spojrzenie na wytwarzany produkt z poziomu „meta” oraz ścisłą współpracę wszystkich działów zaangażowanych w jego wprowadzenie na rynek i wartość, jaką ze sobą niesie w zakresie software, hardware, bezpieczeństwa, UX, wydajności i szybkości działania.

Oszczędź do 70% czasu pracy testerów oprogramowania

Niezawodne, kompleksowe oprogramowanie, które usprawnia pracę testerów i programistów.

Zamów newsletter