Kategorie
Uncategorized

Testowanie oprogramowania: Wprowadzenie dla osób bez doświadczenia

Cześć!

Testowanie oprogramowania wg. definicji to proces związany z wytwarzaniem oprogramowania. Testowanie ma na celu weryfikację i walidację oprogramowania. No dobra, ale co to oznacza? Każdy może przecież przeczytać regułkę z Wikipedii i nic nie zrozumieć w praktyce. Krótko mówiąc: to działania mające na celu przetestowanie, czy wszystko w aplikacji jest poprawne lub inaczej prawidłowe. Na przykład czy buttony są klikalne, czy wszystkie requesty przechodzą poprawnie itp. To proces, który od A do Z sprawdza wszystko, co się dzieje w aplikacji. Nierzadko możemy dzięki testom sprawdzić działanie kodu, ale też funkcjonalność oraz użytkowanie aplikacji.



Wszyscy jako użytkownicy mamy pewne wymagania odnośnie aplikacji: wszędzie mamy jakieś cele, specyfikacje czy jakieś punkty, które aplikacja ma spełnić. Właśnie po to potrzebny jest nam proces testowania. Co prawda są to dodatkowe koszty, ale zapewnia poprawność aplikacji i zaufanie do niej. Po prostu musi ona spełniać pewne kryteria jak np. szybkość, wydajność, bezpieczeństwo itp. Testowanie pomaga też w wykryciu błędów i sprawia, że nasza aplikacja staje się dla użytkownika bardziej atrakcyjna, przez co przychody twórców wzrastają.

Jakie istnieją rodzaje testów? W uproszczeniu możemy je podzielić na:
testy jednostkowe — czyli takie, które sprawdzają jakieś jednostki. Na przykład? Klasy, moduły, komponenty. Czyli coś, co jest jednostką w aplikacji, jakąś częścią składową.
testy integracyjne — sprawdzają komunikację pomiędzy komponentami i pozostałym elementami.
testy e2e (end to end) nazywane również systemowymi — to testy, które sprawdzają całą aplikację od początku do końca, symulując rzeczywiste reakcje osoby, która obsługuje aplikację. Uwzględnia się w nich wszystkie elementy systemu, również komponenty i klasy.
testy akceptacyjne — sprawdzają, czy aplikacja spełnia wymagania klienta (użytkownika końcowego)

Testy też dzielą się również na:
testy frontendowe — czyli testy, które sprawdzają widoczną część aplikacji dla użytkownika (np. poszczególne elementy html i css oraz sprawdzają komponenty)
testy backendowe (testy API) – czyli takie, które testują zapytania do bazy danych, endpointy i różne rzeczy związane z zapleczem (backendem) inaczej logiką aplikacji nie koniecznie widoczną bezpośrednio dla użytkownika.

Wiem.. na początku można się pogubić 😉, Ale bez obaw. Najpierw polecam nabyć podstawową wiedzę z zakresu testowania oprogramowania.

No dobrze.
Ale jak dokładnie się robi testy?
Testy można zarówno pisać, jak i wykonywać manualnie. W przypadku testowania manualnego potrzebny jest nam scenariusz. A w przypadku testowania za pomocą kodu to właśnie nasz kod jest takim scenariuszem, który się wykonuje. Możesz zostać testerem manualnym, jak i pisać takie testy.

Ale jak je pisać?
Jest mnóstwo narzędzi, które to ułatwią. Możesz skorzystać z:
Cypress.js –  to framework (biblioteka) do testowania zarówno frontendu, layoutu jak i API.
Selenium webdriver – do automatyzacji interfejsów
JUnit – do testowania jednostkowego w język Java
Postman – do testowania API.

Wybór właściwego frameworka do testowania to sztuka, ale na sam początek proponuję Playwright/Cypress lub Selenium. Są to przejrzyste, fajne frameworki, z którymi poradzicie sobie bez problemu na początku swojej przygody z testami oprogramowania. Testowanie nie jest takie straszne, ale wymaga dobrej znajomości aplikacji, nad którą pracujecie.

Autor: Kris Pacholski

Cześć! Jestem Krzysiek. Od kilku lat szkolę i pomagam rozwijać się osobom w branży inżynierii oprogramowania. Kładę nacisk na naukę umiejętności cyfrowych (programowania, projektowania i testowania) w taki sam sposób, jak na trening sportowy (siłownia/sala gimnastyczna/taniec). Jestem fanem zdobywania i propagowania wartościowej wiedzy wśród studentów i przekazywania złożonych zagadnień, w możliwie najprostszy sposób (wg. reguły kiss). W moich kursach jest już kilka tysięcy studentów, a części osób udało się przekwalifikować na stanowiska testerskie lub deweloperskie w branży IT.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *