Opis szkolenia
Szkolenie wprowadza uczestników do testów jednostkowych, omawiając ich znaczenie i różne typy. Kursanci uczą się pisać dobrze zorganizowane testy, używać mocków i stubów oraz testować kod wielowątkowy.
Uczestnicy poznają również zasady testowania integracji z różnymi komponentami, takimi jak frameworki IoC, serwery HTTP, systemy wiadomości i bazy danych.
W ramach szkolenia testowana będzie również architektura aplikacji, API w ramach testów kontraktowych, przypadki brzegowe oraz pisane będą testy oparte na właściwościach.
Program
Dzień 1: Testy jednostkowe
Wprowadzenie do testowania
- Prezentacja: Wprowadzenie do testowania. Wyjaśnienie, dlaczego testy są ważne i jakie są najbardziej znane rodzaje testów.
- Pytania i odpowiedzi
Pisanie dobrych testów jednostkowych
- Prezentacja: Wyjaśnienie, jak prawidłowo strukturyzować testy, jak pisać sensowne asercje oraz jak odpowiednie użycie konstruktorów może uczynić kod testowy czytelniejszym.
- Ćwiczenia: Testy jednostkowe
- Pytania i odpowiedzi
Praca z mockami i stubbami
- Prezentacja: Wprowadzenie do koncepcji mocków i stubów oraz przedstawienie dobrych praktyk ich użycia.
- Ćwiczenia: Mocki i stubby
Testowanie wyjątków i kodu wielowątkowego
- Prezentacja: Wyjaśnienie najczęstszych problemów z testowaniem wyjątków i kodu wielowątkowego
- Ćwiczenia: Wyjątki i kod wielowątkowy
Dzień 2: Testy integracyjne
Wprowadzenie do testów integracyjnych
- Prezentacja: Wprowadzenie do testów integracyjnych. Wyjaśnienie, kiedy pisać testy integracyjne i jakie są ich zalety oraz wady.
Testowanie integracji z frameworkiem IoC
- Prezentacja: Wprowadzenie do frameworków IoC oraz wyjaśnienie, jak testować ich integrację z kodem
- Ćwiczenia: Testy integracyjne dla frameworku IoC
- Pytania i odpowiedzi
Testowanie integracji HTTP
- Prezentacja: Prezentacja testów integracyjnych HTTP dla serwera i klienta
- Ćwiczenia: Testy integracyjne dla integracji HTTP
- Pytania i odpowiedzi
Testowanie integracji wiadomości
- Prezentacja: Prezentacja testów integracyjnych dla producenta i konsumenta wiadomości
- Ćwiczenia: Testy integracyjne dla integracji wiadomości
- Pytania i odpowiedzi
Testowanie integracji z bazą danych
- Prezentacja: Prezentacja testów integracyjnych dla bazy danych
- Ćwiczenia: Testy integracyjne dla integracji z bazą danych
- Podsumowanie i pytania oraz odpowiedzi
Dzień 3: Zaawansowane testy
Testowanie architektury aplikacji
- Prezentacja: Pokazanie, jak można testować architekturę i pakietowanie aplikacji
- Ćwiczenia: Testowanie architektury aplikacji
- Pytania i odpowiedzi
Testowanie API za pomocą testów kontraktowych
- Prezentacja: Wprowadzenie do testów kontraktowych i pokazanie przykładu testowania API za pomocą testów kontraktowych
- Ćwiczenia: Testowanie API za pomocą testów kontraktowych
- Pytania i odpowiedzi
Testowanie przypadków brzegowych za pomocą testów mutacyjnych
- Prezentacja: Wprowadzenie do testów mutacyjnych i pokazanie przykładu pisania takich testów w Javie
- Ćwiczenia: Testowanie przypadków brzegowych za pomocą testów mutacyjnych
- Pytania i odpowiedzi
Testowanie oparte na właściwościach
- Prezentacja: Wprowadzenie do testów opartych na właściwościach i pokazanie przykładu pisania takich testów w Javie
- Ćwiczenia: Pisanie testów opartych na właściwościach
- Podsumowanie i pytania oraz odpowiedzi