| Tytuł: | Techniki efektywnego testowania kodu dla programistów .NET |
| Kod: | NET-test |
| Kategoria: | .NET |
| Forma: | 30% wykłady, 70% ćwiczenia |
| Czas trwania: | 3 dni |
| Odbiorcy: | developerzy, testerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Podczas szkolenia uczestnicy poznają techniki pragmatycznego podejścia do wytwarzania testowalnego oprogramowania Podczas warsztatów praktycznych uczestnicy posiądą umiejętność pisania kodu który skutecznie można testować, jak i same techniki testowania przy wykorzystaniu narzędzi powszechnie stosowanych w środowisku .NET.
Szkolenie przeznaczone jest zarówno dla grup które nigdy nie miały do czynienia z testami oraz dla grup które już testują, ale czują, że z testów można wyciągnąć znacznie więcej wartości niż dotychczas.
Wyróżniki szkolenia
- Tworzenie skutecznych i łatwych w utrzymaniu testów automatycznych
- Najlepsze wzorce i praktyki (w tym TDD)
- Sensowne testowanie integracyjne
- Praca z popularnymi narzędziami do testowania (XUnit lub NUnit, SpecFlow)
- Testy integracyjne przy wykorzystaniu Microsoft Testing library, NSubstitute lub Moq
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Jednostkowe testowanie kodu- Dlaczego warto automatycznie testować kod?
- Dobre testy jednostkowe
- Struktura testów jednostkowych
- Nazewnictwo testów
- Konstrukcje wspierające testowalność kodu
- Antywzorce dla testowalnego kodu
- Pisanie czytelnych asercji (FluentValidation)
- Ćwiczenia praktyczne (w trakcie, przeplatane z teorią)
- Przyjrzenie się metryką testów (code coverage)
- Dlaczego warto automatycznie testować kod?
-
Wzorce tworzenia testów- Testowania zachowania a nie metod
- Techniki przygotowania stanu testu
- Techniki weryfikacji rezultatu testów
- Testowania zachowania a nie metod
-
Test-Driven Development- Podstawowe założenia
- Cykl red-green-refactor
- Przejrzysta struktura testu
- Wybór kolejnych funkcji do zaimplementowania
- Sprawne uruchamianie testów z IDE (przydatne wtyczki, skróty klawiszowe)
- Ćwiczenia praktyczne z TDD w formie Kata/Coding Dojo
- Korzyści ze stosowania TDD
- Podstawowe założenia
-
Bezpieczny refactoring- Wyjaśnienie istoty refactoringu
- Przydatne przekształcenia kodu
- Ćwiczenia praktyczne
- Wyjaśnienie istoty refactoringu
-
Mockowanie w akcji- Wprowadzenie do "test doubles" (różnice między test doubles, mocks, stubs, fakes, dummies)
- Potrzeba, kiedy i dlaczego warto?
- Mockowanie z wybranych frameworkiem (NSubstitute, Moq)
- Ćwiczenia praktyczne
- Wprowadzenie do "test doubles" (różnice między test doubles, mocks, stubs, fakes, dummies)
-
Testowanie z bazą danych- Rozwiązywanie problemów z zależnościami między testami
- Zarządzanie transakcjami bazodanowymi w testach
- Utrzymywanie zestawu danych testowych
- Testowanie z bazą danych w pamięci
- Kiedy warto mockować warstwę dostępu do bazy danych
- Ćwiczenia praktyczne
- Rozwiązywanie problemów z zależnościami między testami
-
Pisanie testowalnego kodu- Wysoka kohezja
- Niski coupling
- Wzorce wspomagające pisanie testowalnego kodu
- Wysoka kohezja
-
Wybrane tematy z testowania akceptacyjnego- Wprowadzenie do BDD (Behaviour-Driven Development)
- BDD z wykorzystaniem SpecFlow
- Testy akceptacyjne
- systemowe
- komponentów
- systemowe
- Wprowadzenie do BDD (Behaviour-Driven Development)
-
Weryfikacja testów za pomocą mutantów
Pobierz program w formacie PDF