10 Najlepszych Zawodów: Tester oprogramowania
Satysfakcja, pieniądze, prestiż. Tego, w indywidualnej kolejności, oczekujemy od swojej pracy. Tylko, chociaż wiemy, czego oczekujemy, nie do końca wiemy jak to osiągnąć. I kiedy przychodzi czas na decyzję, na wybór studiów, na ukierunkowanie się – mamy czarną dziurę. Ale my postanowiliśmy wam pomóc. Znaleźliśmy 10 zawodów, które cieszą się dużym powodzeniem i przedstawiamy je Wam od tzw. kuchni. W tym numerze rozmawiamy z Łukaszem Kościelnym – testerem oprogramowania.
hot°: Od ilu lat pracuje Pan jako tester oprogramowania i jakie warunki musiał Pan spełnić by móc wykonywać ten zawód?
Jako tester pracuje od dwóch lat. Ukończyłem studia na kierunku informatyka na wydziale informatyki Politechniki Szczecińskiej (obecnie Zachodniopomorski Uniwersytet Technologiczny). W celu zakwalifikowania się do pracy jako tester musiałem przejść dwie rozmowy kwalifikacyjne, na których sprawdzono m.in. moją znajomość języka obcego (j. angielski), umiejętność analitycznego myślenia, wiedzę techniczną a także zdolność do pracy pod presją czasu. Do tego wszystkiego dochodzi jeszcze nastawienie wymagane od testera – „zawodowe” negatywne (destrukcyjne) podejście do testowanego obiektu.
hot°: Czym kierował się Pan przy wyborze zawodu?
Podejrzewam, że wielu osobom zdarzyło się zastanowić jak coś działa – i dlaczego tak działa, lub też a co by było gdybym... Moim ulubionym zajęciem, chyba od zawsze, było analizowanie w jaki sposób coś działa i czy istnieją okoliczności mogące spowodować, że ów analizowany obiekt czy proces przestanie spełniać swoją rolę w sposób oczekiwany.
hot°: Jakie są główne zadania i obowiązki testera oprogramowania?
Do moich obowiązków jako testera, należy przeanalizowanie i wyspecyfikowanie wymagań stawianych testowanemu obiektowi (proces,program,urządzenie). Kolejnym krokiem jest wypisanie, w oparciu o wcześniejszą analizę, możliwych do pojawienia się sytuacji w jakich może znaleźć się badany (testowany) obiekt i co może pójść nie tak. Oczywiście wszystkich możliwych sytuacji nigdy nie uda się nam przewidzieć – oczywistym jest niemożliwość przewidzenia nieprzewidzianego. Jakkolwiek może to brzmieć – zawsze może zdarzyć się coś o czym nikt by nie pomyślał, prawda? Następnym krokiem jest wykonanie testu na obiekcie.
Dalej, przy założeniu, że się nam powiodło i znaleźliśmy usterkę – tak, radość testera jest przeogromna gdy znajdzie błąd – konieczne jest zaraportowanie znaleziska i przekazanie go do naprawy z możliwie najlepszym opisem dla programisty, który będzie błąd próbował naprawić. Oprócz wspomnianych wcześniej obowiązków, dochodzą również zadania związane ze szkoleniem nowych osób w zespole, a także dbanie o raportowanie wykonanej pracy.
hot°: Jak wygląda typowy dzień pracy testera oprogramowania? Pracuje Pan przez ustaloną ilość godzin czy posiada elastyczny czas pracy?
Typowy dzień pracy testera polega na wykonywaniu testów, raportowaniu błędów. Co do warunków pracy – w zależności od formy zatrudnienia. Ja pracuję przez ustaloną liczbę – 8 godzin dziennie przez 5 dni w tygodniu. To czy czas pracy jest elastyczny zależy od pracodawcy.
hot°:Jakie są najczęstsze błędy programistów? Ma Pan już swoje sposoby na szybkie ich wykrycie?
Najczęstsze błędy na jakie można się natknąć testując oprogramowanie, to błędy wynikające z pośpiechu i nieuwagi programistów. Często jednak zdarzają się logiczne błędy w działaniu aplikacji i konieczna jest ich korekcja. Nie istnieją szybkie metody wykrywania błędów. Istnieją różne techniki i metodologie, które należy testować. Jedną z nich jest wprowadzanie w formularze - pola danych, poleceń niedozwolonych znaków i obserwowanie zachowania systemów w myśl zasady: "kliknij, wpisz i zobacz czy wybuchnie"(śmiech), wykrywające odporność aplikacji na (nie)celowe zachowania użytkowników aplikacji.
Niekiedy wielokrotne uruchamianie aplikacji sprawia, że przestaje ona działać. Należy wtedy we współpracy z programistą odnaleźć przyczynę i ją usunąć. Istnieją również techniki pozwalające określić czy system bądź aplikacja spełnia swoje zadania na zadowalającym poziomie.
hot°: Co jest najtrudniejsze w Pana pracy?
Radzenie sobie ze stresem wynikającym z odpowiedzialności jaka wynika z faktu, że głównie od testera (oczywiście nie jest to pojedyncza osoba tylko zespół testerów) zależy jakość przetestowanego i dostarczanego produktu i to on będzie odpowiedzialny jeśli pewne krytyczne usterki nie zostaną znalezione i zgłoszone. Jak w każdej innej pracy, należy współpracować z innymi ludźmi – ważne jest posiadanie umiejętności interpersonalnych, pozwalających na nawiązanie i utrzymywanie profesjonalnej komunikacji w ramach zespołu testerów a także pomiędzy testerami a programistami, w celu uzyskania jak najlepszych wyników.
hot°:Co najbardziej lubi Pan w swojej pracy?
Satysfakcję z udziału w procesie powstawania czegoś nowego. Możliwość poznawania nowych technologii, rozwój intelektualny niezbędny w celu pozostawania „na bieżąco” z powstającymi technikami i metodologiami powstawania oprogramowania.
hot°: Czy jest Pan usatysfakcjonowany wykonywaną pracą i spełnia się w zawodzie?
Tak, jestem usatysfakcjonowany wykonywaną pracą i spełniam się w tym co robię. Z przyjemnością analizuję oraz wyszukuję popełniane błędy (czy to wynikające z pomyłek innych czy też niedoskonałości sprzętowych) w celu podniesienia jakości testowanego oprogramowania.
hot°: Poleca Pan zawód testera oprogramowania młodym ludziom, którzy są jeszcze na początku swojej drogi życiowej? Dlaczego?
Jak najbardziej, uważam, że jeśli ktoś lubi „psuć” to jak najbardziej odnajdzie się w roli testera. Dzięki takiej pracy, oprócz finansowego profitu, pod warunkiem, że „konstruktywne psucie” jest tym co się lubi robić, można odczuwać satysfakcję, że robi się to co się lubi.
hot°:Dziękujemy za wywiad