Testowanie automatyczne

Kod: NET-.NET test
Kategoria: .NET
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 3
Grupa docelowa: developerzy

Zaczynamy od omówienia i przećwiczenia w praktyce zasad SOLID oraz innych strategii, dzięki którym kod staje się czytelniejszy i łatwiejszy w utrzymaniu.

Podczas zadań praktycznych zobaczymy jakie kroki pozwalają na refaktoryzację istniejącego kodu do “lepszej” postaci… bo przecież większość pracy programisty polega na utrzymywaniu i modyfikacji już zaimplementowanych rozwiązań. Kod “lepszy” prawie zawsze implikuje również charakterystykę: kod “łatwo testowalny”.

Po zapoznaniu się/utrwaleniu najistotniejszych reguł programowania obiektowego intensywnie zagłębiamy się w temat testów jednostkowych. Uczestnicy poznają zarówno najlepsze praktyki dotyczące tego zagadnienia, jak również różne korzyści płynące z pokrycia kodu testami automatycznymi. Wbrew pozorom zredukowana liczba błędów w finalnym oprogramowaniu jest tylko jednym z wielu celów. Świadome – pragmatyczne, a nie dogmatyczne – zastosowanie testów pomaga pisać przyjaźniejszy kod oraz, co istotne – zwiększyć satysfakcję programisty z wykonywanej pracy. Podczas dyskusji oraz wykonywanych zadań trener dzieli się swoim wieloletnim doświadczeniem, spostrzeżeniami oraz wypracowanymi sposobami na możliwe bezbolesne rozpoczęcie bądź rozwinięcie przygody uczestników z testami. Pierwszego dnia poruszamy również temat Test Driven Development (TDD) – jednej z popularnych metod pisania testów jednostkowych.

Drugiego dnia skupiamy się głównie na praktycznych aspektach testowania. Poznajemy pojęcie “mocków” i podczas wielu zadań badamy jak testy sprawdzają się w sytuacjach, które każdy programista spotyka na co dzień. Omawiamy również bardzo szeroki wachlarz dostępnych na rynku bibliotek i narzędzi. Druga część dnia to dogłębne i szczegółowe przećwiczenie przysparzających trudności scenariuszy: testowanie baz danych, komponentów działających w środowisku wielowątkowym oraz integracji tworzonych systemów z usługami zewnętrznymi.

Dzień trzeci to głównie poszerzanie horyzontów, mające na celu wskazanie dodatkowych zastosowań testów (“convention tests“) oraz sposobów ich tworzenia (“Behavior Driven Development – BDD“). Wisienką na testowym torcie jest przybliżenie uczestnikom szkolenia koncepcji “testowania mutacyjnego“, o której niewiele osób słyszało. Końcówka materiału szkoleniowego to kilka dodatkowych ćwiczeń utrwalających zdobytą podczas trzech dni wiedzę. Następne poświęcimy kilkadziesiąt minut na testowanie kodu JavaScript, co często jest najbardziej zaniedbanym obszarem podczas pokrywania oprogramowania testami.

Niniejsze szkolenie to w ok 80% ćwiczenia praktyczne, dzięki którym już następnego dnia uczestnicy są w stanie wykorzystać zdobytą wiedzę w codziennej pracy. Części teoretyczne są uzupełnieniem ćwiczeń oraz punktem wyjściowym do aktywnej dyskusji z uczestnikami.

Każdy z trzech dni podzielony jest na sześć sekcji trwających około godziny. Pozostały czas przeznaczony jest na dyskusje trenera z zespołem, wymianę doświadczeń oraz wspólne poszukiwanie najlepszych rozwiązań.

Szkolenie kierowane jest do programistów NET, gdyż ćwiczenia oraz prezentowane narzędzia powiązane są z tym właśnie środowiskiem.

W trakcie szkolenia uczestnicy będą wykorzystywać system kontroli wersji Git, co w przypadku nieznajomości tego narzędzia może być dodatkowym walorem edukacyjnym.

Materiały wstępne

Przed szkoleniem możesz zapoznać się z serią naszych artykułów: Testowanie automatyczne.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Narzędzia automatyzacji
  • Zagadnienia architektury aplikacji wspierającej testowalność kodu
  • Najlepsze wzorce i praktyki
  • Aspekty Behavior Driven Development i Domain Driven Design

Program Szkolenia

Pobierz program w formacie PDF
  1. Dzień 1
    1. SOLID
      1. Co to jest SOLID?
      2. Zastosowanie SOLID w praktyce
      3. Dodatkowe dobre praktyki
    2. Testy jednostkowe
      1. Co to są i po co są testy?
      2. Jak pisać testy
      3. Test Driven Development (TDD)
  2. Dzień 2
    1. Mocki
    2. Praktyczne scenariusze wykorzystania testów
    3. Biblioteki i narzędzia – przegląd i rekomendacje
    4. Testy bazy danych
    5. Testowanie scenariuszy wielowątkowych
    6. Testowanie integracji z usługami zewnętrznymi
  3. Dzień 3
    1. Convention tests
    2. Behavior Driven Development (BDD)
    3. Testowanie mutacyjne
    4. Dodatkowe ćwiczenia praktyczne
    5. Testowanie JavaScript

Trenerzy

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

Zapytaj o 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ń