Przyszłość testerów oprogramowania

0

Mieliśmy dzisiaj w pracy na kawie online bardzo zażartą rozmowę na temat testerów, testowania oprogramowania, przyszłości testerów i w sumie to jest dość ciekawy wątek. Z mojej perspektywy i reszty deweloperów z mojego zespołu, uważamy że w sumie jednym ostatnim "przełomem" w testowaniu był nacisk na testy automatyczne i poza tym nic ciekawego się nie dzieje w świecie testerów. Ciekawe jest to że zawód testera oprogramowania istnieje od bardzo dawna i tak mało się w nim zmienia. Z drugiej strony testerzy ostro nas przekonywali, że testerzy mają super przyszłość, że będzie turbo zapotrzebowanie na testerów automatycznych, SDET, QA itd., że coraz więcej firm uświadamia sobie jak bardzo potrzebni są testerzy ble ble ble itd. Co myślicie na temat testerów/SDET/QA? Faktycznie to ma przyszłość czy zacznie być wypierane jak w Microsofcie? Oczywiście nie uważam, że testerzy są jacyś "gorsi", bo znam wielu naprawdę ogarniętych gości, ale bardzo mnie ciekawi jak to wygląda z perspektywy innych firm i osób które pracują jako testerzy i mają większą widzę na te temat.

1
vott napisał(a):

Oczywiście nie uważam, że testerzy są jacyś "gorsi", bo znam wielu naprawdę ogarniętych gości, ale bardzo mnie ciekawi jak to wygląda z perspektywy innych firm

Znaczenie ma to, co sądzi biznes, a nie kogo ten albo tamte programista uważa za "ogarniętego" więc godnego miejsca pracy albo "nieogarniętego" - wiec z punktu widzenia programisty zbędnego.

Oczywiście im bardziej hardcorowy programista to więcej zbędnych ludzi. W zasadzie to poza programistami w tym korzystającym z pracy programistów biznesie to wszyscy pozostali są zbędni.
Gdyby nie COVI i nagła panika "programistów będą zwalniać a biznes trzyma się nieźle" to byłoby z tym życiowo-biznesowym podejściem całkiem OK.

1

Jedne firmy wychodzą z założenia, że lepiej jeśli napisze się testy integracyjne, wtedy jest mniej roboty do testowania ręcznego.
Inne firmy z kolei preferują testy jednostkowe na mockach, wtedy programista nie ma pojęcia, czy aplikacja po jego zmianach się w ogóle uruchamia, więc testerów potrzeba wielu.

Nie sądzę, żeby to się zmieniło. Żeby testerzy przestali być potrzebni, najpierw trzeba byłoby się pozbyć programistów, którzy boją się sami uruchamiać swój kod.

1

Ktoś te testy musi robić albo je pisać, nie da się od tego uciec.

9

W programowaniu też się nic nie zmieniło: siedzisz i edytujesz pliki tekstowe, Jedynym przełomem było dodanie unit testów (więcej plików do edytowania).

0

Jako byly juz niestety qa ze smutkiem stwierdzam, ze w znacznej czesci rola testerow ulega dewaluacji.

Oczywiscie sa branze w ktorych przez dlugi czas takie stanowisko bedzie potrzebne i mile widziane, np game czy wszystkie te branze bezposrednio zwiazane z wysokim ryzykiem, np oprogramowanie linii lotniczych, czy sprzetu podtrzymujacego funkcje zyciowe.

Zaczalem role testera 6lat temu i juz wtedy widzialem pierwsze oznaki kryzysu.

Dzis wiele firm pozbywa sie tej roli jako osobnego stanowiska i przeklada ten ciezar na developera.

Zacznijmy od faanga, bo wiele firm po prostu kopiuje te zachowania:

Google - test engineer, istnieje w malej ilosci w specyficznych produktach, uwazany za druga kategorie.

Apple - qa w wielu produktach istnieje jako osobne stanowisko i ma sie dobrze. Najbardziej os czy hardware. W sofcie nie mam danych.

