Testy automatyczne i Test Driven Design w JavaScript
LICZBA DNI: 2 (16h)
KOD KURSU: JS/TDD
Weź udział w szkoleniu
Termin
Lokalizacja
Trener
Cena / os
21
czerwca
Warszawa,
Wrocław,
Gdańsk,
Zdalne,
2
września
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Termin
21
czerwca
Lokalizacja
Warszawa,
Wrocław,
Gdańsk,
Zdalne,
Trener
Cena / os
Termin
2
września
Lokalizacja
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Testerzy chcący poznać metody automatyzacji testów w JavaScript
Programiści chcący pisać lepszy i testowalny kod oraz poznać techniki test first oraz design by specification
WYMAGANIA
Podstawowa znajomość JavaScript
ZALETY
Szkolenie skupia się na budowaniu praktycznych umiejętności na każdym z poziomów testów od testowania jednostkowego, przez integrację po testowanie funkcyjne e2e
Podczas szkolenia uczestnicy poznają praktyczne techniki pracy i różne podejścia do testowania, w tym podejście TDD, czyli najpierw piszemy testy, a potem kod
Cele szkolenia
Zaznajomienie z narzędziami oraz metodyką tworzenia testów na każdym poziomie oraz według sprawdzonych podejść
Program
Wprowadzenie
- Dlaczego testować kod?
- Rodzaje aplikacji i testowanie
- Piramida testów - wady i zalety każdej warstwy
- Popularne narzędzia: Karma, Jasmine, Chai, Sinon, Jest
Testy statyczne
- Statyczna analiza kodu
- Narzędzia i Reguły
- Dobre praktyki
- Automatyzacja, wtyczki i githooks
Testy Jednostkowe
- Konfiguracja narzędzi
- Struktura i nazewnictwo testów
- Asercje Jasmine i Chai
- Raportowanie
- Zamienniki - Stubs i Mocks
- Testowanie Czasu - Asynchroniczność
- Wzorzec Arrange/Act/Assert
- Testy parametryczne i fuzztesty
Testy Integracyjne
- Testy współpracujących obiektów
- Test Driven Design - testy najpierw
- Cykl Red-Green-Refactor
- Wykrywanie regresji
- Pokrycie kodu testami
- Testowanie interfejsów
- Testowanie zapytań HTTP
- Metoda czarnej skrzynki - blackbox testing
- Programowanie kontraktowe
- Metoda migawek - Snapshot testing
- Tworzenie utrzymywalnych i stabilnych testów
Refaktoryzacja kodu
- Testowalne aplikacje
- Code smells, antywzorce a dobre praktyki
- Modularna aplikacja i enkapsulacja
- Refaktoryzacja do jednej odpowiedzialności
- Refaktoryzacja do otwarte zamknięte
- Refaktoryzacja do segregowanych kontraktów
- Refaktoryzacja do odwróconych zależności
- Testowanie z dependency injection
Testy End-to-End
- Omówienie koncepcji testów e2e
- Wady i zalety testowania w przeglądarce
- Narzędzia i środowisko e2e
- Porównanie Selenium, WebDriver, Protractor, Cypress i inne
- Behavior Driven Design/Specification by Example
- Testy akceptacyjne
- Scenariusze testowe
- Akcje asynchroniczne
- Mockowanie zależności
Testy a Ciągła Integracja i Dostarczanie (CD/CI)
- Automatyzacja Testów
- Synchronizacja z Repozytorium kodu
- Testy jako część Code Review
- Raportowanie wyników testów
- Omówienie Continuous deployment and delivery
