1.2. About Agenda
Working hours 9:00 - 17:00
Lunch break 13:15 - 14:00
10 min break every 1.5 hour
1.2.1. 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.2. 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.3. 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