Amazon - sdet, qa. Istnieja i dzialaja poki co. Traktowani jako 2 kategoria. Wielu chce sie przeniesc na sde nie chcac pisac 100% czasu testow do czyjegos kodu. Zrozumiale. O tej roli wiem najwiecej bo sie rekrutowalem.

Facebook - co prawda istnieja sporadyczne pozycje na qa, ale headcount jest niski i nie udalo mi sie ogarnac co oni tam robia. Uznaje ze nie istnieje w powszechnej swiadomosci jako osobna rola.

Netflix - sdet, istnieje, ale maly headcount. Nie mam wiecej danych.

Miscrosoft - w sporej czesci rola usunieta, w niektorych organizacjach istnieje i ma sie dobrze, ale generalnie ilosc otwartych pozycji, zelaszcza takich ktore maja zwiazek z kodowaniem jest bardzo niewielka.

Inne
Np z gorocych startupow, swiezych publicznych ile jest otwartych rekrutacji na testerow/qa itp

Splunk - maja, sam jestem ciekawy jak dlugo jeszcze i co tam robia

Airbnb - brak
Spotify - brak, innych pozycji w engineeringu 113
Doordash - brak
Snowflake - sa 2 stanowiska, na swe 217 dla przykladu

Moglbym zbierac wiecej danych, ale moj wniosek jest taki.
Testerzy w wielu firmach to jako osobna rola rzecz na wymarciu. Porada - uciekac z tej branzy.

Dodatkowym minusem bycia w tej roli jest poczucie, ze wiele osob Cie nie szanuje lub traktuje jako kategorie gorsza niz szeregowy swe, co jest krzywdzace. Zauwazam to teraz, juz w mniejszym na szczescie stopniu w stosunku do front end developerow. Wielu swe nie zdaje sobie sprawy jak trudny do ogarniecia jest front end w 2020.

2

Mieliśmy dzisiaj w pracy na kawie online bardzo zażartą rozmowę na temat testerów, testowania oprogramowania, przyszłości testerów i w sumie to jest dość ciekawy wątek.

Moim zdaniem oprogramowanie powinno i będzie testowane. Natomiast to, czy będą robić to ludzie, którzy mają "tester" w nazwie stanowiska, to już inna bajka. Celem testowania jest zapewnienie jakości dostarczanego oprogramowania, a nie to, żeby istniał zawód "tester".

A "testuje" wiele osób.
Programista też testuje (też przecież musi sprawdzić, czy coś działa i czy nie ma bugów). UXowiec też testuje (pod kątem użyteczności itp.). Marketingowiec też testuje (pod kątem biznesowym). Użytkownik korzystając z apki też ją "testuje", i może dawać feedback (albo jest zbierany ze statystyk).

Przyszłością nie jest fakt istnienia jakiegoś zawodu czy nie, tylko wytwarzanie dobrej jakości oprogramowania.
Równie dobrze jutro wszyscy testerzy stracą pracę. I co dalej? Zapewne nic, po prostu się przekwalifikują na jakieś sąsiednie stanowisko w ramach szeroko pojętej branży IT.

vott napisał(a):

Z drugiej strony testerzy ostro nas przekonywali, że testerzy mają super przyszłość

Trzeba jakoś sobie zracjonalizować podjętą decyzję o zawodzie. To chyba normalne, że każdy, kto ma jakiś zawód i jest zadowolony ze swojej pracy, będzie widział swą profesję w pozytywnych barwach.

(nie twierdzę, że nie ma przyszłości, chodzi mi o uchwycenie tej subiektywności).

3

