5 kluczowych umiejętności testera oprogramowania

Co powinien umieć początkujący tester aplikacji webowych?

9/23/2024

Nie sposób policzyć wszystkich umiejętności przydatnych w pracy testera oprogramowania. Co więcej, zakres cały czas się poszerza ze względu na zaawansowane technologie czy wymagania pracodawców (dzisiaj ciężko zostać testerem skupiajac się tylko na klikaniu; do projektu trzeba wnieść cos więcej). Ale to nie znaczy, że z zestawu kompetencji nie da się wyróżnić 5 najważniejszych umiejętności początkującego testera. Skupię się tu na zdolnościach koniecznych przy testowaniu aplikacji webowych (czyli w dużym skrócie stron internetowych) - bo to właśnie w tym obszarze działam od 2019 roku.

Choć każda z umiejętności została przeze mnie opisana, to są to tylko pobieżne wyjaśnienia wprodzające Cię do tematu. Nie traktuj więc tego tekstu jako źródła wiedzy o poruszanych punktach, ale jako drogowskaz pokazujący, w którym kierunku możesz się rozwijać.

Teoria testów - najważniejsze pojęcia

Zacznijmy od teorii testowania. Nie chodzi o recytowanie sylabusa ISTQB, ale musisz sprawnie poruszać się między głównymi pojęciami. Testy regresji, paradoks pestycydów czy testy funkcjonalne i niefunkcjonalne. Warto też wiedzieć, czym różni się testowanie od procesu utrzymania jakości (to udowodni, że patrzysz na jakość oprogramowania szerzej, a nie jak na obiekt przeklikania przypadków testowych).

Na początek polecam zapoznać się z poniższymi tematami (część z nich opisałem na blogu):

Oczywiście, mój blog nie jest jedynym źródłem wiedzy. Zachęcam do poszukiwań w Internecie albo sięgnięcia po książki. Świetną pozycją startową jest Zawód tester od Radosława Smilgina. A Przygody testera Zigiego od Rafała Kubika wyróżniają się lekką formą nauczania - również warto zajrzeć.

Działanie i testowanie API

5 kluczowych umiejęnośći testera aplikacji webowych
5 kluczowych umiejęnośći testera aplikacji webowych

API (ang. Application Programming Interface) to interfejs pozwalający na komunikację między różnymi systemami. Lubię porównanie API do kelnera w restauracji, który przyjmuje zamówienie (żądanie; request) od klienta i przekazuje je do kuchni (serwera), a następnie zwraca klientowi gotowe danie (odpowiedź; response).

Powiem wprost - chcesz zostać testerem aplikacji webowych? Musisz znać zasady działania API. Na tym oparta jest dzisiejsza współpraca między aplikacjami. Jest to też często poruszany temat na rozmowach rekrutacyjnych. Zacznij od zrozumienia procesów zachodzących między klientem a serwerem. Dopiero potem przejdź do wysyłania prostych żądań np. w Postmanie.

Nieco więcej szczegółów (bo API można by poświęcić całą serię wpisów) wyjaśnijmy na podstawie API gromadzącego informacje o pogodzie na całym świecie. Wpisując w wyszukiwarce Google frazę "Warszawa pogoda" ujrzysz aktualne dane pogodowe w stolicy Polski. Ale to nie znaczy, że Google umieszcza sprzęty pomiarowe na całym globie. Zamiast tego, Google korzysta z odpowiedniego API zbierającego takie dane. Co więcej, z tego samego API mogą korzystać też inne serwisy pogodowe.

Jak to działa? Najpierw aplikacja Google (która jest klientem) musi wysłać żądanie do serwera API pogodowego. To żądanie może zawierać różne informacje. Przykładowo:

  • URL API: adres, pod którym dostępna jest usługa pogodowa, np. https://api.pogoda.com/forecast.

  • Parametry: dodatkowe informacje, które Google chce przekazać, np.:

    • Lokalizacja (np. Warszawa).

    • Jednostki temperatury (Celsjusz lub Fahrenheit).

    • Typ prognozy (np. pogoda na dzisiaj, jutro itp.).

Request mógłby wyglądać w ten sposób: GET https://api.pogoda.com/forecast?city=Warszawa&units=C Co oznacza GET? Jest to jedna z metod API. W dużym skrócie:

  • GET - pobieranie danych z API.

  • POST - wysyłanie danych do API.

  • PUT i PATCH - aktualizowanie danych w API.

  • DELETE - usuwanie danych z API.

Po przetworzeniu żądania serwer API zwraca odpowiedź do aplikacji Google. Zazwyczaj w formacie JSON lub XML:

działanie API na podstawie pogody
działanie API na podstawie pogody

Oczywiście, otrzymaną odpowiedź można wyświetlić w formie czytelnej dla użytkownika - tak jak to robi Google. Dzięki API twórcy aplikacji nie muszą tworzyć własnych systemów do zbierania danych. Co ważne - z jednego API może korzystać wiele różnych aplikacji.

Obsługa DevToolsów

