Techniki efektywnego testowania kodu dla programistów .NET

Kod: NET-test
Kategoria: .NET
Forma: 30% wykłady, 70% ćwiczenia
Czas trwania: 3 dni
Odbiorcy: testerzy, developerzy
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.

  1. Jednostkowe testowanie kodu
    1. Dlaczego warto automatycznie testować kod?
    2. Dobre testy jednostkowe
    3. Struktura testów jednostkowych
    4. Nazewnictwo testów
    5. Konstrukcje wspierające testowalność kodu
    6. Antywzorce dla testowalnego kodu
    7. Pisanie czytelnych asercji (FluentValidation)
    8. Ćwiczenia praktyczne (w trakcie, przeplatane z teorią)
    9. Przyjrzenie się metryką testów (code coverage)
  2. Wzorce tworzenia testów
    1. Testowania zachowania a nie metod
    2. Techniki przygotowania stanu testu
    3. Techniki weryfikacji rezultatu testów
  3. Test-Driven Development
    1. Podstawowe założenia
    2. Cykl red-green-refactor
    3. Przejrzysta struktura testu
    4. Wybór kolejnych funkcji do zaimplementowania
    5. Sprawne uruchamianie testów z IDE (przydatne wtyczki, skróty klawiszowe)
    6. Ćwiczenia praktyczne z TDD w formie Kata/Coding Dojo
    7. Korzyści ze stosowania TDD
  4. Bezpieczny refactoring
    1. Wyjaśnienie istoty refactoringu
    2. Przydatne przekształcenia kodu
    3. Ćwiczenia praktyczne
  5. Mockowanie w akcji
    1. Wprowadzenie do "test doubles" (różnice między test doubles, mocks, stubs, fakes, dummies)
    2. Potrzeba, kiedy i dlaczego warto?
    3. Mockowanie z wybranych frameworkiem (NSubstitute, Moq)
    4. Ćwiczenia praktyczne
  6. Testowanie z bazą danych
    1. Rozwiązywanie problemów z zależnościami między testami
    2. Zarządzanie transakcjami bazodanowymi w testach
    3. Utrzymywanie zestawu danych testowych
    4. Testowanie z bazą danych w pamięci
    5. Kiedy warto mockować warstwę dostępu do bazy danych
    6. Ćwiczenia praktyczne
  7. Pisanie testowalnego kodu
    1. Wysoka kohezja
    2. Niski coupling
    3. Wzorce wspomagające pisanie testowalnego kodu
  8. Wybrane tematy z testowania akceptacyjnego
    1. Wprowadzenie do BDD (Behaviour-Driven Development)
    2. BDD z wykorzystaniem SpecFlow
    3. Testy akceptacyjne
      1. systemowe
      2. komponentów
  9. Weryfikacja testów za pomocą mutantów


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.