icon icon

Kurs Test-Driven Development (TDD) w Pythonie – wprowadzenie krok po kroku

icon

Proces szkoleniowy

Analiza potrzeb szkoleniowych

Jeśli masz życzenie dotyczące programu szkolenia, przeprowadzimy dla Ciebie analizę potrzeb szkoleniowych, która będzie wskazówką dla nas, na jakie aspekty programu położyć większy nacisk – tak, by program szkolenia spełniał konkretne potrzeby.

Co zyskujesz?

icon

Zrozumiesz cykl TDD - Nauczysz się świadomie pracować w rytmie Red–Green–Refactor, dzięki czemu zaczniesz tworzyć kod małymi krokami, szybciej wychwycisz błędy i łatwiej utrzymasz porządek w projekcie.

icon

Napiszesz testy w Pythonie - Przećwiczysz budowę testów jednostkowych w unittest i pytest, więc samodzielnie napiszesz testy z asercjami, obsługą wyjątków i czytelną strukturą gotową do użycia w projekcie.

icon

Zaczniesz od testu, nie od kodu - Przepracujesz pierwsze iteracje TDD od pustego zadania do działającego rozwiązania, co pomoże Ci lepiej definiować oczekiwane zachowanie programu jeszcze przed implementacją logiki.

icon

Sprawdzisz funkcje i klasy - Dowiesz się, jak testować zarówno proste funkcje, jak i zachowania klas oraz metod, dzięki czemu zaczniesz projektować kod bardziej przewidywalny, modularny i łatwiejszy do rozwijania.

icon

Uporządkujesz scenariusze testowe - Nauczysz się używać setUp, tearDown i parametryzacji testów, więc szybciej przygotujesz powtarzalne scenariusze, ograniczysz duplikację i zwiększysz czytelność większych zestawów testów.

icon

Odizolujesz zewnętrzne zależności - Poznasz mockowanie i stubowanie kodu współpracującego z API, bazą danych czy plikami, dzięki czemu przetestujesz logikę aplikacji bez ciągłego polegania na niestabilnym otoczeniu.

icon

Unikniesz typowych pułapek - Zobaczysz, kiedy wybierać testy jednostkowe, a kiedy integracyjne, jak nie przesadzić z rozbudową testów i jak pisać je tak, aby wspierały rozwój kodu zamiast go spowalniać.

icon

Zastosujesz TDD w projekcie - Podczas pracy nad prostą aplikacją przećwiczysz pełny proces TDD w praktyce, dzięki czemu po szkoleniu łatwiej przeniesiesz testowe podejście do własnych zadań zawodowych.

Program szkolenia

1. Wprowadzenie do TDD

  • Co to jest Test-Driven Development i dlaczego warto go stosować?
  • Różnice między tradycyjnym podejściem a TDD,
  • Cykl Red – Green – Refactor,
  • Najczęstsze błędne wyobrażenia o TDD.

2. Podstawy testowania w Pythonie

  • wprowadzenie do unittest – standardowego frameworka testowego w Pythonie,
  • alternatywa: pytest – szybsze i prostsze testowanie,
  • struktura prostego testu jednostkowego,
  • przykładowe asercje (assertEqual, assertTrue, assertRaises, itp.).

3. Pierwsze kroki z TDD

  • pisanie pierwszego testu przed napisaniem kodu,
  • tworzenie minimalnego kodu spełniającego test,
  • refaktoryzacja po przejściu testu,
  • powtarzanie cyklu dla rozwoju większej funkcjonalności.

4. TDD na funkcjach i klasach

  • testowanie funkcji: podejście bottom-up,
  • testowanie klas i metod – testowanie zachowań obiektów,
  • tworzenie setupów (setUp) i teardownów (tearDown) w testach.

5. Zaawansowane techniki testowania

  • mockowanie i stubowanie w testach (unittest.mock),
  • testowanie kodu zależnego od API, baz danych, plików,
  • parametryzacja testów z użyciem pytest.mark.parametrize,
  • organizacja większych zestawów testów w projekcie.

6. Best practices w TDD

  • kiedy pisać testy jednostkowe, a kiedy integracyjne?
  • testy a dokumentacja kodu,
  • jak unikać overengineeringu w testach?
  • typowe pułapki w TDD i jak ich unikać.

6. Best practices w TDD

  • kiedy pisać testy jednostkowe, a kiedy integracyjne?
  • testy a dokumentacja kodu,
  • jak unikać overengineeringu w testach?
  • typowe pułapki w TDD i jak ich unikać.

7. Projekt praktyczny

  • rozwój prostej aplikacji (np. system zarządzania zadaniami, mini API),
  • stosowanie TDD na każdym etapie projektu,
  • refaktoryzacja z wykorzystaniem testów.

Jakie są wymagania wstępne do udziału w szkoleniu?

icon

Podstawy Pythona - Powinieneś znać podstawową składnię Pythona, w tym funkcje, instrukcje warunkowe, pętle i pracę na danych, aby swobodnie śledzić przykłady i pisać własny kod.

icon

Praca z klasami - Powinieneś rozumieć, czym są klasy, obiekty i metody w Pythonie, ponieważ podczas szkolenia będziesz testować zachowanie obiektów i rozwijać prostsze struktury kodu.

icon

Uruchamianie kodu - Powinieneś umieć samodzielnie uruchomić skrypt Pythona z terminala lub w swoim środowisku, aby bez problemu wykonywać testy i sprawdzać wyniki kolejnych iteracji.

icon

Podstawy pracy w projekcie - Przyda Ci się doświadczenie w czytaniu prostego kodu i poruszaniu się po strukturze projektu, ponieważ będziesz pracować na plikach testów oraz kodzie rozwijanym krok po kroku.