Przyszłość zawodu testera

Przyszłość zawodu testera
Wiele uwag i publikacji poświęcono przyszłości testowania. Mało kto zastanawia się nad przyszłością zawodu testera.

Przyszłość testowania jest dość jasna, ponieważ testowanie jest i będzie musiało być wykonywane. Każdy nowy kod wymaga sprawdzenia. Czy będzie to sprawdzenie przez osobę czy też przez maszynę jest znaczące dla każdego testera, który dziś wykonuje ten zawód i który rozważa pracę w nim w przyszłości. 
 
Testowanie jeszcze na jakiś czas pozostanie domeną człowieka. Powoduje to, że i tester i zawód testera będzie funkcjonował. Jako czynność trudna do automatyzacji i jeszcze bardziej utrudniona do weryfikacji maszynowej daje potencjał pracy jeszcze przez wiele lat. Warto jednak przyzwyczaić się do myśli, że nie jest to jednak zawód na całe życie. 20 lat temu mało kto wykonywał zawód testera, a osoby, które wtedy zaczynały, najpewniej już nie testują albo nie jest to ich najważniejszy obowiązek w pracy. Albo ich kariera się rozwinęła i poszli w liderów i trenerów, albo kompletnie zmienili zajęcie. Prawdopodobne jest również, że za dwadzieścia lat od dziś nikt z Was nie będzie pracował jako tester. 

Przyzwyczajcie się, że nie jest to praca aż do emerytury. Prace na całe życie to zazwyczaj prace dla niskowykwalifikowanych pracowników. Tester wymaga wysokich i bardzo wysokich kwalifikacji.

Można wyliczyć wiele innych powodów, dla których nie chcecie już do końca swych pracowniczych dni pracować w tym zawodzie:

  • łatwość wypalenia zawodowego,
  • znużenie powtarzalnymi czynnościami,
  • zamierania kreatywności przy ciągłym testowaniu tego samego.

Jest kilka zewnętrznych powodów, które mogą Wam utrudnić pracę w zawodzie aż do emerytury. Należą do nich m.in.:

  • niemożność łatwego uczenia się wraz z procesem starzenia,
  • młodsi koledzy i koleżanki, którzy pracują za niższe stawki,
  • nowe i tańsze rynki pracowników.

Nie chcesz i nie możesz więc wykonywać zawodu testera na zawsze. Poniżej prezentuję zbiór scenariuszy, które mogą doprowadzić do tego, że zawód testera się skończy. A jeśli nie to na pewno inne doprowadzą do końca naszej pracy.

Zawód tester zostanie zastąpiony przez lepszą komunikację

Nie ma jednak wątpliwości, że zawód testera zostanie w przyszłości wyparty przez maszyny. Aby udowodnić tę tezę trzeba spojrzeć na to, co czyni dziś pracę testera trudną do weryfikacji maszynowej. Oczywiście nie mówimy tutaj o automatyzacji, która jest pisaniem kodu, ale o weryfikacji bazującej na algorytmach uczących i sztucznej inteligencji. Jest wiele cech wyróżniających testerów. Należą do nich przede wszystkim umiejętności miękkie w komunikacji z innymi osobami w celu wyciągnięcia od nich wymagań oraz w komunikacji z programistami, aby przekazać im informacje o jakości. Aby więc zawód testera został wyparty, te dwie strony musiałyby się porozumieć bezpośrednio. 

Zawód testera zostanie zastąpiony przez nowe modele wytwórcze

Jeśli nastąpi zmiana całego mechanizmu wytwarzania oprogramowania tester może nie mieć już swojej pracy.  Aktualnie działa to tak, że jedna osoba lub grupa osób przekazuje swoje potrzeby innej osobie lub grupie osób do ich implementacji. Jeśli więc uda się opracować mechanizm, w którym osoba definiująca potrzebę otrzyma rozwiązanie bazujące na tym co zdefiniowała. Proces testowania będzie w takim przypadku po prostu sprawdzeniem precyzji autoimplementacji potrzeb. Takie testowanie ma też bardzo duże zalety ponieważ pozwala od razu modyfikować implementację pod kątem zmieniających się potrzeb. Takie rozwiązanie widzimy chociażby w mechanizmie WYSIWYG (What You See Is What You Get) gdzie można sobie "wyklikać" stronę internetową. Nie jest to oczywiście rozwiązanie optymalne (a nawet wystarczające), ale przedstawiam je w celu zobrazowania tego co może pojawić się w przyszłości.

Zawód tester zostanie zastąpiony przez maszynę

Tester oprogramowania musi  cechować się zbiorem umiejętności oraz predyspozycji. Pytanie czy maszyna jest w stanie nauczyć się tego, czego się od nas wymaga?

Pewną cechą testera jest cierpliwość i tu wiadomo, że z maszyną nie wygramy. Dla maszyny czas jest pojęciem zupełnie innym niż dla nas. Jej zdolność do wykonywania powtarzających się czynności różniących się jedynie danymi wejściowymi jest nieporównywalnie większa od naszych. 

