
Nie musisz już wszystkiego debugować na sprzęcie!
Poznaj Test Driven Development
dla systemów Embedded!
Od podstaw do komercyjnych projektów!
Masz wrażenie, że w każdym projekcie walczysz z tymi samymi problemami?
Co jeśli zignorujesz problemy?
Ale mam dla Ciebie ROZWIĄZANIE!
Test Driven Development to technika wytwarzania oprogramowania wykorzystująca testy automatyczne.
I doskonale sprawdza się również w branży Embedded!
Test Driven Development pomoże Ci:

Oszczędzić czas:

Poprawić jakość kodu:
Z TDD możesz zacząć pracę nad kodem nie mając docelowego PCB!
Twój prowadzący:
Nazywam się Maciek Gajdzica i jestem programistą embedded od 2012 roku. Przez ten czas poznałem na własnej skórze skutki zbyt sprytnego kodu, czy nadmiernego uzależnienia od narzędzi, których działania do końca nie rozumiałem.
Nauczyłem się wspomagać różnymi narzędziami i technikami zmniejszającymi ilość błędów, czy automatyzującymi żmudne czynności. Miałem również trudności ze znalezieniem materiałów do nauki na bardziej zaawansowanym poziomie.
Dlatego teraz sam takie materiały tworzę i dzięki temu Ty nie musisz popełniać moich błędów.
W ciągu ostatnich kilku lat powstało:
- Około 200 artykułów na blogu ucgosu.pl
- Ponad 40 live’ów na moim kanale YouTube
- Kursy online „C dla Zaawansowanych”, „Asembler w Embedded”, „Git w embedded”, „Linker w embedded”

Kurs „TDD w systemach Embedded”
to najlepszy sposób nauki!
MODUŁÓW
Godzin lekcji wideo
Nie znajdziesz drugiego kursu o podobnej tematyce,
tym bardziej w języku POLSKIM!

Dla kogo jest ten kurs?

Jesteś programistą embedded
Chcesz dodać do swojego arsenału nowe techniki pracy z kodem, dzięki którym będziesz sobie efektywniej radzić z wyzwaniami w projektach.

Masz zerowe doświadczenie z TDD
Może pierwszy raz słyszysz ten termin. A może znasz go tylko z książek, czy artykułów. Nie ma problemu – w kursie uczymy się wszystkiego od początku.

Znasz TDD, ale
Cię nie przekonuje
Może masz za sobą jakieś doświadczenia z TDD, ale nie kończyły się sukcesem? Z kursu dowiesz się jak unikać błędów i wyrobić sobie dobre nawyki.

Potrzebujesz
TDD do projektu
Wchodzisz do projektu, gdzie TDD jest wymagane, ale nie wiesz jak to ugryść? A może masz narzucone normy pokrycia testami? Z kursu dowiesz się jak ugryźć te tematy w projektach.
Czy kurs TDD w systemach embedded jest dla Mnie?

Jeżeli jeszcze nie czujesz się pewnie w programowaniu systemów embedded – większość materiałów z kursu na razie Ci się nie przyda. Najpierw podnieś swoje umiejętności z języka C, poznaj jakąś rodzinę mikrokontrolerów, zrób większy projekt, nabierz trochę praktyki. Dopiero wtedy weź się za Test Driven Development.
Jeśli nie masz pewności, czy kurs jest dla Ciebie – pamiętaj o gwarancji satysfakcji.
Co znajdziesz w kursie?

Podstawy TDD
Podstawy TDD są takie same w embedded, aplikacjach bankowych, czy na frontendzie. Skupimy się tutaj na filozofii TDD, a nie na konkretnych narzędziach. Dzięki temu wyrobisz sobie intuicję. Będzie Ci łatwiej podejmować decyzje. A w przyszłości będzie Ci łatwo przesiąść się na dowolny framework.

Narzędzia
Kiedy poznasz podstawy, weźmiemy się za frameworki. Zarówno te proste, jak i wielkie kombajny. W C i w C++. Do testów i do mocków. Te, które polecam i te, które odradzam.

Specyfika Embedded
Systemy embedded mają swoją specyfikę i niektórych rozwiązań nie znajdziesz w typowych podręcznikach TDD. Czy, kiedy i ile testować na sprzęcie? Co pisać w TDD, a co nie, jak testować drivery sprzętowe, a jak zależności czasowe.

Jak wprowadzać TDD w projekcie?
Kiedy poznasz podstawy, weźmiemy się za frameworki. Zarówno te proste, jak i wielkie kombajny. W C i w C++. Do testów i do mocków. Te, które polecam i te, które odradzam.

Dobre praktyki
i antywzorce
Kiedy poznasz podstawy, weźmiemy się za frameworki. Zarówno te proste, jak i wielkie kombajny. W C i w C++. Do testów i do mocków. Te, które polecam i te, które odradz

A przed wszystkim dużo praktyki
TDD to umiejętność praktyczna i nauczysz się jej tylko ćwicząc. Dlatego w kursie znajdziesz rozwiązania przykładowych zadań, prace domowe oraz zamkniętą grupę dla kursantów, gdzie możesz przedyskutować rozwiązania.
Agenda

0.1 Powitanie [0:36]
0.2 Dla kogo jest ten kurs? [2:09]
0.3 Plan działania [3:09]
0.4 Jak studiować ten kurs [1:56]
0.5 Narzędzia wykorzystywane w kursie [1:14]
0.6 Efekt końcowy [1:42]
0.8 Twój instruktor [1:18]
0.9 Praca domowa [2:45]

1.0 Intro [1:21]
1.1 O co chodzi w Test Driven Development [6:49]
1.2 Mikrocykl TDD [6:05]
1.3 Faza Red [5:36]
1.4 Faza Green [4:35]
1.5 Faza Refactor [4:29]
1.6 TDD w praktyce [4:26]
1.7 Jak pisać dobre testy? [3:55]
1.8 Minimalna konfiguracja [2:49]
1.9 Przykład [1:31:51]
1.10 Praca domowa [5:44]

2.0 Intro [1:59]
2.1 Dlaczego zależności przeszkadzają w testach [4:22]
2.2 Rodzaje mocków [5:34]
2.3 Budowa mocka [7:09]
2.4 Własne mocki, czy frameworki? [6:37]
2.5 Kiedy mockować, a kiedy nie? [6:15]
2.6 Mocki a interfejsy [3:48]
2.7 Przykład – alarm o niskim
poziomie baterii [35:57]
2.9 Praca domowa [5:14]

3.0 Intro [2:12]
3.1 Frameworki testowe [7:23]
3.2 Co zawiera framework testowy? [8:09]
3.3 Framework unity [4:43]
3.4 Googletest [5:11]
3.5 Catch2 [8:45]
3.6 FFF – Fake Function Framework [7:36]
3.7 Googlemock [9:23]
3.8 Trompeloeil [5:07]
3.9 Ceedling [4:18]
3.10 Vectorcast [12:13]
3.11 Praca domowa [2:14]

4.0 Intro [1:05]
4.1 Piramida testów [12:14]
4.2 TDD dla driverów [6:11]
4.3 Zdrowe podejście do testów HW [16:23]
4.4 Testowanie rejestrów [8:33]
4.5 Testy na docelowym sprzęcie [11:04]
4.6 Jak uruchomić testy na HW [8:55]
4.7 Testy półautomatyczne [1:43]
4.8 Zadanie – testy rejestrów HW [16:14]
4.9 Praca domowa [1:05]

5.0 Intro [0:36]
5.1 Cechy dobrych testów [13:49]
5.2 Zależności [22:41]
5.3 Jak refactorować [11:12]
5.4 Jak dzielić testy? [9:57]
5.5 Kontrola wersji a TDD [8:22]
5.6 Testy a dokumentacja [5:08]
5.7 Behavior driven development [5:28]
5.8 Betonowanie kodu testami[9:05]
5.9 Green bar addiction [6:11]
5.10 Antywzorce [17:02]
5.11 Dobre praktyki [7:26]
5.11 Praca domowa [1:02]

6.0 Intro [0:50]
6.1 Funkcje i zmienne statyczne [10:41]
6.2 Testowanie prywatnych elementów [13:28]
6.3 Wstawki asemblerowe [15:41]
6.4 Nieskończone pętle i funkcje
noreturn [9:38]
6.5 Przerwania [6:17]
6.6 Zależności od RTOSa [13:55]
6.7 Biblioteki zewnętrzne [14:59]
6.8 Maszyny stanu [18:04]
6.9 Zależności sprzętowe [11:21]
6.9 Przykład – pilot do telewizora [1:32:04]
6.9 Praca domowa [1:29]

7.0 Intro [1:03]
7.1 Zanim wdrożysz TDD w swoim projekcie[19:03]
7.2 Wymówki, aby nie stosować TDD [20:52]
7.3 Code Coverage[27:38]
7.4 Kiedy nie stosować TDD [13:42]
7.5 Code Review[7:44]
7.6 Istniejąca baza kodu[8:22]
7.7 Strategia testowania w projekcie [23:28]
7.14 Praca domowa [0:51]

8.0 Intro [0:44]
8.1 Analiza statyczna [14:49]
8.2 Analiza statyczna a TDD [10:40]
8.3 Analiza dynamiczna[9:09]
8.4 Code coverage[7:48]
8.5 System budowania[14:22]
8.6 Serwer Continuous Integration [12:41]
8.7 Automatyczne testy HW[8:55]
8.8 Wsparcie IDE[9:41]
8.9 Przykład – konfiguracja narzędzi [14:04]
8.10 Praca domowa [2:05]

FF.1 Intro [0:59]
FF.2 Co dalej? [2:08]
FF.3 Certyfikat ukończenia [1:47]

1. Biblioteka Modbus – część 1 [29:48]
2. Biblioteka Modbus – część 2 [29:43]
3. Biblioteka Modbus – część 3 [28:58]
4. Biblioteka Modbus – część 4 [24:24]
5. Biblioteka Modbus – część 5 [19:43]
6. Biblioteka Modbus – część 6 [27:07]
7. Biblioteka Modbus – część 7 [39:02]
8. Biblioteka Modbus – część 8 [17:49]
9. Biblioteka Modbus – część 9 [48:45]
10. Biblioteka Modbus – część 10 [40:10]

1. Numbers to LCD [2:08:56]
2. EEPROM + CAN [1:58:46]
Co otrzymasz dołączając do kursu?
Ale ile to wszystko kosztuje?
Cena kursu to:
1598 zł
Ale do środy 18 marca do godziny 21:00 możesz dołączyć za:
1109 zł (902 zł netto)
Najniższa cena w ostatnich 30 dniach: 1598zł
Po tym czasie kończy się promocja i wracamy do regularnych cen.
Kolejna promocja dopiero za kilka miesięcy, ale cena nigdy nie będzie niższa niż teraz.
Kurs od środka
Obejrzyj przykładowe lekcje:
Zobacz jak wygląda platforma kursowa:
Dostęp do platformy i wszystkich materiałów otrzymasz NATYCHMIAST po zakupie!
Dostęp do kursu nie ma ograniczeń czasowych!
Otrzymasz również bonusy!
Przykładowa biblioteka Modbus


Zamknięta grupa dla kursantów
Przykładowa biblioteka Modbus

Co mówią uczestnicy?
Do tej pory w kursie wzięło udział ponad 400 osób!
Oto kilka z ich opinii:
Ale ile to wszystko kosztuje?
Cena kursu to:
1598 zł
Ale do środy 26 sierpnia do godziny 21:00 możesz dołączyć za:
1109 zł (902 zł netto)
Najniższa cena w ostatnich 30 dniach: 1598zł
Po tym czasie kończy się promocja i wracamy do regularnych cen.
Kolejna promocja dopiero za kilka miesięcy, ale cena nigdy nie będzie niższa niż teraz.
Co otrzymasz dołączając do kursu?
Gwarancja satysfakcji

Przygotowałem szkolenie najlepiej jak potrafię. Zawarłem tam wiedzę, do której dochodziłem wiele lat. Umieściłem treści, które sam chciałbym otrzymać i które pomogłyby mi w różnych sytuacjach jakie napotykałem na swojej ścieżce zawodowej.
Jeżeli jednak z jakiegokolwiek powodu uznasz, że to szkolenie nie jest dla Ciebie – wystarczy, że napiszesz na kontakt@ucgosu.pl.
Otrzymasz wtedy zwrot 100% Twojej wpłaty.
Masz na to 30 dni.



