TOP 6 trendów w obszarze automatyzacji testów

gru 5, 2020

Testy oprogramowania a w szczególności automatyzacja testów są prężnie rozwijającą się dziedziną. Nic dziwnego — to niezbędny element związany z wytwarzaniem software’u. Znajomość aktualnych trendów w obszarze automatyzacji testów pozwala na tworzenie kodu o jeszcze lepszej jakości, w jeszcze krótszym czasie. Takie prognozy pozwolą także obecnym bądź przyszłym testerom automatyzującym określić kierunek, w którym mogą podnieść swoje kwalifikacje, by jak najbardziej zabłysnąć na rynku pracy. Szkolenia i kursy automatyzacji testów również warto wybierać pod kątem panujących trendów i zapotrzebowania na rynku.

Testy bezpieczeństwa

Coraz częściej można obserwować stawianie bezpieczeństwa oprogramowania na pierwszym miejscu. Nic dziwnego! Świadomość zagadnień związanych z prywatnością i ochroną danych osobowych jest już na stałe zakorzeniona u osób niezwiązanych nawet z branżą IT. Eksperci potwierdzają, że również zauważyli wzrost liczby przeprowadzanych testów bezpieczeństwa. Obserwujemy mocny nacisk na kwestie bezpieczeństwa w firmach. Bezpieczeństwo programów w dużej mierze zależy od warstwy aplikacji, która określa współużytkowane protokoły komunikacyjne. Chcąc szybko dostarczać oprogramowanie wysokiej jakości, należy zdawać sobie sprawę z zagrożeń, które mogą wykorzystywać luki zabezpieczeń obecne na tej warstwie. Tak silne skupienie się na bezpieczeństwie aplikacji i danych w całym cyklu życia systemu jest przodującym trendem w testowaniu oprogramowania. Steven Dimitrov, dyrektor ds. rozwiązań aplikacyjnych w firmie Merida podzielił się firmowymi statystykami — 60% testów wykonywanych przez jego pracowników polega na tradycyjnych testach, a pozostałe 40% skupia się na testowaniu bezpieczeństwa tych aplikacji. Kilka lat wstecz ta proporcja byłaby nieco inna. Skłaniałaby się wyraźnie ku większej przewadze testów tradycyjnych, które pochłaniały aż 80% czasu. Dawniej testom bezpieczeństwa poświęcano ledwie 20% uwagi.

Testowanie API

Temat testowania API powraca co jakiś czas niczym bumerang i można zauważyć, że w końcu zaczyna być traktowany z należytą powagą. Patrick Poulin, dyrektor generalny API Fortress podzielił się swoimi obserwacjami. Przez ostatnie kilka lat jego firma sponsorowała niemal 20 branżowych konferencji — testowanie API jest tematem, który staje się coraz częściej dyskutowanym. Jeszcze na początku 2019 roku mało kto zajmował się tymi testami. Jasno widać było to po konferencji, na której prezentacja o przejściu z manualnego do automatycznego testowania API przyciągnęła ledwie dziesięć osób. W tym momencie — na podobnych prezentacjach wszystkie siedzące miejsca są pozajmowane.

Sztuczna inteligencja

Stwierdzenie, że sztuczna inteligencja na stałe zagości w procesie testowania oprogramowania, nie tak dawno spotkałaby się tylko z uszczypliwymi komentarzami. Ta wizja nie jest jednak iluzją — testy z wykorzystaniem sztucznej inteligencji wejdą w życie. Prawdopodobnie o wiele szybciej, niż wszyscy sądzimy. W najbliższym czasie będziemy obserwować coraz więcej aplikacji wykorzystującej uczenie maszynowe. Testerzy oprogramowania powinni postrzegać te narzędzia jako pomoc, a nie potencjalne zagrożenie dla swoich stanowisk. Nowe rozwiązania wykorzystujące sztuczną inteligencję będą pojawiać się coraz częściej. Będą to zarówno rozwiązania płatne, jak i darmowe, open—source’owe projekty.

RPA

RPA ( Robotic Process Automation ) przetłumaczyć można jako automatyzację procesów biznesowych. To temat stosunkowo nowy, który szybko nabiera rozpędu. Czym tak naprawdę jest RPA? RPA różni się od automatycznych testów oprogramowania, ponieważ nie waliduje funkcji software’u, a jedynie automatyzuje pewne typowe, biznesowe przepływy pracy. Usprawnia w ten sposób cały proces poprzez eliminację ryzyka wystąpienia błędu ludzkiego. Przykładowo — system roszczeń ubezpieczeniowych. RPA pozwala na sterowanie częścią, a nawet całością procesu. Temat automatyzacji procesów biznesowych nie jest jeszcze bardzo popularny, ale to właśnie doskonały czas, by bardziej zainteresować się tym zagadnieniem. W tym momencie obszar automatyzacji testów zdaje się dość mocno zapełniony przez entuzjastów Selenium. Powszechność i popularność tego narzędzia przekłada się bezpośrednio na niższe pensje pracujących w tej branży ekspertów. Szukając podniesienia swoich kompetencji i zaprezentowania pracodawcy czegoś nowego i innego — warto zainteresować się RPA.

Inteligentne testowanie

Inteligentne testowane to znakomity sposób na zaoszczędzenie czasu, pieniędzy i zasobów. Normalnie, kiedy programista wypuszcza nową wersję oprogramowania, zaleca się przeprowadzanie jak największej liczby testów. Ostatnio jednak można dostrzec tendencję do wykonywania mniejszej ich ilości, skupionej na konkretnych zmianach, które zaszły w kodzie. Narzędzia inteligentnego testowania automatycznie wskazują na obszary, w których zaszły modyfikacje oprogramowania. Na ich podstawie wskazują testy, które należy wykonać, by pokryć konkretne zmiany. Jeśli wykonanie wybranych w ten sposób testów kończy się niepowodzeniem, można szybko powiązać błędy z konkretną aktualizacją oprogramowania. Znacznie przyspiesza to proces testowania kodu. W ostatnim czasie wprowadzono wiele narzędzi w tej dziedzinie — jednym z nich jest Sealights. Rozwiązanie firmy Parasoft, Selenic, także oferuje opcje związane z inteligentnymi testami.

AiOps

Termin AiOps odnosi się do wykorzystania sztucznej inteligencji nie tylko w zakresie testowania, ale ulepszenia wszystkich działań związanych z rozwojem oprogramowania. Narzędzia pokroju Appsurify pozwalają na przykład na określenie mocnych i słabych stron programistów na podstawie napisanego przez nich kodu. Dzięki temu rozdzielenie pracy tak, by maksymalnie wykorzystać zdolności pracowników, będzie dużo łatwiejsze, a oprogramowanie zyska na jakości. Bazując na historii danego programisty i obszarze kodu, w którym wprowadził zmiany, Appsurify ostrzeże także przed potencjalnie wadliwym fragmentem oprogramowania. Tematy związane z ciągłą integracją, dostarczaniem i testowaniem będą na pewno zawierać coraz więcej elementów sztucznej inteligencji.

Autor: Tomasz Stelmach

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pozostałe:

Typy testów

Testowanie oprogramowania to bardzo rozległy obszar branży IT. Testować aplikacje możemy na wiele sposobów, a same testy mogą mieć różne cele. I to właśnie wspomniane cele testowania, definiują typy testów, jakimi możemy poddać oprogramowanie. Jeśli celem testów jest...

Agile i SCRUM, czyli co?

Agile to ostatnimi czasy bardzo popularny termin. Jest odmieniamy przez wszystkie przypadki. Obecnie zdecydowana większość zespołów developerskich korzysta z Agile w swojej codziennej pracy. O „Agile” i „Zwinnym” podejściu do prowadzenia projektów słyszeli już chyba...

Raport z testów – must have!

Dzisiaj napiszę kilka słów o niezbędnym elemencie w każdym procesie testowym - mowa oczywiście o tytułowym – Raporcie z Testów. Na początek, krótka regułka określająca, czym tak naprawdę jest Raport z Testów: O jakich czynnościach testowych traktuje powyższa...

Testy wydajnościowe

W tym materiale chciałbym przybliżyć Wam tematykę testów wydajnościowych. Testy wydajnościowe te są dość specyficznym, ale jednocześnie popularnym i bardzo ważnym rodzajem testów w przekroju całego procesu testowego niemal każdego oprogramowania. Testowanie wydajności...

Testy End to End

W tym materiale postaram się przybliżyć Wam szczególny rodzaj testów, jakim niewątpliwie są testy End To End. Zapewne, jeśli jesteście testerami, czy tez osobami należącymi do zespołów zapewniania jakości, to nieraz słyszeliście termin „End-to-End”, czy...