1.2. About Agenda
8:59 - meeting
9:00 - training day start
10:20-10:30 - coffee break (10 min)
11:50-12:00 - coffee break (10 min)
13:15-14:00 - lunch break (45 min)
15:20-15:30 - coffee break (10 min)
17:00 - training day end
1.2.1. Breaks
10:20-10:30 - coffee break (10 min)
11:50-12:00 - coffee break (10 min)
13:15-14:00 - lunch break (45 min)
15:20-15:30 - coffee break (10 min)
1.2.2. Day 1
10 min - Intro: welcome message, course introduction, agenda, spreadsheet
60 min - Setup: IDE, Git, repository, Python, doctest
30 min - Placement test: evaluating participant skills
60 min - Placement test: live coding solution, IDE demonstration, ie. debugging, working with VCS, refactoring, quick documentation, type annotations, function signatures
Rodzaje testów na przykładach:
Jednostkowe
Dymne
Analiza statyczna
Mutacyjne
Regresyjne
Funkcjonalne
Interfejsu
Obciążeniowe
Integracyjne
Bezpieczeństwa
Test Driven Development:
Test first vs. test last development
Mock vs. Stub
Problem precyzji liczb float (IEEE-754)
Testowanie wartości pseudolosowych oraz pojęcie ziarna losowości
Framework unittest vs. doctest
Uruchamianie testów w środowisku IDE (PyCharm) oraz z konsoli
Demonstracja TDD
Samodzielny projekt TDD (kilka iteracji)
Demonstracja TDD oraz opcji refaktoringu w środowisku IDE (PyCharm)
Testy aplikacji asynchronicznych
Automatyzacja testów:
Ekosystem narzędzi deweloperskich
Continuous Integration
Continuous Delivery
Continuous Deployment
Definiowanie Pipeline CI/CD
Automatyzacja testów na środowisku testowym
Zarządzanie zależnościami aplikacji
Refaktoryzacja:
Rename
Extract Method
Extract Superclass
Inline
Introduce Variable
Introduce Constant
Introduce Field
Introduce Parameter
Pull Members Up
Push Members Down
1.2.3. Day 2
20 min - Dragon: introduction to Dragon project and sprints
30 min - Dragon v1: programming
15 min - Dragon v1: code review
30 min - Dragon v1: solution, live coding, TDD, debugging
30 min - Dragon v2: programming
15 min - Dragon v2: code review
30 min - Dragon v2: solution, live coding, TDD, refactoring
30 min - Dragon v3: programming
15 min - Dragon v3: code review
1.2.4. Day 3
30 min - Dragon v3: solution, live coding, TDD, refactoring
30 min - Dragon v4: programming
15 min - Dragon v4: code review
30 min - Dragon v4: solution, live coding, TDD, refactoring
30 min - Dragon v5: programming
15 min - Dragon v5: code review
30 min - Dragon v5: solution, live coding, TDD, refactoring
25 min - Dragon: closing remarks