Co nowego czeka nas w automatyzacji testów w najbliższych miesiącach?

 

Miniony rok był bez wątpienia rokiem, w którym tempo cyfryzacji firm znacząco wzrosło. Pandemia przyśpieszyła cyfrową transformację sprawiając, że większość firm kładzie obecnie większy nacisk na cyfryzację i rozwój oprogramowania. Szybki rozwój z kolei sprawia, że utrzymanie jakości jest coraz trudniejsze – znacząco wzrosła więc ilość potrzebnych testów oprogramowania. Z pomocą przychodzi oczywiście ich automatyzacja. Jakie wyzwania czekają automatyzację testów w 2021 roku? 

Dalszy wzrost udziału JavaScript w automatyzacji testów

Według danych zebranych przez Applitool Eyes aktualnie najpopularniejszym językiem programowania wśród testerów automatyzujących jest Java – używa jej 44% osób. Coroczny spadek zainteresowania tym językiem jest na poziomie błędu statystycznego i wynosi zaledwie 1%. Mimo rozwoju rynków IT i wprowadzania nowych technologii stara dobra Java a wraz z nią biblioteka Selenium i Appium ciągle dzierżą palmę lidera. Co ciekawe, ma to miejsce tylko w kategorii testów automatycznych, bowiem dla szeroko rozumianego rozwoju oprogramowania Java utraciła pierwsze miejsce już wcześniej.

Drugim najczęściej wybieranym językiem do automatyzacji testów jest JavaScript. W roku 2020 była wybrana przez 35% testerów automatyzujących. Rok wcześniej było to tylko 15%, więc jest to ogromny wzrost procentowy z dużym potencjałem na dalsze wzrosty. Istotną rolę w zyskiwaniu popularności tego języka gra rozwój nowoczesnych frameworków jak np. Cypress. Kamieniem milowym dla tego frameworka było dodanie możliwości uruchamiania testów na przeglądarkach innych niż Chrome, co miało miejsce na początku 2020 roku. Została w ten sposób wyeliminowana jedna z najczęściej wymienianych wad Cypress w tamtym czasie. Dzięki temu był on wybierany przez 47% testerów automatyzujących w JavaScript. Poza samym rozwojem Cypress w miejscu nie stały również inne narzędzia do automatyzacji jak WebdriverIO oraz TestCafe.

W błyskawicznym tempie w minionym roku Cypressowi zaczęła rosnąć konkurencja ze strony Microsoftu i ich produktu o nazwie Playwright. Zdecydowanie będzie on szybko zdobywał nowych użytkowników w 2021 roku.

Wzrost zainteresowania testami wizualnej regresji

Testy wizualnej regresji są świetnym uzupełnieniem funkcjonalnych testów automatycznych, ponieważ te drugie nie sprawdzają wyglądu testowanej strony. Testy funkcjonalne, jak nazwa wskazuje, sprawdzają czy dane funkcjonalności działają jak należy, nie są natomiast wrażliwe na zmiany wyglądu. Testy wizualne pozwalają bardzo szybko wychwycić nawet najmniejsze zmiany w wyglądzie testowanej strony. Utworzenie testu wizualnej regresji, który sprawdza całą stronę (widok) zazwyczaj nie zajmuje wiele czasu. Możemy dzięki temu bardzo dobrze nadzorować poszczególne zmiany w systemie i je akceptować (jeżeli są zamierzone) lub zgłosić (jeżeli powstały w wyniku błędu). Pozwala to na znacznie szybsze wykrywanie błędów, co zostaje zauważone przez coraz większą ilość klientów, którzy chcą, aby do automatycznych testów funkcjonalnych dołączyć testy wizualne.

Rozwój działu automatycznych testów urządzeń mobilnych

