Welcome to the future

W tym artykule przeczytasz o trendach w testowaniu oraz o tym co czeka Testerów w przyszłości. Poznasz również moją opinię.

Zmiany w sposobie wytwarzania oprogramowania zachodziły od kiedy ludzie zaczęli się tym zajmować. W ostatnich latach jednak ich dynamika jest znacznie większa. Zresztą nie tylko szybkość jest duża, ale też mnogość różnych rozwiązań. Poniżej przejdę przez kilka z nich, które już się dzieją i zyskują coraz większą popularność. Celem części z nich jest drastyczna zmiana postrzegania roli Testera w cyklu wytwarzania.

Jeszcze parę lat temu, testy realizowane przez ekspertów z tej dziedziny (nazywanych różnie: testerami, quality engineerami, quality assurerami) były standardem. Developerzy chętnie oddawali rezultat swojej pracy „do oceny”, często traktując testerów jako „tych” od znajdowanie tego co jest nie tak. Teraz jednak coraz więcej firm rozumie zapewnienie jakości nie jako obowiązek konkretnej roli w organizacji, a odpowiedzialność każdego członka zespołu. Skoro od teraz wszyscy są odpowiedzialni za zapewnienie jakości, to czy Testerzy są jeszcze potrzebni?

Trendy

Shift left testing

Widać to chociażby w podejściu shift left testing. W tym przypadku testy (także niefunkcjonalne) powinny być wykonywane możliwie jak najwcześniej. Ma to przede wszystkim pomóc jak najszybciej wykryć niedociągnięcia w wymaganiach, a także same błędy. Dzięki temu tańsze będzie ich naprawie (wiadomo – im później, tym drożej), albo wręcz zapobieganie wprowadzenia błędów do kodu. Testerzy angażowani są od najwcześniejszych etapów powstawania oprogramowania. Cześć odpowiedzialności zapewnienia jakości przejmują developerzy.

Quality Assistance

Niektóre firmą idą inną ścieżką i próbują maksymalnie ograniczyć ilość Testerów, a ciężar testowania przenieść na developerów. Ma to być realizowane poprzez pisanie testów automatycznych przez programistów na wszystkich poziomach (unit, integracyjne, API, UI). Dodatkowo developerzy powinni wykonać też trochę manualnych checków nie pokrytych przypadków.

Takie podejście zwane Quality Assistance wprowadził Atlassian. Ma ono poprawić wydajność zespołu oraz zapewnić wyższą jakość dostarczanego kodu. Szybsze dostarczanie ma być osiągnięte dzięki redukcji ilości cykli code-test-rework-retest, a także zapobieganiu błędów. Rola Testera w dużej mierze ogranicza się do wskazania ryzyk, oraz przypadków granicznych do sprawdzenia przez developera. A to wszystko zanim zmiana zostanie zaimplementowana. Tester może też być zaangażowany do odbioru pracy developerów w ramach QA demo czy Sign off. Idealnie jednak, gdy zespół jest sobie w stanie poradzić bez testerów.

Testowanie bez testerów?

Według niektórych prognoz, wszystko zmierza ku zautomatyzowaniu. Jest to widoczne już od dawna i to nie tylko w świecie IT. Skoro w Quality Assistance zaangażowanie testerów jest niewielkie, to kolejnym krokiem może być całkowite wyeliminowanie ich z procesu. Dążenie w tym kierunku może zostać wzmocnione przez wykorzystanie sztucznej inteligencji (AI). Zarówno w programowaniu jak i testowaniu. Być może za parę lat na większą skalę, będą pojawiać się aplikacje samonaprowiające oraz samotestujące.

Aktualna sytuacja na rynku

Z jednej strony wiele trendów, m.in. te wspomniane powyżej, zmierza do zmniejszenia udziału Testerów w zapewnieniu jakości. Z drugiej jednak widoczne jest kształcenie osób w zakresie testowania na niespotykaną skalę. W chwili obecnej wiele firm organizuje różnego rodzaju kursy, warsztaty, szkolenia czy staże. Widać w tych działaniach pewną sprzeczność.