Umiejętności testerskie polegające na projektowaniu testów w oparciu o techniki to po prostu użycie prostego algorytmu wybierającego dane skrajne czy też definiujące optymalne dane w technice wszystkich par. 

Umiejętności techniczne? Chyba nikt nie wątpi, że maszyna szybciej "zrozumie" jak sama działa i jakie jej niedziałanie może doprowadzić do problemów. 
 
Co nam więc zostaje? Kreatywność? W uważanej za najbardziej kreatywną grę – szachy już przegraliśmy z maszyną. Kreatywność jest wykonaniem niespodziewanego ruchu w danej sytuacji i maszyna już to potrafi. Dzięki temu zaskoczeniu jest w stanie ograć nawet największych mistrzów. 

Ten algorytm, który wygrał z człowiekiem nie bazuje na całej wiedzy z historii szachów, a na nauczaniu maszynowym i graniu samym ze sobą. Komputer nie wyszukuje więc najlepszych rozwiązań starych mistrzów, a rozważa wszystkie możliwe kombinacje posunięć i oblicza prawdopodobieństwo wygrania po każdym z nich. 
 
Teoretycznie dziś mamy wszystkie elementy aby testerzy oprogramowania zostali zastąpieni przez maszyny. To, czego nam brakuje to implementacji. Nie będzie tak łatwo jak z szachami, bo nie wystarczy nauczyć maszynę zasad i wybierać najlepsze rozwiązania. Trzeba stworzyć maszynę, która wepnie się w testowany system, zrozumie jak system ma działać, przejdzie wszystkie kombinacje zdarzeń oraz na końcu zaraportuje jakość i awarie. 

Zawód testera zostanie zastąpiony przez nowe interfejsy

Wyobraźmy sobie, że nie ma już GUI, jest tylko maszyna, która dostaje polecenia bezpośrednio od ludzkiego mózgu i bezpośrednio do niego dostaje odpowiedzi. Takie interfejsy powstają już w laboratoriach na całym świecie. Przez skanowanie fal mózgowych, albo przez interfejs budowy przez Elona Muska człowiek może sterować komputerem. Co więcej w przyszłości nie będzie mu potrzebny ekran, bo informacja zwrotna zamiast wyświetlona tekstem lub obrazem zostanie przekazana bezpośrednio do mózgu. Będzie to informacja dużo pełniejsza niż dzisiaj, bo możliwe, że uzupełniona o niedostępne dziś odczucia. Wyobraźmy sobie, że wyszukujemy hasło "Indie", a maszyna pobudza nasz mózg wyświetlając nam ulice Deli, zapach Gangesu, dźwięki Bollywood i smak curry. 

Zawód testera zostanie zastąpiony przez brak użytkownika

Naszą podstawową pracą jaką wykonujemy jest reprezentowanie końcowego użytkownika. Co jednak, jeśli końcowego użytkownika nie będzie? Jeśli mamy testować interfejs między dwoma maszynami? W pewnym eksperymencie dwie maszyny nauczono języka do komunikacji i połączono, aby uczyły się od siebie. Pierwszą rzeczą, jaką zrobiły te maszyny, było wypracowanie własnego, bardziej optymalnego języka komunikacji. Człowiek w takich mechanizmach staje się po prostu zbędny. 

W przyszłości, kiedy każda praca zostanie zautomatyzowana, nie będzie już pracy i dla testera. 
 
Wszystkie podane scenariusze nie są już sci-fi. To teraźniejszość lub nieodległa przyszłość. Kiedy piszę "nieodległa" mam na myśli czas zanim jeszcze ktokolwiek z nas przejdzie na państwową emeryturę. Zawód tester zniknie. Nie ma jednak powodów do obaw. Zawód testera jest pracą wymagającą wysokich kwalifikacji, a pojawienie się większej liczby maszyn to również powstanie większej liczby, może jeszcze dziś nieznanych miejsc pracy. Będą one w trochę innych obszarach. Aby operować współczesnym dronem wojskowym potrzebny jest zespół 30 inżynierów, którzy zastępują jednego pilota. Przy takim kierunku rozwoju techniki ciekawej pracy dla byłych testerów nie zabraknie przez wiele, wiele lat. 
 
Na koniec nasuwa się pytanie ile nam jeszcze zostało czasu w testowaniu. Niewiele. Bawię się tu w gdybanie, ale moje argumenty (scenariusze) mnie samego przekonują. W mojej opinii w 2031 testerzy jeszcze będą, choć ich liczba będzie się zmniejszać. Możliwe, że będą pracować z maszynami w parach i korygować ich błędy.  W 2041 testerzy pozostaną już nieliczną grupą wyspecjalizowaną w konkretnych sprawdzeniach. W 2051 pracy testera nie będą już wykonywali ludzie  - jeśli jeszcze w ogóle będą.
 
Co się wydarzy za 10, 20 i 30 lat będziecie mogli bez problemu sami sprawdzić.
 

Wpis inspirowany książką "21 lekcji na XXI wiek" autorstwa Yuvala Noaha Harariego.
Radek Smilgin

To powinno Cię zainteresować