Testowanie – o co chodzi?


Wstęp do testowania, czyli 5 kluczowych pytań na które chcesz znać odpowiedź, ale nie masz kogo spytać.

pytanieBranża IT przyciąga wysokimi wynagrodzeniami, możliwościami awansów i udziałem w międzynarodowych projektach. Rynek pracy przepełniony jest ogłoszeniami, wśród których znajdziecie duże zapotrzebowanie na pracę jako „tester oprogramowania”. Na czym tak naprawdę polega ta praca, co trzeba potrafić, aby zacząć? Dotychczas udało mi się już kilka osób zarazić pasją do testowania a następnie pomóc rozwinąć się w tej dziedzinie. Za każdym razem, na początku pojawiały się podobne pytania, na które poniżej znajdziesz odpowiedź.

  • Nie jestem (dobrym) programistą – czy w ogóle mam szanse jako tester?

Przyznam, że to pytanie zrodziło się w mojej głowie, gdy w 2009 roku zaoferowano mi pracę właśnie na stanowisku testera. Nie byłem (i dalej nie jestem) wybitnym programistą, więc nie wyobrażałem sobie w jaki sposób miałbym szukać błędów w kodzie napisanym przez dużo bardziej wykwalifikowanych i doświadczonych kolegów. Z czasem okazało się, że testy dzielą się na czarno i biało-skrzynkowe. Te pierwsze nie zakładają jakiejkolwiek znajomości kodu oprogramowania, a jedynie testowanie w sposób, w jaki z oprogramowania korzysta docelowy użytkownik.

Odpowiadając na pytanie – nie trzeba być programistą, aby być dobrym testerem, chociaż znajomość podstaw programowania na pewno będzie pomocna a z czasem niezbędna.

  • Co w takim razie powinienem wiedzieć, żeby zacząć testować?

Przede wszystkim – chęci. Nastaw się na naukę, przyswajanie dużej ilości wiedzy i inwestowanie własnego czasu w rozwój i szkolenia. W przypadku testera funkcjonalnego („czarna skrzynka”) bardzo ważna jest znajomość branży, której dotyczy testowane oprogramowanie (np. finansowa, logistyczna itp.). Jest to nawet dużo ważniejsze, niż umiejętności typowo techniczne, dlatego też wśród testerów znajdziesz przedstawicieli różnych zawodów, niekoniecznie informatyków, czy nawet inżynierów.

Od strony bardziej technicznej, w pierwszej kolejności warto abyś poznał terminologię, dowiedział się o roli testowania w cyklu wytwarzania oprogramowania.

Następnie warto poznać podstawy budowy systemów informatycznych – architekturę klient – serwer, najpopularniejsze technologie i rodzaje aplikacji.

Z tej książki uczyłem się testowania – polecam!

Rozwijaj umiejętność programowania, korzystając z darmowych środowisk (np. Java, Eclipse) i poradników, których wiele znajdziesz w Internecie (np. Codecademy). Wiedza ta przydaje się z jednej strony przy wyszukiwaniu typowych błędów (np. wprowadzenie wartości większej niż limit wynikający z typu pola w bazie danych), ale również testerzy często budują proste narzędzia, symulatory, skrypty do wymiany danych i wiele innych aplikacji ułatwiających codzienną pracę.

Naucz się pracować z bazami danych, zainstaluj przykładowo MS SQL Express (darmowa wersja), buduj własne tabele, twórz zapytania a z czasem złożone procedury.

Poznaj podstawy z każdej dziedziny związanej z testowaniem – poczytaj o testach wydajnościowych (eksperymentuj np. z LoadUI), testach bezpieczeństwa, użyteczności, zgodności językowej czy wielu innych. Skonfiguruj środowisko do testów automatycznych UI (np. Selenium, znajdziesz wiele podręczników w sieci) i twórz proste testy.

Eksperymentuj, szukaj tego, co Cię najbardziej zainteresuje.

  • Jak będzie wyglądał dzień pracy testera?