Jedyne co zauważyłem to stopniowe zwiększanie się ilości rzeczy do 'ogarnięcia'. Tester najlepiej, żeby napisał test automatyczny, spreparował dla niego docker i stworzył joby w jenkinsie / przygotował inne CI i przy okazji potworzył wszelakie integracje z istniejącymi systemami. Co przy okazji potwierdza opinię, że nie ma sensu na osobne stanowisko 'DevOps' a lepiej by dev czy tester wiedział jak sobie przygotować CI/CD. Przy rekrutacji wymagają często też podobny poziom umiejętności programowania co od programistów (ale inny stack) - ale to tylko na podstawie moich doświadczeń z rekrutacji. Z brakiem 'szacunku' do mojej roli nigdy nie miałem problemów. Płaca podobna.

A wiele korporacji programistów zatrudniają bezpośrednio a testerów outsourcują (głównie Indie) stąd zachwiana proporcja w dostępnych ofertach. Oczywiście w dobrze zorganizowanym projekcie i tak potrzeba więcej programistów niż testerów. Wyjątkiem są startupy gdzie faktycznie często na początku kompletnie nie rekrutują na stanowisko testerskie ale potem dodają ogłoszenia typu "czas na zostanie dojrzałą firmą i ogarnięcie procesu testowania" - i poszukują magika, który ogarnie ich burdel ;)

Zgadzam się z jedną teorią rzuconą w wątku. Pracy dla testerów faktycznie byłoby znacznie mniej gdyby programiści więcej myśleli o aplikacji w ramach 'całości' - czyli nie zamockowany mikroserwis ale zintegrowany , jak ich aplikacja powinna zostać zbudowana & zdeployowana, a pokrycie unit testami nie robili dla magicznego numeru '100%' a faktycznie przemyśleli co może pójść nie tak z ich kodem. Ale to tak łatwo się nie zmieni :)

1
AsterFV napisał(a):

Pracy dla testerów faktycznie byłoby znacznie mniej gdyby programiści więcej myśleli
/-/
co może pójść nie tak z ich kodem.

Wszystkiego co w brzegowych przypadkach może pó∆ść nie tak to nie wymyślisz.
Dlatego tam gdzie się mniej testuje tam użytkownicy końcowi mają więcej roboty z "testowaniem przez używanie" produktu.

1

Patrząc po tym co się dzieje w gamedevie to mierna. Dziś w epoce release early release often za testerów robią klienci końcowi. Wychodzi to taniej i sprawniej (większa próba, bardziej wartościowy feedback). Masz bugtrackery, telemetrię. Wszystko na bieżąco.

A co zrobi taki zwykły tester półautomatyczny albo nie daj boże manualny? Naklepie trochę skryptów? Będzie klikał w produkt do usranej śmierci non-stop zawężając ścieżkę po której przechodzi żeby nie zwariować? I jeszcze za to brać pieniądze? Na co to komu? I po co?

3
loza_wykletych napisał(a):

Patrząc po tym co się dzieje w gamedevie to mierna. Dziś w epoce release early release often za testerów robią klienci końcowi. Wychodzi to taniej i sprawniej (większa próba, bardziej wartościowy feedback). Masz bugtrackery, telemetrię. Wszystko na bieżąco.

Tak z ciekawości, napisałeś kiedyś jakiś soft, który by działał i którego by ktoś używał?
Bo o ile branże nastawione na napalonych jeleni takie jak produkcja gier mogą sobie buble wypuszczać, to w przypadku normalnego softu taki model biznesowy się nie uda.

0

Zdefiniuj normalny soft. Bo jeśli definicja normalnego softu to jest to co nad czym @somekind teraz pracuje to jest to dość śmiałe założenie.

PS: Tak, robię w mobile, niektóre aplikacje które współtworzyłem były używane przez miliony. Niektóre pewnie dalej są używane. Zadowolony?

0
loza_wykletych napisał(a):

Patrząc po tym co się dzieje w gamedevie to mierna. Dziś w epoce release early release often za testerów robią klienci końcowi. Wychodzi to taniej i sprawniej (większa próba, bardziej wartościowy feedback). Masz bugtrackery, telemetrię. Wszystko na bieżąco.