Patrząc na zachodzące zmiany w wytwarzaniu oprogramowania wymienione powyżej, można przypuszczać, że tak duża liczba Testerów za kilka lat może nie być potrzebna. Bańka, która jest aktualnie pompowana przez firmy szkolące, kiedyś pęknie. Nie ma też co żyć złudzeniami, że po kilkutygodniowym kursie będzie się przygotowanym do pracy w tak zmiennym środowisku IT jak teraz. Poza solidnym przejściem praktyk czy stażu, potrzebna jest jeszcze pasja, by być Testerem z krwi i kości. Pozostaje jeszcze kwestia motywacji. Bez niej ciężko będzie znaleźć w sobie chęć do ciągłej nauki, by nadążyć za tym co będzie się działo.

Co zatem czeka Testerów? Czy jest się czym przejmować?

W wielu dziedzinach ludzkość już całkiem nieźle radzi sobie z szybkim, w dużej mierze zautomatyzowanym, wytwarzaniu różnych dóbr. I to na dużą skalę – części elektroniki, samochodów, ciuchy i wiele innych. Czasami jednak ich jakość pozostawia wiele do życzenia. Sprzęt elektroniczny psujący się zaraz po zakończeniu gwarancji, czy samochody, które też już nie są tak wytrzymałe i trwałe jak kilkadziesiąt lat temu. Coraz częściej nastawieni jesteśmy na wymienianie rzeczy niż ich naprawianie. W cenie natomiast nadal są produkty wytwarzane ręcznie, wysokiej jakości z dbałością o każdy szczegół – krótkie serie aut sportowych, ręcznie malowana porcelana, ręcznie przygotowane ciuchy.

Niewykluczone, że w przypadku zapewnienia jakości oprogramowania będzie podobnie. Coraz więcej zmian w procesie idzie w kierunku ograniczenia zaangażowania roli Testerów. Coraz częściej oprogramowanie może być wytwarzane szybko, w zautomatyzowany sposób, ale tam gdzie wysoka jakość będzie wymagana, wciąż będą potrzebni wysokiej klasy specjaliści. Specjaliści, którzy testowanie i dbanie o jakość w szerszym zakresie mają we krwi i po prostu lubią to co robią. Ważniejszy będzie bardziej mind set i konkretne umiejętności, niż nazwa zajmowanego stanowiska.

Zapytam ponownie, czy jest się czym przejmować?

Świetlana przyszłość

Zgodnie z pewnymi przewidywaniami, 65% dzieci rozpoczynających edukację szkolną będzie pracować w zawodach, które jeszcze nie istnieją. Z pewnością większość z nas też to dotknie, bo do emerytury droga jeszcze daleka. Samo przystosowanie do zmieniających się warunków oraz otwartość na nowe możliwości będzie kluczowe, żeby odnaleźć się w szybko zmieniającej się rzeczywistości. Część chwytliwych haseł jak Virtual Reality (VR), Augmented Reality (AR), Artificall Inteligance (AI), Machine Learning (ML), Internet of Things (IoT) to już nie śpiewka przyszłości, a dzisiejsza codzienność. Być może w przyszłości nie będziemy Testerami. Nazwa może się zmienić. Narzędzia, którymi będziemy się posługiwać, zmienią się na pewno. Potrzeba zapewnienia jakości będzie nadal istnieć, choć być może w innej formie niż znamy teraz.

Definiuj więc cele i realizuj je, by nadążyć za zmianami. Miej otwarty umysł i duży apetyt na naukę nowego. Rozglądaj się w koło za nowymi możliwościami, by nie przegapić nadarzających się okazji. Niektórzy mówią, że okazje są jak nadjeżdżający pociąg. Trzeba być gotowym na jego przybycie i zdecydowanym na to, by do niego wsiąść. Drugi raz może nie podjechać.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s