Test-Driven Development w języku C#
Czas trwania szkolenia:3 dni (24h)
Kod kursu:CH/TDD
Poziom zaawansowania:
O szkoleniu Test-Driven Development w języku C#
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Tematyka szkolenia Test-Driven Development w języku C# 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
- Praktykowanie TDD poprzez serię ćwiczeń mających na celu poznanie i zrozumienie czym jest TDD
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
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)