Masz już konto? Zaloguj się

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

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.

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

    Wprowadzenie

    Podgląd lekcji

    4min

    Czym jest TDD

    5min

    Konsekwencje braku testów

    Podgląd lekcji

    7min

    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

    Metoda 0, 1, N, Exception

    Podgląd lekcji

    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

Paweł Rekowski

Kreator Uśmiechu

Średnia ocen autora: 5

Bio
Człowiek wielu pasji i zawodów - Przedsiębiorca, Programista, Lider, Mówca, Trener, Podcaster, a dodatkowo Tata dwóch rozrabiaków poszukujący skutecznych sposobów jak Czuć się, Wygąldać i Żyć #Lepiej. Od 11 lat w branży IT - od początku związany z PHP. Pracował dla takich marek jak Oferia, Allegro czy BlaBlaCar. Obecnie Team Leader w eMAG.pl, gdzie wdraża Test Driven Development w biurach w Polsce i w Rumunii. Miłośnik ostrych brzmień, skutecznej komunikacji oraz uświadamiania programistów ile kosztuje ich praca.
Inne kursy tego autora
Test Driven Development

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

Wyślij nam e-mail

Zadzwoń +48 880880606

Czy każdy kurs ma pliki źródłowe?

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