Tworzenie i testowanie aplikacji z użyciem Test Driven Development

Kod: test-TDD
Kategoria: Testowanie i QA
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 3
Grupa docelowa: DevOps
developerzy

Szkolenie prezentuje techniki tworzenia i testowania aplikacji z użyciem Test Driven Development.

Program Szkolenia

Pobierz program w formacie PDF
  1. Jednostkowe testowanie kodu - niezbędnik do pisania dobrych testów w TDD
    1. Dlaczego warto automatycznie testować kod
    2. Dobre testy jednostkowe - FIRST
    3. Struktura testów jednostkowych (given-when-then/arrange-act-assert)
    4. Nazewnictwo testów (metod testowych)
    5. Konstrukcje wspierające testowalność kodu (m.in. dziedziczenie -> kompozycja, małe klasy, wstrzykiwanie zależności)
    6. Antywzorce dla testowalnego kodu (m.in. singletony, elementy statyczne, pola i metody final)
    7. Elementy, których nie warto testować jednostkowo
    8. Zadania frameworku testowego
    9. Formułowanie naturalnie wyglądających asercji (AssertJ)
    10. Ćwiczenia praktyczne (w trakcie - przeplatane z teorią)
  2. Spock Framework - pisanie testów szybciej, zwięźlej i czytelniej
    1. Nowa jakość w testowaniu kodu - dlaczego warto poznać Spocka
    2. Konstrukcje i techniki upraszczające kod testowy (Groovy w pigułce na potrzeby pisania testów)
    3. Podział testu na bloki/sekcje
    4. Testy parametryzowane
    5. Testowanie wyjątków
    6. Warunkowe wykonywanie testów
    7. Inicjowanie i sprzątanie w testach
    8. Porównanie trio JUnit/Mockito/AssertJ ze Spockiem
    9. Ćwiczenia praktyczne (w trakcie - przeplatane z teorią)
  3. Test Driven Development - wprowadzenie
    1. Historia TDD
    2. Podstawowe założenia
    3. Cykl red-green-refactor
    4. Przejrzysta struktura testu
    5. Wybór kolejnych funkcji do zaimplementowania
    6. Sprawne uruchamianie testów z IDE (przydatne wtyczki, skróty klawiaturowe)
    7. Programowanie w parach
    8. Ćwiczenia praktyczne z TDD w formie Kata/Coding Dojo
    9. Korzyści ze stosowania TDD
  4. Stosowanie separacji od obiektów współpracujących przy TDD
    1. Potrzeba, kiedy i dlaczego warto
    2. Ttestowe zastępniki obiektów współpracujących (ang. test doubles)
    3. Mockowanie ze Spock Framework
    4. Mockowanie z Mockito (mocki w Spocku mają swoje ograniczenia)
    5. Ćwiczenia praktyczne - TDD przy jednoczesnym zastosowaniu frameworku do testowania
    6. Testowanie integracyjne aplikacji opartej o Spring Framework - temat opcjonalny
    7. Dlaczego tylko testy jednostkowe nie wystarczą
    8. Wsparcie w JUnit/TestNG/Spock
    9. Konfiguracja i zarządzanie kontekstem Springa
    10. Wstrzykiwanie zależności
    11. Odcinanie zależności w kontekście Springa (wstrzykiwanie zależności testowych, w tym mocków)
    12. Ręczne tworzenie kontekstu w teście (do testowania specyficznych przypadków)
    13. Cache'owanie kontekstu między testami (i problemy z tym związane)
    14. Wydzielanie wspólnej konfiguracji dla wielu testów
    15. Ćwiczenia praktyczne (w trakcie - przeplatane z teorią)
  5. Test Driven Development - dobre praktyki i techniki unikania typowych problemów
    1. Wykorzystanie TDD do pracy nad dobrym designem systemu
    2. Wybór właściwego poziomu odcięcia zależności
    3. Zestaw ćwiczeń praktycznych uwypuklających typowe problemy spotykane przy tworzeniu kodu produkcyjnego i testów z pomocą TDD oraz pokazanie sposób ich unikania/rozwiązywania
  6. Testowanie - zaawansowane zagadnienia
    1. Techniki testowania asynchronicznych wywołań (Awaitility, Spock)
    2. Badanie jakości testów z testowaniem mutacyjnym (PIT)
    3. Jednostkowe testowanie elementów bazujących na dacie
    4. Techniki przyśpieszania testów
    5. Uproszczenie niektórych aspektów testowania z Java 8

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń