Test-Driven Development w języku C#
LICZBA DNI: 3 (24h)
KOD KURSU: CH/TDD
Weź udział w szkoleniu
Termin
Lokalizacja
Cena / os
21
czerwca
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Termin
21
czerwca
Lokalizacja
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Tematyka szkolenia koncentruje się wokół organizacji oraz jakości kodu. Test-Driven Development to warsztaty skierowane do programistów oraz testerów chcących tworzyć testowalny kod odpowiadający zapotrzebowaniu zamawiającego
WYMAGANIA
Praktyczna znajomość języka programowania C#
Mile widziane podstawy programowania obiektowego oraz testowania oprogramowania
ZALETY
Przewaga praktycznych warsztatów ponad akademickie przekazywanie wiedzy w formie wykładu
Praktykowanie TDD poprzez serię ćwiczeń mających na celu poznanie i zrozumienie czym jest TDD
Cele szkolenia
Wyrobienie w uczestnikach pewności w stosowaniu TDD na co dzień
Zaznajomienie z technikami tworzenie wysokiej jakości kodu, który wygodnie poddaje się utrzymaniu i rozwojowi
Program
TDD od kuchni
- Historia
- Idea
- Ciemna strona TDD
- Co i jak testować?
Niezbędnik do pisania dobrych testów
- Nazwa testu, klucz do sukcesu
- Red-green-refactor
- F.I.R.S.T
- Dubler - mock, fake, stub
- Pułapki w stosowaniu TDD
- Generatory danych testowych
Narzędzia developerskie
- Visual Studio i jego możliwości
- ReSharper
- Silnik testów jednostkowych (np.: MsTest, NUnit, xUnit)
- Generator dublerów (np.: Moq, NSubstitution, RhinoMocks, FakeItEasy)
- Weryfikacja poprawności (np.: FluentAsserions)
- Pokrycie kodu testami (Code Coverage)
Testowalny kod - praktyczna odsłona
- Trudno testowalny kod - co to znaczy?
- Oczekuj zamiast tworzyć (DI)
- SOLID - fundament dobrego kodu
- Techniki dublowania zależności
Testowanie funkcjonalne (regresja/end-2-end)
- Testowanie adaptacyjne
- Testowanie funkcjonalne (end-to-end)
- Automatyzacja testów funkcjonalnych
Refaktoryzacja
- Techniki przydatne w TDD
- Usuwanie redundancji w kodzie
- Code Smell - indentyfikacja, usuwanie
- Refaktoryzacja do wzorców projektowych
- Praca z kodem odziedziczonym (legacy code)
