Automatyzacja testowania jednostkowego i integracyjnego z użyciem frameworka Spock i języka Groovy dla aplikacji JVM
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Wprowadzenie do testowania w JVM
- Dlaczego automatyzacja testów jest kluczowa?
- Rodzaje testów: jednostkowe, integracyjne, funkcjonalne itp.
- Omówienie popularnych frameworków testowych dla JVM
- Wprowadzenie do języka Groovy i jego roli w testowaniu
- Czym jest język Groovy i jak działa na JVM
- Podstawowe różnice między Groovy a Javą
- Jak Groovy ułatwia pisanie testów: dynamiczne typowanie, DSL, uproszczenia składniowe
- Składnia i uproszczenia Groovy (closures, metaprogramming, GDK)
- Tworzenie dynamicznych testów w Groovy
- Wykorzystanie Groovy w automatyzacji testów i integracji z bibliotekami JVM
- Podstawy frameworka Spock
- Czym jest Spock i jego zalety w stosunku do innych frameworków (JUnit, TestNG)
- Struktura testu w Spocku: given, when, then, and where
- Pisanie pierwszych testów jednostkowych w Spocku
- Konfiguracja Spocka w projektach JVM
- Konfiguracja projektu w Mavenie do pracy z Groovy i Spockiem
- Konfiguracja projektu w Gradle z użyciem Spocka
- Integracja z narzędziami buildującymi: Maven, Gradle
- Włączanie testów do pipeline'u CI
- Testowanie jednostkowe w Spocku
- Tworzenie testów jednostkowych dla klas Javy
- Używanie mocków i stubów w Spocku
- Walidacja wyrażeń i sprawdzanie wyjątków w Spocku
- Przykłady testów na rzeczywistych przypadkach
- Testowanie integracyjne z użyciem Spocka
- Różnice między testowaniem jednostkowym a integracyjnym
- Pisanie testów integracyjnych dla aplikacji Spring, Hibernate, itp.
- Konfiguracja środowiska testowego i uruchamianie zależnych komponentów (baza danych, zewnętrzne API)
- Zaawansowane funkcje frameworka Spock
- Używanie data-driven testing (testy oparte na danych)
- Dynamiczne mocki i stubbing dla złożonych scenariuszy
- Parametryzacja testów i automatyzacja scenariuszy testowych
- Ręczna konfiguracja cykli życia testów
- Integracja z innymi narzędziami testowymi i raportowanie wyników
- Spock w połączeniu z JUnit
- Generowanie raportów z wyników testów
- Integracja z popularnymi narzędziami do analizy jakości kodu (SonarQube, Jacoco)
- Warsztaty praktyczne
- Implementacja testów jednostkowych i integracyjnych w przykładowym projekcie
- Konfiguracja środowiska z Maven/Gradle i Spockiem
- Debugowanie testów i rozwiązywanie problemów
- Najlepsze praktyki
- Refaktoryzacja testów w projektach długoterminowych
- Najlepsze praktyki w pisaniu testów jednostkowych i integracyjnych
- Wdrażanie Spocka w projekcie i w zespole
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Na szkoleniu zdobędziesz wiedzę i umiejętności niezbędne do efektywnej automatyzacji testowania jednostkowego i integracyjnego w aplikacjach JVM z wykorzystaniem frameworka Spock oraz języka Groovy. Nauczysz się, jak pisać czytelne, zwięzłe i skuteczne testy jednostkowe i integracyjne (wykorzystujące framework Spring/Spring Boot), a także jak skonfigurować środowisko testowe przy użyciu Maven lub Gradle.
Szkolenie obejmuje również naukę języka Groovy, jego możliwości w testowaniu, oraz zaawansowane funkcje frameworka Spock, co pozwoli na pełną kontrolę nad procesem testowania aplikacji.
Prowadzący szkolenie: Maciej Górnicki
Programista i projektant z 13-letnim doświadczeniem, specjalizujący się w Javie i full-stack development. Pracował nad dużymi projektami korporacyjnymi w sektorach fintech oraz insurtech, zdobywając bogate doświadczenie w tworzeniu systemów rozproszonych oraz integracji opartej o API i zdarzenia.
Jako specjalista w dziedzinie Java i architektury oprogramowania, zajmował się również strategicznym rozwojem kompetencji technicznych w organizacji, będąc aktywnym rekruterem technicznym, trenerem oraz mentorem. Pasjonat współpracy z ekspertami domenowymi i klientami, z zamiłowaniem do prostoty i czytelności, z zainteresowaniem Domain Driven Design (DDD) oraz innymi podejściami inżynierii oprogramowania zorientowanymi na domenę biznesową.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Java
Programista i projektant z 13-letnim doświadczeniem, specjalizujący się w Javie i full-stack development. Pracował nad dużymi projektami korporacyjnymi w sektorach fintech oraz insurtech, zdobywając bogate doświadczenie w tworzeniu systemów rozproszonych oraz integracji opartej o API i zdarzenia.
Jako specjalista w dziedzinie Java i architektury oprogramowania, zajmował się również strategicznym rozwojem kompetencji technicznych w organizacji, będąc aktywnym rekruterem technicznym, trenerem oraz mentorem. Pasjonat współpracy z ekspertami domenowymi i klientami, z zamiłowaniem do prostoty i czytelności, z zainteresowaniem Domain Driven Design (DDD) oraz innymi podejściami inżynierii oprogramowania zorientowanymi na domenę biznesową.
Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie). Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.