Tworzenie i testowanie aplikacji z użyciem Test-Driven Development (C++)

Dla kogo

Programiści Java, C#, C++ lub innego języka programowania (według potrzeb)

Wymagane umiejętności

  • Uczestnik zna programowanie obiektowe na poziomie szkolenia POB

Podstawowy program

Moduł. 1
Wprowadzenie do TDD
Moduł. 2
CPPUNIT jako narzędzie testowania
Moduł. 3
Wzorce testowania xUnit
Moduł. 4
Praktyki TDD
Moduł. 5
Refaktoring w kontekście TDD
Moduł. 6
Testowalny kod
Moduł. 7
gmock jako narzędzie do tworzenia mocków
Moduł. 8
Testowanie end-to-end
Moduł. 9
Behaviour-Driven Development
Moduł. 10
Testowanie z udziałem komponentów zewnętrznych
Moduł. 11
Warsztat praktyczny

Szczegółowy program

Moduł. 1
Wprowadzenie do TDD
  • Cykl programowania
  • Cykl TDD red-green-refactor
  • Programowanie przyrostowe
  • Zasady tworzenia testów jednostkowych
  • Przykład pracy z użyciem TDD
Moduł. 2
CPPUNIT jako narzędzie testowania
  • Tworzenie testów jednostkowych z użyciem CPPUNIT
  • Wybrane atrybuty konfiguracji CPPUNIT
  • CPPUNIT_TEST_SUITE
  • CPPUNIT_TEST
  • Metoda setUp()
  • Metoda tearDown()
  • CPPUNIT_TEST_EXCEPTION
  • CPPUNIT_TEST_FAIL
  • Wybrane asercje CPPUNIT
  • CPPUNIT_ASSERT
  • Testowanie pozytywne
  • Testowanie negatywne
  • Testowanie wyjątków
  • Wzorce TDD
  • Co testować
  • Testowanie stanu
  • Testowanie zachowania
Moduł. 3
Wzorce testowania xUnit
  • Asercja stanu końcowego
  • Asercja pomocnicza
  • Asercja delta
  • Asercja własna
  • Asercja interakcji
  • Metoda fabryki
  • Klasy pomocnicze
  • Matka obiektów
  • Testy parametryzowane
  • Autopodstawianie
  • Uprzywilejowany dostęp
  • Dodatkowy konstruktor
  • Podklasa na potrzeby testu
Moduł. 4
Praktyki TDD
  • Strategie testowania
    • Ogół - szczegół
    • Znane - nieznane
    • Ścieżka pozytywna – negatywna
  • Strategie implementacji
    • Faking it
    • Traingulation
    • Obvious implementation
  • Pojęcia TDD
    • Fixture
    • Test doubles (Stubs/Fakes/Mocks)
    • Testowanie stanu i interakcji
Moduł. 5
Refaktoring w kontekście TDD
  • Refaktoryzacje przydatne w TDD
  • Elementy refaktoryzacji do wzorców projektowych
  • Paradygmaty testowalnego kodu
  • Refaktoryzacja testów jednostkowych
  • Usuwanie redundancji w testach
Moduł. 6
Testowalny kod
  • Kompozycja i dziedziczenie a TDD
  • Elementy statyczne i singletony
  • Izolowanie i wstrzykiwanie zależności
  • Architektura warstwowa
Moduł. 7
gmock jako narzędzie do tworzenia mocków
  • Cykl życia mocka w gmock
  • Testowanie zachowania
  • Stubbing
  • Weryfikacja ilości wywołań
Moduł. 8
Testowanie end-to-end
  • Testowanie akceptacyjne
  • Testowanie end-to-end
  • Jakość zewnętrzna i wewnętrzna
  • Dobre praktyki testowania end-to-end
Moduł. 9
Behaviour-Driven Development
  • Wprowadzenie do BDD
  • Testowanie zachowania
  • BDD a User Stories
  • Specyfikacja poprzez przykłady
Moduł. 10
Testowanie z udziałem komponentów zewnętrznych
  • Strategie testowania z udziałem komponentów zewnętrznych
  • Warstwa adapterów
Moduł. 11
Warsztat praktyczny
  • Inkrementacyjny rozwój przykładowego systemu z użyciem TDD

Parametry szkolenia

Czas trwania
3 x 8h
Forma zajęć
Ćwiczenia - 60%, wykład - 40%
Kod
TDD
Wielkość grupy
do 10 osób

Jak zamówić

« lista szkoleń