Szkolenie z Testowania we Frontendzie
Poziom
ŚredniozaawansowanyCzas
21h / 3 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z Testowania we Frontendzie
Szkolenie poświęcone projektowaniu i utrzymywaniu testów aplikacji frontendowych opartych na React. Zakres obejmuje testy jednostkowe, komponentowe i integracyjne, Jest, React Testing Library, Mock Service Worker, dublerów testowych, zarządzanie danymi, analizę pokrycia kodu oraz podstawy testów end-to-end. Uczestnicy przygotują zestaw testów weryfikujących zachowanie aplikacji z perspektywy użytkownika i nauczą się ograniczać zależność testów od szczegółów implementacyjnych. Szkolenie nie obejmuje podstaw JavaScriptu, TypeScriptu ani React.
Dla kogo jest to szkolenie?
Dla programistów frontendowych tworzących aplikacje w JavaScript lub TypeScript z wykorzystaniem React
Dla testerów automatyzujących testy aplikacji webowych na poziomie jednostkowym, komponentowym i integracyjnym
Dla osób odpowiedzialnych za jakość interfejsów, które współpracują z zespołami frontendowymi i potrafią czytać kod aplikacjiinterfejsu użytkownika (UI/UX)
Dla uczestników znających podstawy React, asynchronicznego JavaScriptu, pracy z npm lub pnpm oraz uruchamiania testów w projekcie frontendowymprojektu
Czego nauczysz się na szkoleniu?
- przygotować testy jednostkowe, komponentowe i integracyjne,
- dobrać poziom testu do rodzaju ryzyka
- projektować testowalny kod, dobierać asercje i dublerów testowych,
- modelować komunikację HTTP za pomocą MSW
- zarządzać danymi testowymi
- testować asynchroniczne interakcje w React Testing Library
- interpretować raport pokrycia kodu
- przygotować podstawowy scenariusz end-to-end
Program szkolenia
DZIEŃ 1
Moduł 1: Typy testów – dobór poziomu testu i zakres odpowiedzialności
- Testy jednostkowe
- Testy komponentowe
- Testy integracyjne
Moduł 2: Zakres testowania i testowalność kodu
- Cechy kodu testowalnego
- Kompozycja kodu i testowalność
- Szczegóły implementacyjne, kontrakty i efekty uboczne
- Zależności zewnętrzne w testach
- Przypadki brzegowe
- Odporność testów na zmiany implementacji
Moduł 3: Struktura dobrego testu
- Podejścia DRY, DAMP i WET
- Granice odpowiedzialności testu
- Funkcje After* i Before* – współdzielenie konfiguracji i kontrola złożoności
- Organizacja zestawów i przypadków testowych
Moduł 4: Dobór asercji
- Asercje ogólne i precyzyjne
- Matchery asymetryczne
- Matchery niestandardowe
- Asercje cyrkularne
DZIEŃ 2
Moduł 5: Mockowanie i dublerzy testowi – mocki, stuby i obiekty szpiegujące
- Kryteria doboru dublerów testowych
- Zakres mockowania
- Wsparcie bibliotek testowych
- Wzorzec Record & Replay
- Pułapki nadmiernego mockowania
Moduł 6: Testy integracyjne i Mock Service Worker
- Granice testów integracyjnych
- Komponenty i zależności objęte integracją
- Obsługa danych i komunikacji HTTP w testach
Moduł 7: Dane testowe
- Fixtures – zastosowania i ograniczenia
- Generatory danych testowych
- Testy migawkowe
- Zestawy i dostawcy danych testowych
Moduł 8: Techniki tworzenia testów
- Podejścia TDD, Test First i Code First
Moduł 9: React Testing Library – techniki zaawansowane
- Selektory oparte na rolach i dostępności
- Zapytania get*, find* i query*
- Asynchroniczność testów komponentowych – waitFor, act i find*
- Testy hooków React
- Symulacja interakcji za pomocą user-event
- Testy migawkowe – zastosowania i ograniczenia
DZIEŃ 3
Moduł 10: Narzędzia testowe i abstrakcje pomocnicze
- Asercje niestandardowe
- Matchery Jest
- Funkcje pomocnicze i abstrakcje testowe
Moduł 11: Pokrycie kodu testami
- Typy pokrycia kodu
- Wartość diagnostyczna i ograniczenia metryk pokrycia
Moduł 12: Wprowadzenie do testów end-to-end
- Rola testów end-to-end
- Narzędzia i konfiguracja środowiska
- Stabilność, izolacja i diagnostyka testów end-to-end
Moduł 13: Zarządzanie stanem aplikacji a testy
- Testy aplikacji wykorzystujących Redux i podobne rozwiązania
- Testy kodu wykorzystującego React Context