Tester manualny ---> tester automatyczny

0

Witam wszystkich

Potrzebuję pomocy odnośnie mojej dalszej kariery zawodowej. Jestem testerem oprogramowania od 4 lat i chciałbym w końcu zrobić krok w przód i przejść na automatyzację bo wiadomo, większe pieniądze, możliwość pracy zdalnej itd itd. Chodzi o to, że nie bardzo wiem jak się za to zabrać i potrzebuję Waszej pomocy. Możecie mi doradzić jaką ścieżkę obrać? Czy powinienem najpierw uczyć się narzędzi do automatyzacji, czy może język programowania? Jeżeli tak to jaki będzie najlepszy dla testera? Zaznaczam, że nie chce być programistą, a jedynie posiadać wiedzę na poziomie pisania skryptów do automatyzacji. Jestem zdeterminowany i mocno nastawiony na nauke także proszę o pomoc.

0

Zeby cokolwiek skumac i zeby jakkolwiek sensownie uzyc jakiejkolwiek biblioteki, frameworka itd trzeba znac sam jezyk.

Naucz sie najlepiej: Javy + Pythona ( a przynajmniej jednego na sensownym poziomie )
Jak skumasz o co chodzi z samym jezykiem to wtedy mozesz kombinowac dalej.

Widzialem kod testerow manualnych ktorzy po 5 czy 10 latach kariery zabrali sie za programowanie 'skryptow'. Robilem review tego po czym stalem sie wrogiem publicznym nr 1 w dziale testow. Walka z wiatrakami...
Do wiekszosci tych ludzi nie dociera "nic"....

  • Skrypt ktory mozna napisac zwiezle ciagnie sie ciurkiem 1000 liniii
  • zagniezdzen if-ow i elsow to nawet nie idzie policzyc
  • funkcje to oni widzieli w podrecznikach
  • komentarze gorsze niz u studentow
  • masa zakomentowanego kodu w losowych miejscach
  • i te wieczne dyskusje:
    "W tym kodzie nie wiadomo o co chodzi X,Y,Z jest do poprawki"
    "Ale ja wiem o co chodzi w tym kodzie"
    " Ale ktokolwiek inny do tego spojrzy to nic nie zrozumie"
    "To wtedy przyjdzie do mnie i ja mu wytlumacze"
  • "Ale ja nie jestem programista wiec nie musze tego wiedziec"
  • i wkolo swoja niewiedze i niechec do jej pozyskania tlumacza "Nie mialem czasu zeby to napisac dobrze"
    ...
0

Dlatego zależy mi na tym, żeby wszystko miało rece i nogi. Chce być dobrym testerem automatyzacji i nie robić niczego na odwal. Z tego co zauważyłem to najczęstszym językiem programowania, wymaganym przez pracodawcow jest Java, ale czy do pisania skryptów nie lepszy będzie Java Script? Czy, żeby zrozumieć java script musze najpierw zrozumieć Jave?
Reasumując, rozpocząć naukę w tej kolejności?

  • język programowania
  • nauka narzędzi typu selenium ide, selenium webdriver, soapUI itd itd
0

Nie Java Script nie jest Ci potrzebny do tego zeby pisac w Javie. Java Script nie ma nic wspolnego z pisaniem skryptow.
Skrypty mozesz pisac w bash, Perlu, i Pythonie ( polecam Python).
Daj sobie spokoj z Javascriptem w tym momencie.

Skoncentruj sie na jednym i np: ucz sie Javy. Jak juz ogarniesz conieco Jave to wroc za 2 lata i sie pomysli co dalej...

0

A jak wrócisz za 2 (słownie: dwa) lata z tą magiczną wiedzą, Dolbo przygotuje Ci test. Wyruszysz pokonać smoka. Wtedy będziesz godzien dostać następny strzępek tajemnej wiedzy programowania. Mając lat 50, pokonawszy zastępy mrocznych bestii dostapisz zaszczytu zostania stazystom. Pozdro, nie zniechęcaj się takim straszeniem ;)