A co zrobi taki zwykły tester półautomatyczny albo nie daj boże manualny? Naklepie trochę skryptów? Będzie klikał w produkt do usranej śmierci non-stop zawężając ścieżkę po której przechodzi żeby nie zwariować? I jeszcze za to brać pieniądze? Na co to komu? I po co?

Jeżeli pijesz do CDPR to jeżeli wierzyć postowi testera pracującego nad Cyberpunk (z grupy testerskiej na fb) to 90% bugów było znane przed premierą. Więc te bugi zostały wyłapane przez testy, tylko nie zostały poprawione.

0

Wszystko pewnie zależy od projektu. W obecnych projektach, przy których pracuję nie mamy żadnego typowego UI, a testy jednostkowe i integracyjne piszą programiści w ramach swoich zadań. Nawet nie wiem, co miałby tam robić specjalny koleś od testów. No ale pracowałem też w firmach, gdzie QA całymi dniami klikali po jakichś apkach, a w pewnym momencie zaczęli ewoluować w takich testerów-programistów, którzy pisali testy klikające po tych apkach. Może w niektórych miejscach taka rola się sprawdzi, ale uważam, że powinno to iść w stronę automatyzacji. Na pewno nikomu nie poleciłbym takiej ścieżki, bo jest to nudne i wypierane przez automaty. Jak ktoś jest kumatym testerem, to powinien się dokwalifikować i zostać programistą, a jak jest mniej kumatym, to może zostać np. mangerem ;).

0
loza_wykletych napisał(a):

Zdefiniuj normalny soft. Bo jeśli definicja normalnego softu to jest to co nad czym @somekind teraz pracuje to jest to dość śmiałe założenie.

Normalny soft to taki, którego prawidłowe działanie zapewnia stały dochód, czyli każda płatna usługa bądź sklep online.
I nie, nie pracuję nad normalnym softem.

PS: Tak, robię w mobile, niektóre aplikacje które współtworzyłem były używane przez miliony. Niektóre pewnie dalej są używane. Zadowolony?

Tylko jeśli nie testowaliście.

1

Wiem, że strona do której wrzucam link jest tak samo wiarygodna jak mój dziadek, który ogląda tylko tvp1, ale nie mogę się powstrzymać :D
Ich zarobki mocno przyspieszyly testerzy sa rozchwytywani

0

@vott: Wydawca jest jak najbardziej wiarygodny i poważny. Tekst jest napisany sensownie, trzeba tylko wykazać się minimalną umiejętnością czytania między wierszami

Devire. Podkreśla, że od początku epidemii widać dynamiczny wzrost popytu na testerów w branżach niezwiązanych z programowaniem. – Chodzi przede wszystkim o takie sektory, jak medyczny, finansowy
Ogromne zapotrzebowanie jest na specjalistów doświadczonych w testowaniu usług medycznych czy rozwiązań bankowych
Testerów z dużym doświadczeniem jest za mało i nie zapowiada się, że ta sytuacja ulegnie zmianie

Między wierszami:
Jest duże zapotrzebowanie na tanich (17k brutto z artykułu to nie tak dużo w porównaniu do Monachium, Zurychu), którzy mają dużą, bardzo specjalistyczną wiedzę domenową, której (np. medycyna) nie mogli zdobyć robiąc wieczorami "strony WWW dla wujka".

Doktor Heinz z Monachium nie będzie "testować" rozwiązań medycznych za 50% więcej od tego co młoda Helga dostanie w Aldim, bo za swoją wiedzę dostaje dobrą kasę w klinice.
Jakby w krajach dzikich, niedemokratycznych i biednych - jak Polska - udało się znaleźć Kowalskiego z wiedzą na poziomie Heinza i zapłacić mu 3000 euro to się go bierze i outsourcuje taką pracę nach Polen. Więc brakuje doświadczonych testerów-konsultattów ze specjalistyczną dużą wiedzą domenową.