Dynamiczny rozwój rynku urządzeń mobilnych pociąga za sobą wzrost zapotrzebowania na zapewnienie wysokiej jakości również i w tym obszarze. Według raportu „State of Test Automation 2020 – 2021” firmy Kobiton dla  37,3% firm dział mobilny jest działem krytycznym dla ich funkcjonowania. Około 79% firm stwierdziło, że zainwestowałoby więcej w testowanie aplikacji mobilnych w tym roku. Potrzeba automatyzacji w tym obszarze jest więc ogromna i ciągle rośnie. Poszukiwani będą testerzy automatyzujący mający doświadczenie w automatyzacji w co najmniej jednym z narzędzi dedykowanych dla urządzeń mobilnych: Appium, Espresso czy Xamarin.UI.Test. Rynek mobilny jest zbyt obszerny, aby można było odpowiednio przetestować każdą wersję systemu operacyjnego, każde urządzenie i każdą konfigurację, za pomocą testów manualnych. Narzędzia do automatyzacji testów zapewniają szybsze ich wykonywanie i szerszy zakres.  

Automatyzacja procesów RPA

Robotic Process Automation to technologia, która umożliwia dziś każdemu konfigurację oprogramowania komputerowego lub „robota” do emulacji i integracji działań człowieka, wchodzącego w interakcję z systemami cyfrowymi, w celu wykonania procesu biznesowego. Roboty RPA wykorzystują interfejs użytkownika do przechwytywania danych i manipulowania aplikacjami tak, jak robią to ludzie. Interpretują, wyzwalają odpowiedzi i komunikują się z innymi systemami, aby wykonywać różnorodne, powtarzalne zadania, z tą różnicą, że robią to znacznie lepiej niż ludzie, gdyż zaprogramowany robot RPA nigdy nie śpi i nie popełnia błędów. Firma Forrester Research szacuje, że wartość globalnego rynku RPA przekroczy 2,9 miliarda dolarów do 2021 roku. Firmy posiadające wiele różnych systemów, które najczęściej są zbyt kosztowne aby wymienić je na nowe, decydują się więc na automatyzację interakcji między nimi przy zastosowaniu RPA. Rynek ten ciągle rośnie, a wraz z nim zapotrzebowanie na specjalistów – trend ten utrzyma się w 2021 roku. 

Machine Learning i Artificial Intelligence

Ostatnim na liście trendów jest dalszy wzrost wykorzystywania uczenia maszynowego oraz sztucznej inteligencji. Powstaje (i będzie powstawać) coraz więcej narzędzi wspomagających testerów automatyzujących, a większość tych narzędzi będzie dotyczyła rozwiązywania zagadnień, takich jak:

  • optymalizacja zestawu testów: określanie i eliminowanie niepotrzebnych i nadmiarowych przypadków testowych,
  • analiza logów: odkrywanie przypadków testowych, które wymagają zarówno testów manualnych, jak i automatycznych,
  • analiza defektów: wykrywanie obszarów aplikacji i usterek powiązanych ze zwiększonym ryzykiem firmy,
  • analityka predykcyjna: szacowanie kluczowych parametrów i specyfikacji zachowań klienta końcowego i podpowiadanie obszarów aplikacji, na których warto się skoncentrować,
  • automatyczne uzupełnianie kodu – dokładniejsze podpowiadanie składni oraz uzupełnianie kodu testów automatycznych na podstawie wyuczonych wzorców i dobrych praktyk programowania.

Oczekuje się, że do 2025 r. łączne globalne inwestycje w sztuczną inteligencję osiągną pułap prawie 200 mld USD .

Podsumowanie

Rynek automatyzacji testów oprogramowania nieustannie ewoluuje i zmienia się. Warto znać kierunek zmian, aby jako firma lub organizacja nie pozostać w tyle za innymi, ale wręcz ich wyprzedzić. Zmianom ulegać muszą również umiejętności testerów automatyzujących, którzy śledząc trendy, mogą się doszkalać i tym samym stawać się coraz bardziej pożądanymi na rynku pracy.