0

Jesli kolega nie umie w ogole programowac, to jak Dolbo uwazam, ze troche mu to zajac, zeby to robic na sensownym poziomie. To troche jak z jezykiem obcym - dasz rade nauczyc sie slabo rozmawiac w kilka miesiecy, ale zeby pojechac za granice i tam zyc, to taki poziom jezykowy nie bedzie praktycznie zadnym ulatwieniem.

Jesli OP bedzie sie uczyl w mocnym tempie, to nie beda to dwa lata. Tak samo moze znalezc prace slabo programujac, tylko wlasnie potem ktos bedzie musial sie meczyc ze slabym kodem plus OP sam raczej nie bedzie sie czul komfortowo. Chyba, ze trafi do projektu, gdzie wystarczy ctrl+c, ctrl+v z innych testow. Najlepszy chyba jest balans - w miare dobrze pojac skladnie, umiec sprawnie operowac na dostepnych typach danych, paradygmaty(a przynajmniej oop), dobre praktyki, zrobic kilka projektow do szuflady. Potem sie zabrac za toole do testerki. Zalezy od ilosci poswiecanego czasu i tego jakie beda postepy - moze to zajac 8 miesiecy, a moze i 8 lat.

0

W mojej opinii zeby orientowac sie w programowania w czystym jezyku od zera na przyzwoitym poziomie ( NIE zeby znalezc jakas prace bo to jest mozliwe po paru miesiacach) to trzeba poswiecic temu 2 lata.

Poza tym powiedzmy ze wiem o co pytaja w Akamai i Ocado na stanowiska "Software Engineer in Test" i mysle ze 5 czy 6 miesiecy nauki "po pracy" to zdecydowanie za malo zeby tam sie dostac biorac pod uwage ze zaczyna sie od "0".

0
DolBo napisał(a):

Poza tym powiedzmy ze wiem o co pytaja w Akamai i Ocado na stanowiska "Software Engineer in Test" i mysle ze 5 czy 6 miesiecy nauki "po pracy" to zdecydowanie za malo zeby tam sie dostac biorac pod uwage ze zaczyna sie od "0".

Jakiś przykład mógłbyś podać o co pytają?

0

Mimo iż jestem developerem, zajmowałem się dużo tematyką testów (zarówno manualnych, jak i automatycznych - w tym projektowanie i rozwój środowisk do testów E2E). Jeżeli interesuje Cię automatyzacja, to zakładam że chcesz celować właśnie w automatyzację testów integracyjnych lub E2E, ponieważ testy jednostkowe powinni tworzyć developerzy jako część swej normalnej pracy. Potwierdzam wnioski płynące z tego, co napisał @DolBo - jeśli chcesz być dobrym testerem automatycznym, powinieneś tak naprawdę zainwestować w to, aby poznać na rozsądnym poziomie fach developera - tak, jak ja musiałem poznać fach testera również od strony "manualnej", żeby móc robić to, co robiłem :).

Problem polega na tym, że środowisko testów automatycznych to tak naprawdę normalny projekt programistyczny, nieróżniący się niczym od tworzenia normalnych aplikacji. Te same zasady związane z jakością kodu, designem itd., które obowiązują w programowaniu, obowiązują również przy tworzeniu testów automatycznych (o samym środowisku nie wspominając). Aby je umiejętnie stosować, trzeba niestety mieć jakąś praktykę programistyczną, z kolei ich brak sprawia, że koszty utrzymania rosnącego zestawu testów mogą przewyższyć zyski z automatyzacji. Ponadto, im cięższy rodzaj testów, które trzeba zautomatyzować, tym większe wyzwania stoją przed frameworkiem testowym - chodzi tutaj o dostarczenie takich narzędzi, aby jak najefektywniej wykorzystać zasoby czy jak sprawić by pierwszy lepszy fail nie wysypał całego środowiska. Wprawdzie niekoniecznie sam tester powinien takie narzędzia czy framework tworzyć, ale na pewno będzie musiał umieć z tych narzędzi skorzystać.

Jako przykład mogę podać, jak ja się wkręciłem w temat - gdy zaczynałem, istniało sobie kilkaset testów automatycznych i framework do ich uruchamiania. Testy były pisane w autorskim DSL-u, na który wszyscy narzekali ze względu na rozwlekłość (pojedyncza komenda potrafiła zajmować cały ekran tekstu), brak instrukcji sterowania, a także na jakość kodu (spaghetti) samych komend i ograniczoną liczbę konfiguracji, jakie w praktyce można było testować. Problemem było też odpalanie frameworka - dużo plików konfiguracyjnych, brak dokumentacji itd. Rozkminienie całości tak, aby to jako tako hulało i by wykonanie testów docierało do końca, zajęło mi kilka miesięcy (!). Po tym czasie wprowadziliśmy normalny reżim developerski przy tworzeniu testów - review kodu, standardy kodowania, rozplątywanie makaronu. Po pewnym czasie, gdy już mieliśmy doświadczenie, wiedzieliśmy i wiedzieliśmy, czego potrzebujemy, zbudowaliśmy środowisko od nowa. Od początku zaaplikowaliśmy dobre praktyki do testów, projektując wygodne API do ich tworzenia itd. Efekt był taki, że po kilku latach developerzy sami chętnie siadali, aby pisać sobie testy E2E do tego, co właśnie implementowali, albo używali środowiska do puszczania sobie wybranych testów z biurka podczas developmentu (!). I to jest właśnie cel automatyzacji - potwarzalność, stabilność i zaufanie, że jak test mówi PASS, to znaczy, że faktycznie to ma szansę zadziałać.

Jeśli chodzi o sam język programowania, to to zależy od projektu. W powyższym przypadku była to Java ze względu na kompatybilność z technologiami używanymi w projekcie. Dlatego tym bardziej przyda się praktyka developerska - jeśli wiesz, o co w tym chodzi, względnie łatwo douczysz się odpowiedniego języka, gdyby zaszła taka potrzeba.

0

Ja bym Od razu poszedł w development. W ciągu ostatnich 2 lat do środowiska testerów napłynęło tylu debili, że teraz każdy jak słyszy, że piszesz testy, to zakłada, że jesteś jednym z nich. Niemały w tym udział ma największa grupa facebookowa na ten temat, gdzie administrator promuje niewiedzę i głupotę, promując wszędzie gdzie się da swój poradnik o zostawaniu testerem. Dodatkowo, ponieważ miernoty próbują ukryć swoją słabość, to uczą się zadawać bezsensowne pytania - ale ważne, żeby było ich dużo, wtedy PM myśli, że niby ogarniają temat. Ja przeszedłem do testowania z administracji sieciami i jestem w gronie może 10% testerów, które ma jakąś wiedzę techniczną, reszta to klikacze, przez pryzmat których potem postrzegają Ciebie. Jest to wkurzające, jak na przykład testujesz oprogramowanie inteligentnych budnyków i piszesz automat robiący zdjęcia a potem podpinasz rozpoznawanie obrazów, żeby wiedzieć, czy zachowanie jest poprawne, a od znajomych ze studiów potem słyszysz, że testy muszą być nudne, skoro co druga pani z HR to teraz chce robić. Osobiście szlifuję Pythona i uciekam w stronę analizy danych jak będzie okazja.

0
jeszcze tester napisał(a):

Ja bym Od razu poszedł w development. W ciągu ostatnich 2 lat do środowiska testerów napłynęło tylu debili, że teraz każdy jak słyszy, że piszesz testy, to zakłada, że jesteś jednym z nich. Niemały w tym udział ma największa grupa facebookowa na ten temat, gdzie administrator promuje niewiedzę i głupotę, promując wszędzie gdzie się da swój poradnik o zostawaniu testerem. Dodatkowo, ponieważ miernoty próbują ukryć swoją słabość, to uczą się zadawać bezsensowne pytania - ale ważne, żeby było ich dużo, wtedy PM myśli, że niby ogarniają temat. Ja przeszedłem do testowania z administracji sieciami i jestem w gronie może 10% testerów, które ma jakąś wiedzę techniczną, reszta to klikacze, przez pryzmat których potem postrzegają Ciebie. Jest to wkurzające, jak na przykład testujesz oprogramowanie inteligentnych budnyków i piszesz automat robiący zdjęcia a potem podpinasz rozpoznawanie obrazów, żeby wiedzieć, czy zachowanie jest poprawne, a od znajomych ze studiów potem słyszysz, że testy muszą być nudne, skoro co druga pani z HR to teraz chce robić. Osobiście szlifuję Pythona i uciekam w stronę analizy danych jak będzie okazja.

Za bardzo sie przejmujesz. Znajomi ze studiow dzis sa, a jutro ich nie ma. Za kilka lat bedziesz sie tylko usmiechal na wspomnienie o nich i o tym, co mieli do powiedzenia, albo jak cie ocenili.
Jesli mialbym zmieniac branze tylko przez to, jak jestem postrzegany, to dawno nabawilbym sie jakiejs nerwicy :)

0

Jako tester musze przyznać, że koledzy powyżej mają dużo racji.
Tester automatyczny to taki klikacz na sterydach. Dobrych testerów jest bardzo mało, bo dobry tester z ogarnięciem developerskim ucieknie w developerkę, ponieważ tam dostanie więcej pieniędzy.

Osobiście również uciekam z tego stanowiska. Dewaluacja stanowiska. Jedyny tester, który ma pieniądz, szacunek, koks i lasery to pentester i tę drogę polecam każdemu zainteresowanemu bezpieczeństwem.

0

Co chcemy automatyzować? Często testowanie stron z użyciem selenium. Do tego potrzebny jest jeden wspierany język programowania. Do tego dobrze znać sql i ewentualnie coś, co wynika z charakteru samego projektu. Potrzebna będzie też wiedza, jak zbudowana jest stronka, żeby znaleźć na niej to, co chcemy kliknąć.
Druga sprawa, to umiejętność takiego specyfikowania testów i danych testowych, żeby wyniki miały wartość i dawały faktyczną informację co działa. Ale to ktoś z doświadczeniem w testowaniu powinien mieć już wcześniej.

Nagrywanie testu przez narzędzia do capture+replay jest dobre tylko jako pierwszy krok. Po pierwszej zmianie w testowanym objekcie mamy szanse, że cała praca pójdzie do kosza, bo nikt nie będzie utrzymywał tych testów.

Ja dla siebie wybrałem jako śceżkę: java+eclipse, sql, tool do kontroli źródeł, selenium web driver i przypominać sobie teorię z ISTQB, żeby mieć ją w małym palcu nawet parę lat po certyfikacie

0

Przede wszystkim to dziękuje za podpowiedzi ;) ścieżkę jaką obrałem to java, java obiektówka i poki co wykonuje testy funkcjonalne w webdriverze. PODSTAWY programowania znam, rozumiem składnie, wiem jak znaleźć elementy na stronie i o co w tym chodzi. HTML, CSS, SQL na poziomie podstawowym również znam. Testy funkcjonalne, integracyjne to coś co chcę robić. Przyznam szczerze, że nie znam jeszcze narzędzi typu jenkins, czy GIT, ale mam zamiar również się tego nauczyć. Testowanie automatyczne sprawia mi sporo funu więc chce iść w tym kierunku.
Wiem, że dopiero stawiam podstawowe kroki w tym kierunku, ale chce już zrobić kolejny krok i zacząć wysyłać CV na junior testera od automatyzacji, tak pod koniec czerwca. Nic tak nie podniesie moich umiejętności jak właśnie praca w firmie. Często przeglądam oferty pracy dla testerów automatycznych i znając moje podstawy to mógłbym zacząć już aplikować CV właśnie na juniora testow automatycznych.
Co o tym sądzicie? Możecie mnie wyśmiać, podpowiedzieć - wszystkie wskazówki jak najbardziej wskazane ;)

