Branża IT ewoluuje. Zmieniają się technologie i procesy wytwarzania oprogramowania, a wraz z nimi również zmieniają się także techniki testowania oprogramowania. Minęły już czasy, kiedy testowanie kojarzyło się głównie z manualnym „klikaniem” po aplikacjach. Obecnie rola testera coraz bardziej opiera się na automatyzacji i testowaniu nie tylko warstwy wizualnej, czyli np. API, co wraz z coraz większą świadomością potrzeby tego jak ważna jest jakość wytwarzanego oprogramowania, zwiększa zapotrzebowanie na specjalistów QA.
Niestety, w oczach niektórych przyszłość testowania oprogramowania nie rysuje się tylko i wyłącznie w jasnych barwach. Istnieje obawa, że narzędzia oparte o sztuczną inteligencję w przyszłości przyczynią się do spadku zainteresowania „ludzkimi” testerami. Dodatkowo, automatyzacja testów może wykluczać niektórych testerów z rynku. Pytanie, które coraz częściej pojawia się w dyskusjach na temat przyszłości testowania oprogramowania, brzmi: „Czy testerzy oprogramowania będą jeszcze potrzebni?”. W poniższym artykule zastanowię się, jak w ciągu następnych kilku lat zmieni się branża Quality Assurance i czego mogą spodziewać się testerzy.
Czy testerzy mogą obawiać się o swoje zatrudnienie? Według mnie – tak.
Dlaczego tak uważam? Zanim to wyjaśnię, cofnijmy się na chwilę w czasie.
Jeszcze kilka lat temu zawód „tester oprogramowania” kojarzył się głównie z testowaniem manualnym, czyli potocznym „klikaniem” po aplikacji webowej w celu znalezienia w niej błędów. To dość potoczne skojarzenie nie odbiegało aż tak bardzo od rzeczywistości. Testowanie oprogramowania w głównej mierze polegało na przeprowadzaniu testów manualnych, a sami testerzy często nie musieli posiadać większej technicznej wiedzy. W procesie SDLC testy znajdowały się na końcu, ponieważ testowano zwykle gotowe funkcjonalności, lub nawet gotowy produkt.
Automaty, wydajność i inne bajery
Obecnie sytuacja ta diametralnie się zmieniła. Testowanie oprogramowania i sama branża testerska doświadczyły znaczących zmian w ciągu kilku ostatnich lat:
- jakość tworzonego oprogramowania jest coraz częściej stawiana na pierwszym planie. Coraz rzadziej słyszy się o testowaniu aplikacji dopiero na środowisku produkcyjnym, bez ustalonego planu testów, bez dokumentacji, jedynie manualnie, jak najszybciej i jak najtaniej. Zarówno zespoły projektowe, jak i klienci mają świadomość tego, że testy oprogramowania są niezbędne.
- Przed oprogramowaniem stawiane są konkretne wymagania, lecz już nie tylko funkcjonalne („ma działać”), ale także niefunkcjonalne, czyli wymagania dotyczące wydajności i bezpieczeństwa.
- Nastąpiło upowszechnienie automatyzacji testów, a obecnie coraz częściej testy traktowane są jako część procesu CI/CD. Zautomatyzowane scenariusze testowe (często uruchamiane automatycznie) na bieżąco śledzą i monitorują aplikację i szybko zwracają informację o wykrytych w niej błędach
- dochodzi do tego trend Shift-Left Testing, czyli przesunięcie testowania na wcześniejsze etapy cyklu życia oprogramowania. Testerzy są coraz bardziej zaangażowani w planowanie jakości na każdym etapie cyklu życia oprogramowania, od analizy wymagań, przez projektowanie, aż po wdrożenie i utrzymanie – czyli w książkowe Quality Assurance.
Ta, z pewnością niepełna lista, najlepiej obrazuje jak duży skok wykonała branża testerska w ciągu kilku ostatnich lat i jak ewoluowała rola testera oprogramowania.
Jak ma wyglądać przyszłość testowania oprogramowania?
Moim zdaniem, niedaleka przyszłość przyniesie spore zmiany w podejściu do testowania oprogramowania:
- wzrośnie znaczenie automatyzacji testów i to głównie na niej będą skupiać się inżynierowie QA
- powszechne stanie się testowanie w chmurze
- od QA coraz częściej będzie wymagana wiedza dotycząca bezpieczeństwa
- narzędzia AI będą coraz częściej używane do wspomagania pracy specjalistów: generowania testów, tworzenia danych testowych, Q&A podczas tworzenia testów automatycznych itd.
Czyli w dużym skrócie, stawiam na dynamiczny rozwój tzw. inżynierii testów oprogramowania. Testowanie oprogramowania będzie bardziej zautomatyzowane, inteligentne i zintegrowane, jednak będzie to prowadzić do większych wymagań stawianych przed testerami – zarówno tymi doświadczonymi, jak i tymi, którzy dopiero będą wchodzić do branży.
Czy dla testerów nadchodzą gorsze czasy?
Tak – dla osób, które testują manualnie i nie poszerzyły swoich kompetencji o nic więcej. Ci specjaliści będą mieli problem z odnalezieniem się na rynku za kilka lat, gdzie będzie się od nich wymagać wiedzy jak automatyzować testy, jak poruszać się po procesach CI/CD, jak wspomagać się narzędziami AI, jak testować API, itd.
Testerzy, którzy będą w stanie dostosować się do nowych technologii i narzędzi, będą nadal odgrywać kluczową rolę w zapewnianiu jakości oprogramowania. Według mnie, na rynku utrzyma się trend dużego zapotrzebowania na specjalistów QA, którzy posiadają umiejętności techniczne i potrafią zadbać o cały proces zapewnienia jakości oprogramowania.
Czy sztuczna inteligencja zabierze nam pracę?
W chwili obecnej, narzędzia AI takie jak ChatGPT, Gemini, Copilot, nie wykonują za nas pracy. Są one wsparciem, które pomaga zwiększyć naszą efektywność i kreatywność poprzez dostarczanie inteligentnych sugestii oraz automatyzację rutynowych zadań – o ile oczywiście są one odpowiednio używane.
W tworzeniu i testowaniu oprogramowania, najważniejsza rzecz to zrozumienie logiki biznesowej aplikacji, nad którą aktualnie się pracuje. Na ten moment, żadne narzędzie nie zastąpi w tej materii żadnego specjalisty.
Odpowiadając na zadane pytanie – nie, AI nie zabierze pracy specjalistom QA, ale wymusi na nas umiejętność korzystania z niej, by testować szybciej, trafniej. Rynek się zmienia i każdy z nas musi za nim nadążyć, czy tego chcemy czy nie.
Jeśli chcesz się dowiedzieć, jakie umiejętności mogą okazać się kluczowe dla testerów w najbliższym czasie, polecam przeczytać artykuł na ten temat, który niedawno opublikowaliśmy.