Jako osoba początkująca na pewno będziesz miał kogoś, kto będzie Ci przydzielał zadania i kontrolował postępy prac. Prawdopodobnie będziesz miał listę konkretnych czynności (przypadków testowych) do wykonania, lub po prostu wymienione obszary testowanego systemu, które trzeba sprawdzić.

Będziesz więc używał systemu tak, jak robi to przeciętny użytkownik, szukając wszelkiego typu nieprawidłowości. Od Twojej wyobraźni będzie często zależało jakie sekwencje zdarzeń wykonasz, które doprowadzą do błędnego wyniku. Poza typowymi błędami związanymi z funkcjonalnością systemu, oczekiwane będzie również zwracanie uwagi na szybkość działania systemu, ergonomię, zgodność z ogólnymi standardami i wiele więcej.

Jeżeli tylko w systemie coś może pójść źle, to twoim zadaniem jest wykryć taką sekwencję i odpowiednio ją zaraportować a po naprawie zweryfikować czy błąd został usunięty.

  • Testowanie – co dalej?

Chociaż jako początkujący tester będziesz miał sporo satysfakcji ze znalezionych błędów, to wcześniej czy później poczujesz, że samo klikanie po aplikacji to za mało. I bardzo dobrze! Testowanie to nie tylko „czarnoskrzynkowa” obsługa testowanego systemu. To wiele więcej i od ciebie zależy co dalej będziesz chciał robić. Testowanie otwiera też drogę do innych profesji w świecie IT, przykładowo:

– Jeżeli znasz dobrze branżę, w której działa system, lubisz pracę z ludźmi, potrafisz słuchać, analizować a następnie wyniki przelać na papier w konkretnej formie, to być może powinieneś z testera próbować awansu w stronę analityka biznesowego. Moje doświadczenie pokazuje, że jest to częsta praktyka w wielu firmach.

– Jeżeli złapałeś bakcyla do programowania, lubisz automatyzować wszystkie czynności, to pewnie doskonale sprawdzisz się jako lider zespołu testów automatycznych.

– Jeżeli lubisz pracę z ludźmi i dla ludzi, wiesz jak planować zadania, motywować zespół i pokonywać trudności, to rola kierownika działu testów może być właściwą drogą dla ciebie.

– Jeżeli jesteś osobą, która patrzy całościowo na proces, widzi jego słabe punkty i wie jak go naprawić (podnieść jakość), to stanowiska związane z zapewnieniem jakości (Quality Assurance) są dla ciebie (ale uwaga – termin QA często używany jest błędnie do opisu zwykłych stanowisk testerskich, dla których powinno stosować się termin QC – Quality Control, wg słownika ISTQB).

To oczywiście nie jest kompletna lista, można by tak wymieniać i wymieniać – jeżeli tylko zechcesz, znajdziesz chęć i motywację, to stanowisko zwykłego „klikacza” w aplikację może być tylko krótkim wstępem do dalszych, interesujących wyzwań.

  • Ile mogę zarobić jako tester?

Dobre pytanie – w praktyce bardzo dużo. Zarobki testerów nie odbiegają specjalnie od zarobków programistów. Oczywiście ważna jest kwestia wiedzy, doświadczenia i tego jak potrafisz sprzedać swoją kandydaturę potencjalnemu pracodawcy.

Jeżeli zostaniesz na przykład specjalistą od automatyzacji testów z kilkuletnim stażem, to prawdopodobnie będziesz mógł przebierać w ofertach pracy i wybrać tę, która ci odpowiada.

Wszystko czego potrzebujesz to konsekwencja, nastawienie na ciągły rozwój, pracowitość – reszta przyjdzie sama.

Jeżeli chcesz dowiedzieć się więcej, napisz – na pewno odpowiem, a jeżeli uważasz że ktoś z Twoich znajomych mógłby być zainteresowany tym artykułem, to udostępnij go dalej.

Powodzenia!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *