sherlock holmes z lupą i fajką

Tester oprogramowania: co to i na co to komu?

         Kim jest tester? To oczywiste, że kimś kto testuje, ale co tak dokładnie robi ten tester oprogramowania?

Wyobraź sobie, że odwiedzasz stronę swojej ulubionej marki odzieżowej. Szukasz np. butów na lato. Żeby nie przeszukiwać wszystkich produktów wyświetlonych na stronie sprytnie idziesz do menu i szukasz interesującej Cię kategorii buty i akcesoria. Klikasz i …. wyświetlają się same płaszcze zimowe! Być może nie ma w tej chwili żadnych butów dostępnych w ich sklepie internetowym, ale dla pewności klikasz na wszystkie produkty i przeglądasz te 75 stron w poszukiwaniu Twojego produktu. Irytujące, prawda? Ale ok, znalezione, klikasz w miniaturkę aby obejrzeć produkt ‘z bliska’. Strona wolno się ładuje, opis produktu to jakieś ‘lorem ipsum’ a zamiast zdjęcia jest jakiś krzyżyk w kwadracie. Poziom irytacji rośnie. Zastanawiasz się, czy w ogóle chcesz robić zakupy u tak nieprofesjonalnego sprzedawcy. Niestety potrzebne Ci są akurat te buty i to jak najszybciej a nie masz czasu przechadzać się po galeriach handlowych, więc klikasz dodaj do koszyka. Koszyk wydaje się być pusty. Dla bezpieczeństwa klikasz jeszcze raz i … jeszcze ze dwa razy. Bez zmian, żadnego powiadomienia o dodaniu produktu. Wchodzisz więc do koszyka a tam już cztery produkty czekają na Ciebie! W tym momencie boisz się już przejść do płatności i rezygnujesz zupełnie z zakupu. Sklep nic nie zarobił a Twoje doświadczenie z zakupami przez internet było co najmniej niesympatyczne. 

Sklep internetowyZadaniem testera oprogramowania jest zapobiec właśnie takim sytuacjom. W swojej codziennej pracy tester wciela się w rolę użytkownika i próbuje przetestować wszystkie możliwe scenariusze, aby takie sytuacje jak ta, opisana powyżej, nie miały miejsca a użytkownik mógł nie tylko dokonać zakupu ale też by sam proces był sprawny, łatwy i przyjemny.

Nie jest to już możliwe nie korzystać całkowicie z żadnego oprogramowania.

Pomijam telefony komórkowe i komputery ale oprogramowanie objęło już właściwie każdą dziedzinę naszego życia. Kupujemy bilety w biletomatach, pobieramy bilecik w urzędzie przyciskając odpowiedni przycisk, itd. Każdego dnia używamy rozmaitych aplikacji i nie zastanawiamy się nad tym, że ktoś nie tylko stworzył to oprogramowanie ale ktoś również je testował abyśmy my mieli do dyspozycji działające urządzenia. I o ile niektóre aplikacje nie mają aż tak wielkiego wpływu na nas i nasz dobrobyt to już aplikacje bankowe zajmują się naszymi ciężko zarobionymi pieniążkami i to bardziej nas interesuje. Nie chcemy przecież, żeby bank przy przelewie za 100 zł pobrał nam ‘przez pomyłkę’ 1000 zł. Liczymy na to, że jak wysyłamy maila z ważnymi załącznikami to trafia on do odbiorcy, że jak chcemy sprawdzić transport do domu to aplikacja pokaże nam aktualny rozkład jazdy autobusów a kalendarz w telefonie pokazuje właściwy dzień tygodnia i datę. I właśnie ta osoba, która stoi na straży wypuszczania działającej aplikacji to właśnie tester oprogramowania. 

TestowanieIstnieje wiele definicji testowania, skomplikowanych i dokładnych jak i tych uproszczonych.

