Kurs Test Driven Development
Jeżeli programujesz w PHP i masz dość wysypujących się aplikacji oraz powtarzających się błędów, to bardzo dobrze trafiłeś. Ten kurs nauczy Cię jak pisać najpierw testy, a później kod. Poznasz moje najlepsze techniki oraz strategie, które sprawdzają się w tworzeniu nowych aplikacji oraz w pracy z Legacy Code. Zmienisz swoje nastawienie do testów, pozbędziesz się wszystkich wymówek i nauczysz się jak zastosować TDD w praktyce.
45 lekcji
8h 51min
4 (5 oceny)
Test Driven Development - Testy Jednostkowe w PHP
Kurs składa się z siedmiu modułów, które krok po kroku wprowadzą Cię do świata Test Driven Development. Na początku rozprawimy się z popularnymi wymówkami, które blokują Cię przed pisaniem testów. Poznasz niezbędną teorię, a następnie przygotujemy środowisko do pracy. W trakcie kursu stworzymy prostą grę karcianą - Makao, zaczynając za każdym razem od testów, których w trakcie całego kursu napiszemy wspólnie znacznie ponad 100. Zdobędziesz wiedzę i doświadczenie, które wyniosą Twój kod na wyższy poziom działania, jakości oraz bezpieczeństwa.
Mity, wymówki i konsekwencje braku testów
Test Driven Development jest jak zdrowy styl życia. Każdy słyszał, że warto to robić, ale mało kto stosuje się do tego w praktyce. Pokażę Ci realne przykłady konsekwencji braku testów, obalę popularne mity oraz pozbędziemy się Twoich wymówek, by nie pisać testów. Zobaczysz czym jest TDD oraz jak powinna wyglądać piramida testów w Twoim projekcie.
Workflow w TDD
Praca w Test Driven Development ma swoją kolejność. Poznasz cykl Red - Green - Refactor, właściwe nazewnictwo oraz metodę 0, 1, N, Exception. Dzięki temu będziesz wiedzieć dokładnie od czego zacząć. Nauczysz się używać PHPUnit, czyli podstawowego narzędzia do tworzenia testów w PHP, oraz dowiesz się co testować, a czego nie.
Metody testowania
PHP dostarcza wiele funkcjonalności, które stanowią wyzwanie podczas testowania. Pokażę Ci jak testować podstawowe interfejsy i elementy języka PHP. Dowiesz się jak poradzić sobie z testowaniem funkcji losowych, takich jak shuffle, rand czy daty oraz czas, by Twoje były od nich niezależne. Zobaczysz jak poprawnie wstrzykiwać zależności oraz tworzyć zależności między testami, by pisać kod szybciej i lepiej.
Mechanizmy w PHPUnit
W tej części nauczę Cię jak korzystać w pełni z możliwości najlepszej biblioteki do testowania w PHP. Dowiesz się czym jest Stub, Mock oraz Spy i jak ich używać poprawnie. Dowiesz się jak testować wiele przypadków jednocześnie dzięki Data Providerom oraz jak oddzielać testy jednostkowe od integracyjnych przy użyciu Test Suites. Na koniec zobaczysz jak generować raporty pokrycia kodu, czyli Code Coverage. Zrozumiesz dlaczego 100% pokrycia jest proste do uzyskania i nie jest to dobra miara jakości kodu.
Implementacja gry w MAKAO
Cały kurs jest nastawiony na praktyczne zastosowanie TDD. Część testów będziemy tworzyć wspólnie, ale czekają na Ciebie również zadania domowe. Nie da się nauczyć TDD tylko o tym słuchając, dlatego napiszemy wspólnie ponad 100 testów jednostkowych i integracyjnych, gwarantujących poprawne działanie gry w Makao. Będę dzielić się z Tobą swoim 11-letnim doświadczeniem w programowaniu w PHP oraz pokażę Ci swoje najlepsze triki i strategie na rozwiązywanie skomplikowanych przypadków.
Codzienne wyzwania w TDD
Ponieważ nie żyjemy w próżni, kolejny dział będzie poświęcony pracy z Legacy Codem. Zobaczysz co powoduje, że nikt nie lubi starego kodu i o ile więcej pracy musisz w niego włożyć, by czuć się bezpiecznie. Zobaczysz, że testowanie takiego kodu jest możliwe, kiedy zastosujesz się do kilku prostych metod. Zobaczysz, że 100% pokrycia kodu nie gwarantuje Ci bezpieczeństwa. Wypunktuję Ci najczęstsze błędy początkujących.
Więcej niż testowanie
Na koniec poznasz ciekawe alternatywy i możliwości skutecznego testowania zależności w PHP. Nauczę Cię również naprawiać bugi z użyciem TDD, dzięki czemu nigdy więcej nie będziesz musiał naprawiać dwa razy tego samego. Zobaczysz, że testy stanowią idealną formę dokumentacji oraz znacznie przyspieszają wdrażanie nowych osób do projektu. Uruchomimy stworzoną grę oraz podsunę Ci kilka pomysłów jak możesz ją samodzielnie rozwinąć, by sprawdzić zdobytą wiedzę w praktyce.
Dla kogo jest ten kurs?
Ten kurs powstał dla programistów dobrze znających język PHP, którzy wiedzą jak pisać kod aplikacji, ale nie potrafią pisać testów lub chcą robić to lepiej. Jeżeli widzisz PHP po raz pierwszy, to najpierw nabierz trochę wprawy i wróć do tego materiału za kilka miesięcy. Nie potrzebujesz natomiast żadnej znajomości PHPUnit, czy innych zewnętrznych narzędzi lub bibliotek. To kurs dla Ciebie, jeżeli chcesz tworzyć bezpieczne aplikacje o wysokiej jakości, którym możesz zaufać. Oprócz tego, jeśli chcesz przestać się stresować, że po wdrożeniu znowu coś przestanie działać, lub masz dość powtarzających się błędów na supporcie - to ten kurs jest dla Ciebie.
Czego się nauczysz?
-
Obalenie mitów i wymówek o TDD
-
Skuteczne metody konstruowania testów
-
Workflow pracy w Test Driven Development
-
Wykorzystanie mozliwosci PHPUnit
-
Modelowanie aplikacji przez testy
-
Testowanie Legacy Code
-
Wskazówki od eksperta - praktyka
-
Kompletne pliki zródlowe i wiele wiecej!
Zawartość
Test Driven Development
8 rozdziały 45 lekcji 8h 51min
-
Wstęp do kursu
50min
Czym jest TDD
5min
Popularne mity i wymówki
13min
Piramida testów
7min
Specyfikacja projektu
15min
-
Workflow w TDD
1h 23min
Konfiguracja środowiska
12min
Nazewnictwo I konstrukcja
14min
Cykl RED - GREEN - REFACTOR
14min
Setup klas testowych
9min
Refactoring
5min
Przygotowanie talii kart
14min
-
Metody testowania
1h 48min
Test interfejsu Iterator
8min
Test interfejsu ArrayAccess
14min
Testy dla wielu elementów
12min
Testowanie funkcji PHP
11min
Wstrzykiwanie zależności
14min
Testy zależne
9min
Testowanie wypisywania
14min
Funkcjonalności projektu
15min
Game Service Test
12min
-
Mechanizmy w PHPUnit
1h 19min
Stub / Mock / Spy
14min
Modelowanie aplikacji
14min
Data Provider
13min
Wyjątki i kolejność graczy
10min
Code coverage
15min
Test suites
13min
-
Implementacja projektu
1h 46min
Dwójki i dobieranie kart
16min
Czwórki i opuszczenie kolejek
14min
Walet - żądanie wartości
16min
Damy i Króle
17min
Asy - zmiana koloru na stole
15min
Wybór pierwszej karty do gry
14min
Rozdanie kart dla graczy
13min
-
Codzienne wyzwania w TDD
47min
Mockowanie interfejsów
14min
Makao - pierwsza runda
6min
Testowanie Legacy Code
15min
100 coverage z bugami
11min
-
Więcej niż testowanie
54min
Mockowanie z Prophecy
14min
Mockowanie z Prophecy cz. 2
11min
Rozwiązywanie bugów w TDD
17min
Testy jako dokumentacja
11min
-
Podsumowanie
6min
Co dalej
5min
Zakończenie
1min
Autor kursu
Dołącz do ponad 10 tys. zadowolonych z naszych kursów
Grzegorz Charkiewicz
26 kwietnia 2021
Bardzo dobre wprowadzenie do testowania
Janusz
6 lipca 2021
Intensywne kursy - duzo mozna sie nauczyc
Michal Goryszewski
20 sierpnia 2021
Sebastian Konarzewski
21 listopada 2021
Grzegorz
22 stycznia 2022
Kurs Test Driven Development
-
45 lekcji wideo
-
8h 51min materiału
-
Ostatnia rewizja 18.06.2018
-
Certyfikat w ramach ścieżek
-
Dostęp z urządzeń mobilnych
Dlaczego wybrać właśnie ten kurs?
Efektywna nauka
Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!
Wiedza ekspertów
Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i pracować efektywniej.
Praktyczne przykłady
Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.
Pytania i odpowiedzi
Przeczytaj najczęściej zadawane pytania
Masz więcej pytań?
Porozmawiaj z nami na na czacie
Zadzwoń +48 880880606
Nie każdy. Jeśli pliki są dostępne dla danego kursu, znajdziesz je w zakładce źródła. Niektóre kursy nie posiadają źródeł ponieważ nie są potrzebne, inne nie mogły być zamieszczone np. ze względu na prawa autorskie do wykorzystania komercyjnych prac naszych autorów. Staramy się aby kursy były maksymalnie praktyczne i chętnie pokazujemy zaplecze zawodowe naszych autorów, ale niekiedy nie możemy dołączyć go w postaci źródeł.
Jak jest skonstruowany kurs?Kurs składa się z rozdziałów oraz lekcji. Staramy się, aby optymalnie kursy miały 5-7 rozdziałów po około 5-10 lekcji w każdym. W ten sposób nauka jest optymalna a podtrzymanie uwagi staje się łatwiejsze. Rekomendujemy przerabianie nie więcej niż jednego rozdziału naraz a po jego przerobieniu powtórzenie materiału we własnym zakresie.
Jak najlepiej wykorzystać kurs?Potraktuj kurs jako inspirację do własnej pracy. Tam, gdzie się da staraj się powtarzać czynności, które wykonuje autor. Nie powtarzaj ich jednak bezmyślnie - spróbuj zmodyfikować przykłady i dostosować je do swoich potrzeb. W ten sposób przyswoisz materiał jeszcze lepiej!
Jak mogę uzyskać dostęp do kursu?Możesz albo wykupić ten konkretny kurs przez koszyk, uzyskując do niego (i jego rewizji) bezterminowy dostęp, albo wykupić wariant abonamentu, który obejmuje dany kurs i w ten sposób oglądać go oraz inne materiały na platformie tak długo, jak Twój abonament jest aktywny.
Czy kurs jest aktualny?Staramy się aby wszystkie materiały na stronie były aktualne. Nie znaczy to, że kurs powstał bardzo niedawno. Często na stronie znajdziesz trochę starsze kursy, jednak regularnie wykonujemy ich rewizję i zmieniamy lekcje - czy to przez dodanie stosownych komentarzy z aktualizacją, czy poprzez nagranie danej lekcji jeszcze raz. Datę ostatniej rewizji znajdziesz w informacjach o kursie.
Czym się różni kurs od warsztatu i ścieżki?Kursy to kilku godzinne, kompleksowe opracowanie danego zagadnienia, podzielone na lekcje i rozdziały. Często uzupełniają je Warsztaty, które mają formę jednej dłuższej, praktycznej lekcji (30min-1h), natomiast ścieżki stanowią zbiór jednych i drugich materiałów - ułożoną z kursów i warsztatów playlistę, która pozwala Ci kompleksowo opanować dane zagadnienie.
We frontendzie nie można stać w miejscu, niezależnie od tego, czy jest się początkującym, czy zaawansowanym. Narzędzia i techniki się zmieniają, więc trzeba cały czas trzymać rękę na pulsie. Jako twórca kursów i programista mogę spokojnie polecić eduweb.pl jako aktualne i dobre źródło wiedzy.
Adam Romański
helloroman.com
Zacznij naukę w Test Driven Development
-
45 lekcji wideo
-
8h 51min materiału
-
Ostatnia rewizja 18.06.2018
-
Certyfikat w ramach ścieżek
-
Dostęp z urządzeń mobilnych
Kursy które mogą Cię również zainteresować
Nowoczesny Node.js
Michał Jabłoński
NestJS w Praktyce
Adam Gospodarczyk
Programowanie w Golang
Piotr Krzesaj
Magento 2
Patryk Waluś
Livewire
Adam Gospodarczyk
Python i Django
Grzegorz Szymborski