Plan nauki: Python + pytest dla testera automatyzującego
Kompleksowy plan nauki Pythona i pytest, ukierunkowany na pracę testera automatyzującego.
Nacisk na OOP, testowalność kodu, dobre praktyki i realne scenariusze testowe.
🔰 ETAP 0 – Przygotowanie środowiska
- Instalacja Python 3.11+
- Wirtualne środowiska (
venv) - pip / requirements.txt / pyproject.toml
- pytest, pytest-cov
- IDE (VS Code / PyCharm)
- Git – podstawy
- Struktura projektu testowego
🧱 ETAP 1 – Python: absolutne podstawy
- Zmienne i typy danych
- Operatory
- Instrukcje warunkowe
- Pętle
- Listy, słowniki, krotki, zbiory
- Funkcje
- Importy
- Obsługa wyjątków
🧪 ETAP 2 – pytest: podstawy
- Instalacja pytest
- Struktura testów
assert- Uruchamianie testów
- Testowanie wyjątków
- Parametryzacja testów
- Markery
🧱 ETAP 3 – Python pod testy
- Moduły i pakiety
- Praca z plikami (JSON, CSV)
datetimeenum- Type hints
- Czytelność i testowalność kodu
🧩 ETAP 4 – OOP dla testera
- Klasy i obiekty
__init__- Metody instancji
- Atrybuty
- Dziedziczenie
- Kompozycja
__repr__,__str__
🧩 ETAP 5 – OOP zaawansowane
- Enkapsulacja
@property- Klasy abstrakcyjne (
abc) - Dataclasses
- SOLID w testach
- Dependency Injection
- Projektowanie kodu testowalnego
🔌 ETAP 6 – pytest: fixtures i struktura
- Fixtures
- Scope fixtures
autouseconftest.py- Parametryzacja danych testowych
- Setup / teardown
🧪 ETAP 7 – Mockowanie i izolacja
unittest.mockMock,MagicMockpatchmonkeypatch- Mockowanie API
- Mockowanie bazy danych
- Mockowanie czasu
🌐 ETAP 8 – Testy API i integracyjne
- Biblioteka
requests - Testy REST API
- Status codes
- Walidacja JSON
- Testy negatywne
- Testy regresji
- Podstawy testów kontraktowych
📊 ETAP 9 – Jakość testów
- pytest-cov
- Coverage
- Testy deterministyczne
- Flaky tests
- Refaktoryzacja testów
- Organizacja danych testowych
⚙️ ETAP 10 – Framework testowy
- Architektura frameworka
- Warstwy testów
- Konfiguracja środowisk
- Logowanie
- Raporty testowe
- Dokumentacja (README)
🚀 ETAP 11 – CI/CD
- Uruchamianie pytest w CI
- GitHub Actions / GitLab CI
- Raporty i artefakty
- Fail fast
- Testy jako element pipeline
🎯 ETAP 12 – Projekt końcowy
- Projekt testowy end-to-end
- Testy unit + integracyjne
- OOP i SOLID
- Mockowanie zależności
- Coverage ≥ 90%
- Dokumentacja projektu
✅ Efekt końcowy
- Umiejętność pisania testów w pytest
- Rozumienie i stosowanie OOP
- Tworzenie testowalnego kodu
- Mockowanie zależności
- Budowa własnego frameworka testowego
- Gotowy projekt do portfolio