0

zeby przejsc rekrutacje to tez trzeba sie nauczyc jak ona wyglada, wiec nie czekaj az wszystko bedzie idealne, tylko zacznij juz teraz wysylac jakies oferty i zobacz jak beda reagowac rekruerzy, nie musisz spamowac calego rynku swoii cv, wystarzy moze kilka. zobaczysz o co bede cie pytac i twoja psychika sie przyzwaczai do takich rozmow, potem bedzie ci latwiej dobrze wypasc.

0
Bogaty Krawiec napisał(a):

zeby przejsc rekrutacje to tez trzeba sie nauczyc jak ona wyglada, wiec nie czekaj az wszystko bedzie idealne, tylko zacznij juz teraz wysylac jakies oferty i zobacz jak beda reagowac rekruerzy, nie musisz spamowac calego rynku swoii cv, wystarzy moze kilka. zobaczysz o co bede cie pytac i twoja psychika sie przyzwaczai do takich rozmow, potem bedzie ci latwiej dobrze wypasc.

Masz rację oczywiście :) ostatnio byłem na rozmowie kwalifikacyjnej na początku roku (do korporacji) i wiem o co mogą pytać i jestem na to przygotowany... oczywiście mówię o stanowisku testera oprogramowania bo jeżeli chodzi o automatycznego to faktycznie, może być bardziej technicznie.

0

Polecacie jakieś firmy w Krakowie, które umożliwiają przejście z testera manualnego na testera automatycznego lub dev'a?

0

Zgadzam sie z wieloma komentarzami. Mialem takie same odczucia kiedy pracowalem jako Test Automation Engineer. Zanim trafilem na to stanowisko pracowalem wczesniej jako Developer, wiec podchodzilem do tworzenia frameworka testowego jak do tworzenia softu. Niestety mialem doczynienia z kompletnymi idiotami, ktorzy zostali wlaczeni w automatyzacje i nie mieli nawet pojecia o podstawach programowania, nie wspominajac o OOP. Bylo dokladnie tak samo, nic do nich nie docieralo. Po zrobieniu code review - mozg rozwalony. Lepszy kod pisza obecnie dzieci w podstawowce. Zlamane podstawowe zasady OOP, bezmyslnie naklepany zbedny kod na 500 linijek itd. Z najwieksza iloscia idiotow, w calym IT, mialem wlasnie doczynienia w QA. Na szczescie bede znowu pracowal jako Developer. Oczywiscie w QA mozna spotkac ludzi na poziomie, jednak nie jest ich za wiele. Rowniez zaobserwowalem, ze do QA naplynelo duzo ludzi z przypadku (pseudo podyplomowki, rozne boot campy itp.), bez mocnych podstaw informatycznych, stad dewaluacja stanowiska.

Jedyna sensowna alternatywa dla kogos kto chce pozostac w testach i nie byc utozsamianym z tymi "klikaczami" jest stanowisko Software Engineer in Test. To takie polaczenie testera i programisty. Tutaj trzeba wykazac sie wiedza developerska czesto na wysokim poziomie.

0

Mi najbardziej podobają się firmy ktore rekrutuja testerow taka samo jak developerow pod kątem programowania. Jedynie dalsze pytania na temat architektury itd sa rozbieżne.

0
InterruptedException napisał(a):

Mi najbardziej podobają się firmy ktore rekrutuja testerow taka samo jak developerow pod kątem programowania. Jedynie dalsze pytania na temat architektury itd sa rozbieżne.

Dokladnie tak teraz wygladaja rekrutacje na stanowisko Test Automation Engineer. Trzeba sie wykazac mocnymi podstawami programowania, znajomoscia OOP, wzorcow projektowych, a czasem nawet znajomoscia tematyki algorytmow. To jest na pewno dobry sygnal, ze w takiej firmie mozemy miec doczynienia z ludzmi na poziomie.

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