7 pytań do Bartosza Kuczera 

Blog

Dlaczego akurat wybrałeś taką ścieżkę kariery?

Od zawsze się interesowałem komputerami, począwszy od commodore i atari, aż po domowego peceta. Lubiłem grzebać w biosie, robić różne akcje w DOS`ie czy terminalu, więc naturalną koleją rzeczy było dla mnie wejście do IT.

Pierwszą pracę zacząłem jako tester manualny, a idąc dalej za ciosem, poszedłem w automatyzację testów, a następnie w bycie liderem testerów automatyzujących.

Jesteś Cypress Mentorem – dlaczego warto zainteresować się tym frameworkiem?

Cypress powstał w 2015 roku i wyznaczył nowe trendy w testowaniu. Jednocześnie jest już na tyle długo na rynku, że jest sprawdzonym narzędziem. Oto kilka, zalet dzięki którym uważam, że warto zainteresować się Cypress`em:

– Bazuje na NodeJS / Yarn: dla jednych to wada, dla innych zaleta. Myślę, że Javascript i Typescript zaczyna być standardem w testach automatycznych

– Szybkość działania: Cypress jest wbudowany w przeglądarkę, więc jest bardzo szybkim narzędziem

– Łatwa konfiguracja: Nie tylko lokalnego środowiska, ale również continuous integration

– Posiada wbudowane wait`y: tego zawsze brakowało w selenium webdriver

– Ma swoje wbudowane funkcje i commands: Bardzo to ułatwia pracę, oraz czytelność kodu

– Logi z testów: są bardzo czytelne i nie raz uratowały mi życie przy debugowaniu 😉

– Bardzo dobra dokumentacja: Właściwie ona zachęca do skorzystania z narzędzia

– Duże community:  Wsparcie od ambasadorów, którzy pokazują bardzo ciekawe rozwiązania na youtube

Czym trzeba się charakteryzować, żeby zostać testerem?

Uważam, że najważniejszy jest pomysł na to, w jaki sposób byśmy przetestowali aplikacje (think outside of the box). Chodzi tutaj głównie o myślenie logiczne. Jeżeli ten warunek spełniasz, to jest to praca dla Ciebie, reszty można się douczyć.

Jak dobrze prowadzić projekty?

Wytwarzanie oprogramowania jest to praca zespołowa, więc musimy mieć zgrany i doświadczony zespół, ponieważ projekt tworzymy razem i jesteśmy od siebie zależni. Wszystko zaczyna się od zebrania wymagań biznesowych i zrozumienia ich przez cały zespół. Ważne jest również, żeby architektonicznie projekt był przemyślany. Bez tego nie jesteśmy w stanie dobrze prowadzić projektu. 

No i w drugą stronę, jakie skille trzeba mieć, żeby jakiś projekt zepsuć?

Brak umiejętności prowadzenia projektów, źle dobrany zespół, dług technologiczny, a przede wszystkim niesłuchanie uwag członków zespołu.Jeżeli są jakieś niedociągnięcia w projekcie, to trzeba nad tym pracować, a nie tworzyć nowe funkcjonalności, i tłumaczyć się „bo nie ma czasu”.

Czy i kiedy nie warto iść w automaty, a w manual?

Dzięki testom automatycznym możemy szybko oddolnie testować aplikacje po API.

Co skraca czas sprawdzenia drożności środowisk i backendu, czego nie można zrobić manualnie. Wydaje mi się, że największą wartością testów automatycznych jest ich uruchamianie w Continuous Integration, czyli testy same się uruchamiają na przykład 3 razy dziennie. Więc korzyści jest bardzo dużo, natomiast żeby napisać dobry end-to-end test automatyczny, to musimy mieć pewność, że to w ogóle działa i robimy to manualnie 😉

Również warto iść w testowanie manualne w przypadku gdy chcemy wykonać visual testing, czyli sprawdzanie od strony wizualnej naszej aplikacji. Testy A/B również wykonujemy manualnie. Polega to na porównaniu wersji aplikacji.

Podsumowując: Warto wykonywać testy manualne i automatyczne, ale wszystko zależy od projektu i wymagań

Jak widzisz przyszłość testerów? Czy Twoim zdaniem sztuczna inteligencja zastąpi zawód testera?

Jeżeli chodzi o aktualną sytuację automatyzacji testów, to problemem są klienci, którzy często nie mają budżetu i decydują się na zespół bez testerów. Po pewnym czasie nasila się potrzeba testowania, bo projekt ma dużo błędów i wtedy nagle klient znajduje budżet, wchodzimy w to bagno i walczymy o lepsze jutro projektu. Oczywiście to skrajne przypadki, ale już teraz się zdarzają. Klient musi zrozumieć, że jeżeli chce mieć dobry produkt i na nim zarobić, to musi zainwestować w to sporo pieniędzy. Myślę, że testowanie bezpieczeństwa staje się coraz bardziej potrzebne, ze względu na różne wycieki danych o których się słyszy, więc warto się zainteresować tematem, bo jest przyszłościowy

Jeżeli chodzi o sztuczną inteligencję, to tworzy ona kod, jednak to człowiek musi  postawić środowisko pod projekt, uruchomić kod, sprawdzić go, wdrożyć dobre praktyki, monitorować wyniki testów, więc moim zdaniem AI nie zastąpi testera, ale przyszłości nie da się jednoznacznie przewidzieć. Jakby 20 lat temu ktoś mi powiedział, że w USA będą taksówki bez kierowcy, tylko AI będzie prowadzić samochód, to bym nie uwierzył. A dzisiaj jest to na porządku dziennym, tylko trzeba mieć na uwadze, że wytwarzanie oprogramowania, czy testowanie go to trochę bardziej złożone zadanie. Miałem okazję korzystać z ChatGPT i muszę przyznać, że jest to pomocne, jednak złapałem wiele razy AI na tym, że wytwarza błędny kod, więc nie można na tym polegać w 100%. Jeżeli zaczynasz swoją karierę, to nie powinieneś w ogóle z tego korzystać. Trzeba zacząć od własnego pisania kodu, a nie kopiować gotowe rozwiązania bo niczego się w ten sposób nie nauczysz. Do tego dochodzi ograniczone zaufanie do AI. Nie powierzymy naszych haseł, czy danych klientów sztucznej inteligencji.

Podsumowując: Warto iść w testy bezpieczeństwa, sztuczna inteligencja raczej nie zastąpi testerów.