Ten post nie ma na celu wprowadzania tych książkowych definicji a jedynie ogólne przedstawienie tematu pracy testera oprogramowania. Dla mnie testowanie to przede wszystkim sprawdzanie i dostarczanie informacji o stanie oprogramowania. Tester oprogramowania ma za zadanie sprawdzić, czy aplikacja działa tak, jak tego zażyczył sobie klient oraz czy wygląda tak, jak klient tego chce. W swojej codziennej pracy tester ma za zadanie wyłapać jak najwięcej błędów zanim produkt trafi na sklepowe półki – i z tym najbardziej jest kojarzony ten zawód, z wyszukiwaniem błędów. Czasami słyszy się, że ‘tester szuka dziury w całym’. Jednak samo szukanie i zgłaszanie błędów to tylko część pracy testera. Tester (zwany czasem QA – Quality Assurance)  to ktoś odpowiedzialny też za szeroko pojętą jakość produktu. Oczywiście samo testowanie nie podnosi jakości. Tester oprogramowania informuje o błędach, które następnie są poprawiane przez programistów i jeszcze raz sprawdzane. Dopiero wtedy można powiedzieć, że tester przyczynia się do zapewnienia jakości.

Tester oprogramowania najczęściej testuje strony internetowe, aplikacje desktopowe ( przeznaczone do użytku na komputerze) lub aplikacje mobilne (na telefon komórkowy). Testować można szereg różnych rzeczy, w zależności od potrzeby i wymagań. Najważniejsza jest funkcjonalność oprogramowania czyli sprawdzenie czy program spełnia swoją funkcję, czy robi to, co było założone i czego oczekuje klient. Testuje się również bezpieczeństwo aplikacji (nie chcemy, żeby ktoś bez problemu mógł się włamać na nasze konto), użyteczność, wydajność, responsywność (czy aplikacja działa zarówno na komputerze jak i na telefonie), dostępność (np. dla osób niewidomych).

Pomocne w testowaniu są różne narzędzia, wtyczki do przeglądarek jak i oprogramowanie wspierające samą organizację testowania ale o tym napiszę w innym poście.

DokumentacjaTestowanie oprogramowania to nie tylko szukanie błędów i przeklikiwanie aplikacji

ale również sporządzanie różnego rodzaju dokumentacji, w tym pisanie przypadków testowych. O przypadkach testowych więcej będzie w innym poście, bo jest to nieodłączny element życia testera ale tak najogólniej i najkrócej mówiąc, przypadek testowy to konkretna akcja wykonana przez użytkownika z opisem oczekiwanego rezultatu, np. użytkownik naciska na przycisk dodaj do koszyka – oczekiwany rezultat: produkt został dodany do koszyka. Na podstawie przypadków testowych testuje się aplikację, szczególnie podczas regresji, czyli przy sprawdzeniu czy wprowadzone zmiany nie popsuły aplikacji w innych miejscach.  

 

TeamPraca testera to nie tylko praca z komputerem i oprogramowaniem.

To też praca z ludźmi: programistami, klientami, project managerami, analitykami biznesowymi, ux designerami i oczywiście innymi testerami. Mogłoby się wydawać, co takiego trudnego w pracy z programistami. Jednak wymaga to wielu umiejętności miękkich, bo gdy ktoś pracuje nad daną funkcjonalnością przez ponad tydzień a my mówimy im, że tak właściwie to wszystko jest źle i nic nam się nie podoba, to bardzo szybko może to doprowadzić do konfliktu i popsucia relacji w pracy. Praca z klientem też może być dużym wyzwaniem. Raz będzie to bardzo wyrozumiały i cierpliwy człowiek a innym razem klient zniecierpliwiony, pełen pretensji i nieustannie zmieniający wymagania. W obu przypadkach trzeba umieć współpracować, aby dostarczyć produkt, z którego klient będzie zadowolony, bo to on za to płaci i jest też jakby nie było naszym szefem.


Każda praca ma swoje plusy i minusy, jednak w przypadku testera oprogramowania powiedziałabym, że zamiast podziału na plusy i minusy to są po prostu łatwiejsze i trudniejsze aspekty tej pracy. W tym blogu postaram się pokazać, jak ciekawym zawodem jest tester oprogramowania oraz szeroko pojęta praca w branży IT. Przy okazji, spróbuję też udowodnić w kolejnym poście, że nauczyciel nadaje się na takiego
strażnika jakości.

Jeśli spodobał Ci się wpis i chcesz być z nami na bieżąco
zapisz się na nasz darmowy newsletter!

Z pozdrowieniami,
Nauczyciel w IT

Logo nauczyciel w IT