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

Pozostałe:

Selenium WebDriver VS Cypress

Z pewnością Cypress miał mocne wejście w świat automatyzacji testów. Jednak od jego debiutu minęło już sporo czasu. Zamiast rozpychać się na rynku - Cypress widocznie mocno spuścił z tonu.Nie oznacza to jednak, że przestał się rozwijać, gdyż cały...

WOŚP 2021 – Twoje udostępnienie to nasza wpłata!

Od laika do Automatyka - największy w Polsce kurs online o automatyzacji testów, szkolenia, konsulting, doradztwo, usługi audytowe i wdrożeniowe. Dołącz do akcji wsparcia WOŚP Zapraszamy Cię do dołączenia do akcji wspierającej Wielką Orkiestrę Świątecznej Pomocy- 29...

Testowanie aplikacji mobilnych [Część 2]

W poprzednim materiale szczegółowo przedstawiłem aplikacje mobilne, ich typy, wady oraz zalety. Powiedziałem również nieco o testowaniu aplikacji mobilnych na urządzeniach rzeczywistych, emulatorach oraz w chmurze. Dzisiaj chciałbym skupić się stricte na etapach...

Testowanie aplikacji mobilnych [Cześć 1]

O tym, jak ważną rolę odrywania testowanie w całym procesie wytwórczym, nie trzeba już dzisiaj nikogo przekonywać. Ostatnio bardzo dotkliwie brak odpowiedniej jakości testów doświadczyli twórcy gry „CyberPunk 2077”. Długo wyczekiwana światowa premiera gry nie wypadła...