Agenda szkolenia
  1. Wprowadzenie
    • Charakterystyka zwinnego podejścia do procesu wytwórczego
    • TDD, koncepcja wytwarzania oprogramowania sterowanego testami
  2. Proces wytwórczy w kontekście TDD
    • Role w zespole, architekt, developer, tester
    • Projektowanie architektury aplikacji
    • Planowanie sprintów i wydań
    • Zarządzanie dokumentacją projektową
  3. Testowanie
    • Klasyczne techniki testowania aplikacji, testy jednostkowe, e2e, integracyjne
  4. Biblioteki wspierające pisanie testów, studium porównawcze
    • Narzędzia automatyzacji procesu uruchamiania testów
    • Narzędzia raportowania stanu wykonania testów i jakości aplikacji
  5. Wzorce i praktyki w TDD
    • Testowanie przepływu, dynamiczne aspekty logiki biznesowej
    • Testowanie algorytmów
    • Testowanie warstwy dostępu do danych
    • Testowanie komunikacji z aplikacjami zewnętrznymi
    • Dobre praktyki przy code review i refaktoryzacji
  6. Jasmine.js
    • Omówienie architektury biblioteki i integracja z projektem
    • Struktura testu, testy oczekujące
    • Kontrola stanu danych, synchroniczna, asynchroniczna, matchers
    • Kontrola wywołań metod, spy
    • Symulowanie wywołań AJAX
    • Testowanie zdarzeń na drzewie DOM
  7. Środowisko uruchamiania testów jednostkowych z frameworkiem Karma, code coverage