Do niedawna tester był uważany za niepełnego programistę. Osobę, która zna się nieco na kodzie, ale sama nie potraf go stworzyć. Za to może sprawdzić jego poprawność oraz to, czy aplikacja działa prawidłowo. Testerzy skupiali się głównie na funkcjonalnościach systemów, gdyż był to ten aspekt programu, z którym miał przede wszystkim do czynienia użytkownik końcowy.
Dziś, kiedy systemy informatyczne są tworzone w środowisku rozproszonym, obejmują wiele funkcjonalności i integrują się z innymi systemami, testowanie aplikacji i programów jest znacznie bardziej skomplikowane. Wymaga skupienia się nie tylko na kodzie czy funkcjonalnościach, ale również na wydajności, bezpieczeństwie czy integracji z innymi systemami.
Konieczne jest też korzystanie z automatycznych systemów do testowania, a tester musi później zinterpretować wyniki badań. Efektem tych zmian stał się wzrost statusu stanowiska testera i rosnące zapotrzebowanie na osoby, które w tym obszarze się specjalizują.
Jakie zadania czekają na testera?
Obecnie testowanie nie sprowadza się już do przeklikiwania aplikacji i znajdowania błędów. Praca testera obejmuje znacznie więcej aspektów:
• tworzenie skryptów do automatycznych testów kodu, wydajności, bezpieczeństwa;
• analizę danych zgromadzonych w testach automatycznych i znajdowanie błędów;
• tworzenie scenariuszy testowych;
• przygotowywanie dokumentacji testowej;
• wykrywanie, analiza i raportowanie znalezionych błędów i problemów;
• przewidywanie możliwych błędów już na etapie tworzenia oprogramowania.
Czego oczekuje się od testera?
Musi to być osoba niezwykle dokładna i skrupulatna, doskonale organizująca swoją pracę – od powodzenia testów zależy czas wdrożenia aplikacji. Tester to również osoba z szerokim i otwartym umysłem, która musi potrafić przewidzieć, w jakim zakresie i obszarze mogą pojawić się błędy w oprogramowaniu. Coraz bardziej rośnie również znaczenie doświadczenia testera w korzystaniu z dostępnych aplikacji wspomagających testowanie lub tworzenie skryptów testujących. Oznacza to znajomość określonych narzędzi, takich jak: Selenium, Jmeter, Jemmy Sikuli, Watir i inne. Często również – w zależności od tego, jakiego rodzaju oprogramowanie tester będzie testował, potrzebna jest znajomość konkretnych języków oporgramowania (tester musi być w stanie zidentyfikować błędy w kodzie). Co ciekawe, cechą wspólną testerów jest dociekliwość i coś, co nazywają „negatywnym nastawieniem do obiektu badań”. Chodzi tu o to, że jeśli tester rozpoczyna testy, to nie przerwie ich, dopóki nie znajdzie błędów. Założenie, że oprogramowanie jest ich pozbawione, po prostu nie mieści się w ich systemie wartości. Będą testować tak długo, aż coś znajdą. Można powiedzieć, że o ile programiści zastanawiają się nad tym, jak zrobić program, by robił to i tamto, to testerom sen z oczu spędza pytanie, co zrobić, żeby ten program popsuć.
Tester – nie tylko informatyk
Przy testowaniu aplikacji od strony jej funkcjonalności i użyteczności niekoniecznie trzeba mieć wiedzę z zakresu programowania. Daje to szanse na pracę jako tester również osobom bez technicznej wiedzy.
Taka osoba musi jednak:
• umieć wcielić się w użytkownika aplikacji;
• myśleć niestandardowo (po to, by wygenerować nawet najbardziej nieprawdopodobne
Scenariusze tego, tego, co z aplikacją może zrobić końcowy użytkownik);
• myśleć logicznie – po to, by móc wykrywać nielogiczne błędy;
• być asertywnym – by potrafić zwracać uwagę programiście, ponieważ będzie on często zażarcie bronił własnych rozwiązań, które stworzył;
• mieć morze cierpliwości – prawdziwy tester nie poddaje się, dopóki nie znajdzie błędu.
Gdzie pracują testerzy?
Najczęstszym miejscem zatrudniania testerów są tzw. software house’y – frmy oferujące dedykowane oprogramowanie na zamówienie. Coraz częściej testerów zatrudniają również przedsiębiorstwa, które pracują nad własnym oprogramowaniem – start-upy realizujące usługi w modelu SaaS (SoFtware as a Service). Z analizy ogłoszeń w serwisie Praca.pl wynika, że najczęstsze nazwy stanowiska to „tester oprogramowania”, „software tester”, „tester aplikacji”.
Jakie możliwości rozwoju mają testerzy?
Wraz z rozwojem technologii i wzrostem poziomu skomplikowania oprogramowania muszą się rozwijać również testerzy, by mogli właściwie wykonywać swoje zadaia. Oznacza to – tak jak w przypadku programistów – stałą naukę i nadbudowywanie istniejącej wiedzy. Wraz z rozwojem zapotrzebowania na testerów wykształcają się też specjalizacje – nieco inaczej wygląda praca testera aplikacji mobilnych, a inaczej testera oprogramowania stworzonego w ramach startupu.
Ile zarabia tester?
Mediana zarobków to 5100 zł brutto. W zawodzie testera istnieją jednak Spore dysproporcje w zarobkach. W dużych międzynarodowych korporacjach tester zarobi 6 000 - 8 000 zł brutto. W niewielkiej firmie tworzącej oprogramowanie na własny użytek 3 000 - 4 000 zł brutto.
Wynagrodzenie jest też uzależnione od doświadczenia i znajomości określonych języków programowania oraz umiejętności posługiwania się narzędziami usprawniającymi proces testowania. W tym kontekście najsłabiej zarabia tester aplikacji napisanych w PHP, na wyższe zarobki może liczyć tester w środowisku Java lub C#. Najwięcej zarobi tester pracujący przy oprogramowaniu tworzonym w Perlu lub Visual Basicu.