Ruszyły zapisy na szkolenia stacjonarne: "Testowanie manualne i automatyczne w praktyce". Ustalamy lokalizacje i terminy.

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:

Jak mierzyć jakość oprogramowania?

Istnieją różne cele testowania oprogramowania. Jednym z głównych celów testowania jest mierzenie jakości oprogramowania. Czym zatem jest ta tajemnicza „jakość”? Jakość oprogramowania to zestaw istotnych cech, które wyróżniają dane oprogramowanie – negatywnie lub...

Środowisko testowe – słów kilka

W tym materiale postaram się Wam przybliżyć nieco temat środowisk, a w szczególności skupić się na środowiskach testowych. Na samym początku musimy sobie zadać podstawowe pytanie: „Czym w ogóle jest środowisko w kontekście pracy dowolnej aplikacji?” Środowisko – to...

Poziomy wykonywania testów

Wytwarzanie oprogramowania to zwykle długi, czasochłonny, skomplikowany proces. Aby przebiegał on poprawnie i dało się nim efektywnie zarządzać - proces developmentu dzielony jest na różne etapy, fazy. Każda faza charakteryzuje się swoimi unikalnymi czynnościami i...

Best Practices testowania aplikacji mobilnych

Testowanie aplikacji mobilnych jest niezbędne, aby upewnić się, że każda aplikacja spełnia postawione przed nią wymagania techniczne oraz biznesowe. Ważne jest, aby każdy tester aplikacji mobilnych stosował sprawdzone i przede wszystkim skuteczne metody testowania. Z...

Przydatne narzędzia wspomagające testowanie oprogramowania

Efektywne testowanie oprogramowania zarówno manualne jak i automatyczne wymaga wykorzystania przeróżnych narzędzi i rozwiązań softwarowych. Na rynku znajdziemy ogromną liczbę narzędzi usprawniających proces testowania oprogramowania, a przy ogromnym wyborze trudno...