Wstawka o game-dev to clikbait bo Cyberpunk jest na czasie i musi być na ten temat żeby klikalność strony i odsłony reklam się zgadzały

1
BraVolt napisał(a):

@vott: Wydawca jest jak najbardziej wiarygodny i poważny. Tekst jest napisany sensownie, trzeba tylko wykazać się minimalną umiejętnością czytania między wierszami

Między wierszami:
Jest duże zapotrzebowanie na tanich (17k brutto z artykułu to nie tak dużo w porównaniu do Monachium, Zurychu), którzy mają dużą, bardzo specjalistyczną wiedzę domenową, której (np. medycyna) nie mogli zdobyć robiąc wieczorami "strony WWW dla wujka".

To są branże audytowane. I wiesz dlaczego one muszą mieć testy.

Doktor Heinz z Monachium nie będzie "testować" rozwiązań medycznych za 50% więcej od tego co młoda Helga dostanie w Aldim, bo za swoją wiedzę dostaje dobrą kasę w klinice.
Jakby w krajach dzikich, niedemokratycznych i biednych - jak Polska - udało się znaleźć Kowalskiego z wiedzą na poziomie Heinza i zapłacić mu 3000 euro to się go bierze i outsourcuje taką pracę nach Polen. Więc brakuje doświadczonych testerów-konsultattów ze specjalistyczną dużą wiedzą domenową.

Jak wyżej.

Wstawka o game-dev to clikbait bo Cyberpunk jest na czasie i musi być na ten temat żeby klikalność strony i odsłony reklam się zgadzały

Jeśli ci tylko gamedev mignął w tamtej wypowiedzi to pogratulować precyzyjnego oka. Nie chodzi o gamedev. Chodzi o każdą branżę gdzie gdzie soft jest a) bugogenny (skomplikowany) b) wymaga szybkiego wprowadzania i równie szybkiego ich porzucania (market-fit) c) nie posiada nieograniczonego budżetu.

0
Shalom napisał(a):

Ktoś te testy musi robić albo je pisać, nie da się od tego uciec.

Czy to nie jest tak, że pisanie testów jest przerzucane na barki programistów? Wydaje mi się, że jak przychodzi do ograniczania kosztów, to testerzy mogą się okazać niepotrzebni.

13

Według mnie odchodzenie od QA na rzecz testowania przez developerów jest chwilową patologią z której firmy będą musiały się wycofać po kolejnych fuckupach które będą ich kosztować kupę kasy. Dla mnie testy wykonane przez developera są g... warte bo developer ma swój własny tok myślenia i w dodatku testuje na odwal się. To jest dokładnie tak samo jakby kogoś prosić o napisanie unit testów do nie swojego kodu. Zrobi to na odwal się tak żeby przetestować najbardziej oczywisty scenariusz.
Zresztą clou testowania to nie jest realizacja testów tylko wymyślenie scenariuszy. Samo przeklikanie może robić ktokolwiek, nawet PM projektu. Tylko QA z wiedzą domenową i doświadczeniem z danym produktem będzie potrafił napisać dobre scenariusze. Developer mimo znajomości kodu zwykle nie ogarnia jakie są konsekwencje danej zmiany i przetestuje tylko cząstkę tego co mogło się zepsuć. Oczywiśćie są magiczne projekty gdzie jest 100% pokrycie testami automatycznymi ale wiadomo jak to wygląda w praktyce.
Dla mnie największą wartość mają testy manualne bo już masę razy naciąłęm się na tym, że QA mieli swoje magiczne testy automatyczne które nie potrafiły wykryć najprostszych problemów typu połowa kolumn w gridzie nie ładuje się poprawnie (bo nie mieli testu który patrzy czy kolumny są wypełnione danymi). Człowiek zauważy coś takiego od razu. Taka jest wartość QA - wymyślanie scenariuszy i użycie mózgu do oceny aplikacji. Tego się nie da zastąpić developerem ani testami automatycznymi. W przypadku frontendu dodatkowo QA od razu zauważy że coś się wizualnie sypie, czego test automatyczny też zwykle nie widzi. WIęc niedług pewnie będzie renesans QA manualnych. A jeśli testuje się 5 zintegrowanych systemów jednocześnie to powodzenia w automatyzacji tego.