Najlepszy przyjaciel testera aplikacji webowych, czyli DevTools. Jest to zestaw narzędzi wbudowany w przeglądarki internetowe umożliwiający monitorowanie przebiegu komunikacji między klientem a serwerem (tak, chodzi o opisane wyżej API) czy sprawdzanie błędów skryptów strony. DevToolsy możesz uruchomić już teraz (o ile czytasz ten tekst na komputerze, a nie smartfonie) poprzez naciśnięcie klawisza F12 lub użycie prawego przycisku myszy i wybrania opcji "Zbadaj".

Dlaczego obsługa DevToolsów jest istotna dla testerów aplikacji webowych? Bo DevToolsy pozwalają wyłuskać mnóstwo informacji o aplikacji webowej:

  • Sprawdzanie konsoli JavaScript – w zakładce "Console" możesz zobaczyć błędy JavaScript, czyli języka skryptowego obsługującego interakcję użytkownika ze stroną. Jeśli widzisz coś na czerwono, to wiedz, że coś się dzieje 😅

  • Podgląd i analiza ruchu siecowego – zakładka "Network" pozwala monitorować cały przebieg komunikacji między klientem a serwerem. Możesz tu sprawdzić wszystkie żądania i odpowiedzi. A jak już się pewnie domyślasz, jest to niesamowite źródło wiedzy o (nie)poprawności działania aplikacji.

  • Testowanie responsywności - niewielka ikona komputera i smartfona umożliwi Ci błyskawiczną zmianę rozdzielczości okna (możesz wpisać własne wartości albo wybierać np. z rodzielczości popularnych urządzeń). A to dobry krok w celu upewnienia się, czy testowana strona dobrze wygląda na różnych urządzeniach.

I to jeszcze nie wszystko, bo dzięki DevToolsom możesz też badać wydajność czy pobierać elementy do testów automatycznych. Nie wyobrażam sobie testera aplikacji webowych, który nie korzysta z DevToolsów. Jasne, zrozumienie błędów konsoli wymaga bardziej zaawansowanych umiejętności, ale nawet bez nich możesz przekazać treść błędu w zgłoszeniu do programisty.

Wiedza domenowa - ukierunkowanie na klienta

Aplikacji nie tworzy się bez powodu - stoją za tym realne problemy i oczekiwania użytkowników. W pracy testera niezwykle ważne jest wcielanie się w rolę klienta. A to związane jest z posiadaniem wiedzy domenowej, czyli rozumienia biznesowego sensu oprogramowania. Twoje testy nie będą efektywne, jeśli nie rozumiesz do czego służy aplikacja. W określeniu celu tworzonego oprogramowania pomogą Ci 3 pytania przed testami.

Oczywiście, jeśli jeszcze nie pracujesz w branży, to wybiórcze poznawanie różnych dziedzin nie ma sensu. Ale jeżeli przygotowujesz się do konkretnej rozmowy rekrutacyjnej, poczytaj o branży, w której działa interesująca Cię firma. Uwierz, zaplusujesz tym na rozmowie.

Umiejętności miękkie dla testera

Pozostaje jeszcze zestaw umiejętności miękkich. Uważam, że największą wagę należy przywiązać do:

  • Skutecznej komunikacji - bo przecież Twoim głównym zadaniem jest jasne przekazywanie informacji zwrotnych o testowanym oprogramowaniu.

  • Analitycznego myślenia - to ściśle wiąże się ze zrozumieniem problemów związanych z testowaną aplikacją.

  • Skupienia na detalach - błędy same się nie znajdą 😄

  • Zarządzania czasem - no cóż, czasu na testy zawsze jest za mało. Odpowiednie planowanie pomoże Ci w ogarnięciu chaosu.

  • Samodzielności - musisz być gotowy(a) na wypadek bycia jedynym testerem w zespole. To częsta sytuacja, bo firmy szukają tu oszczędności (co czasami ma tragiczne skutki).

A co dalej?

Jak pewnie się domyślasz, rozwój nie powinien kończyć się na powyższych umiejętnościach. Rozważ też naukę programowania. Chodzi tu o poznanie podstaw, które ułatwią Ci zrozumienie technicznych aspektów projektu. Oprócz tego, umiejętność programowania pozwoli Ci pójść w stronę testów automatycznych - a to obecnie najpopularniejsza i dobrze płatna ścieżka kariery. Pamiętaj również o języku angielskim, bo jego brak wykluczy wiele ofert pracy.

Jeśli potrzebujesz pomocy z opisanymi tematami albo chcesz mieć wyznaczoną jasną ścieżkę do zdobycia pracy jako tester, umów się na konsultacje. Przygotuję dla Ciebie pełny plan działania i pomogę w zrozumieniu trudnych zagadnień.

odpowiedź z API
odpowiedź z API

Co o tym myślisz? Daj znać w komentarzu:

Chcesz być na bieżąco? Zapisz się do newslettera!

W każdy czwartek o 10:00 dam Ci znać o moich nowych wpisach.

Dorzucę też ciekawe artykuły, filmy czy inne materiały ze świata IT.

Po zapisie do newslettera, wyślę Ci darmowego ebooka z checklistami dla testerów.

ikona palca
ikona palca
ikona palca
ikona palca
ikona palca
ikona palca

Polecane wpisy:

Sprawdź też moje social media:

Dziękuję, że czytasz mojego bloga!

Masz jakieś pytania? Z chęcią odpowiem :)

Radosław Wasik
Radosław Wasik