Menu

Test-Driven Development – TDD

Adresaci szkolenia

Test-Driven Development to warsztaty skierowane do programistów. Tematyka szkolenia koncentruje się wokół architektury kodu – jego jakości, użyteczności i sprawności oraz oczywiście testowalności.
Testy nie są tylko dla testerów. Pisanie testów przed kodem, nie tylko ułatwia jego testowanie, ale również zapewnia jego przejrzystość i czytelność. Warsztaty Test-Driven Development uczą najlepszych praktyk z zakresu tworzenia architektury przejrzystego kodu (ang. Clean Code). Test-Driven Development to najpopularniejsze obecnie podejście do pisania kodu wysokiej jakości stosowane między innymi przez gigantów IT takich jak Microsoft, Apple, Google,…

Krótki opis

Programowanie techniką test-driven development wyróżnia się tym, że najpierw programista zaczyna od pisania testów do funkcjonalności, która jeszcze nie została napisana. Na początku testy mogą nawet się nie kompilować, ponieważ może nie być jeszcze elementów kodu (metod, klas) które są w testach użyte.
Na początku zaczyna się od przypadku, który nie przechodzi testu – zapewnia to, że test na pewno działa i może wyłapać błędy.

Testy powinny:
› być proste,
› implementować funkcjonalność,
› mieć uporządkowany kod (refaktoryzacja)

Test-Driven Development pozwala zapewnić miedzy innymi:
› stałe tempo rozwoju oprogramowania,
› testowanie „surowego” kodu
› wyeliminowanie nieprzemyślanego i zbędnego kodu,
› analizowanie i poprawianie jakości wizualnej i czytelności kodu,
› efekt dodatkowy: wysokie pokrycie kodu testami,
› metodyka pracy każdego programisty.

Metody

› wykład
› laboratorium
› prezentacje
› ćwiczenia praktyczne
› studium przypadków
› dyskusje
› pytania i odpowiedzi
› analiza doświadczeń
› trening umiejętności
› lectures
› labolatorium
› presentation
› practical session
› questions and answers

Program

Kurs Test-Driven Development to 2 dni intensywnych, praktycznych ćwiczeń podpartych teorią.
Trener podczas szkolenia tłumaczy wszystkie aspekty wytwarzania oprogramowania w aspekcie Test-Driven Development.
Uczestnicy po kursie będą w stanie samodzielnie stosować metodykę Test-Driven Development w swojej pracy.
Szkolenie bazuje na następujących językach programowania: C# oraz Visual Studio

1. Test-Driven Development:
• Koncepcja TDD
• Red – Green – Refactor
• Podejście Outside-In vs Inside-out
• Klasyczna vs Londyńska szkoła TDD
• Projektowanie poprzez testy
• Błędy w implementacji TDD
• Kiedy TDD nie ma sensu
• Coding Dojo i TDD Kata (prepared i randori) – ćwiczenia
• Koncepcja Walking Skeleton

2. Pisanie testów i testowalnego kodu:
• Co sprawa, że kod jest trudny lub nie nadaje się do testowania?
• Testowanie oparte na stanie vs testowanie oparte na zachowaniu
• Zapachy złych testów – teoria i praktyka
• Zasada F.I.R.S.T – teoria i praktyka
• Narzędzia testowe, te dobre i te złe
• Techniki mockowania

3. Refaktoryzacja i jakość kodu:
• Jaki kod warto refaktoryzować?
• Omówienie code smells
• Identyfikacja code smells – ćwiczenia
• Jakość kodu
• Zasady SOLID i GRASP
• Refaktoryzacja w kierunku wzorców projektowych (szczególnie DDD)