QA udaje użytkownika końcowego, użytkownik końcowy nie jest skryptem testującym.

2

@The Pontiff:

Myślę że wysyp aplikacji dwuwarstwowych backend/frontedn jest z tym zbieżny. Aplikacje serversidowe dawały lepszą kontrolę.
Mój koronny przykład, to odmienna walidacja na froncie i backendzie (w pierwszym wydaniu aplikacji lub podczas utrzymania). Bez właśnie dobrych scenariuszy nie do złapania.

5

Może mało obiektywnie, bo z perspektywy osoby pracującej jako QA.
Według mnie testerzy będą mieli się jeszcze przez długie lata dobrze, no może nie wszyscy, bo jest też dużo osób które są "klikaczami" średnio ogarniając obsługę komputera.
Patrzenie na firmy typu google, microsoft ma średni sens według mnie. Jest tam dużo dobrych programistów, więc myślę, że jakość kodu też może być troszkę wyższa, a w przeciętnej firmie troszkę niższa (chociaż nie jest to regułą).
Miałem znajomego programistę w firmie która miała testerów, ale postanowiła zrezygnować z nich, bo przecież programiści też mogą zrobić testy, bo co to tam przeklikać, jakiś automat napisać i fajrant. No i jak się to skończyło? Duża część nie chciała tego robić, szczególnie jeśli coś trzeba było przetestować manualnie. A jak już robili to było na zasadzie "happy path przeszedł no to testy skończone". Skończyło się tym, że po wydaniu softu zrobionego w ten sposób prawie stracili swojego najważniejszego klienta, bo tyle dziur w tym było.
Bardzo często zdarza mi się w pracy jak zgłoszę jakiś błąd to potem programista mi mówi, że kompletnie by na to nie wpadł.
No i są też projekty szczególnie te bazujące na hardwarze, gdzie testy potrafią być skomplikowane i czasochłonne i gdyby miał się tym zająć developer to by zwyczajnie nie miał czasu pisać kod, a nie wszystko da się zautomatyzować.
I dodatkowa kwestia, są systemy w których wysypie się strona, rozjedzie formularz no trudno, klient wkurzony, ale zrobi się hotfix i spoko. Ale są też systemy gdzie jak system błędnie zadziała to jest źle, przykładowo zamiast paliwa do zbiornika samochodu trafi woda, bo alarmy w zbiorniku źle działają. No i wtedy jest problem, bo się robi afera na pół kraju i ciężko się wtedy tłumaczy przed klientem.
Nikt nie wie jak to się rozwinie, ale praca dla osób na stanowiskach QA które coś wiedzą przez jeszcze x lat nie powinna być problemem. A jeśli się zacznie problem? No cóż, myślę, że wtedy każdy znajdzie sobie w IT coś do robienia.

2

Idealnym przykładem są dwa zespoły u mnie w projekcie. Jeden ma testera, drugi „radzi” sobie bez. Przychodzi UAT i zespół bez testerów ma listę kilkudziesięciu błędów zgłoszonych przez użytkowników, nie są to „profesjonalni” testerzy. W drugim błędów jest kilka, mało poważnych, bo już te najpilniejsze zostały wcześniej wychwycone.

0

Zapotrzebowanie na testerow bedzie coraz mniejsze. Firmy ktore upadna przez bledy w oprogramowaniu szybciej zamkna biznes niz zatrudnia testerow.

Za 10 lat bedzie jeszcze wieksza dysproporcja w wielkosci i ilosci firm IT. Zostana giganci oraz bardzo male firemki. Te pierwsze przeniosa testowanie na uzytkownika i developera, te drugie nie beda w ogóle zatrudnialy testerow, sre devops itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1