Czym jest Test Driven Development (TDD) ⚡ i testowanie jednostkowe (Unit Testing)? 🕹️

🔥 Sprawdź kurs Java od podstaw - od zera do Junior Developera: javaodpodstaw.pl/ 🔥
Test Driven Development (TDD) i Unit Testing to jedne z najważniejszych koncepcji we współczesnym programowaniu.
Dlaczego warto te koncepcje znać i stosować?
Dlaczego są tak ważne, jeżeli chcemy tworzyć łatwe do utrzymywania, pozbawione bugów projekty?
W tym odcinku odpowiadam na najważniejsze pytania związane z TDD i testowaniem jednostkowym.
🔥Subskrybuj kanał: kzread.info...
📘Grupa na Facebooku: / 693124164480151
✉️Mail: kamil.brzezinski@gmail.com

Пікірлер: 16

  • @marcinbiaecki9731
    @marcinbiaecki97314 жыл бұрын

    Dzięki, fajny film :)

  • @jsr9703
    @jsr97032 жыл бұрын

    Dobrze zrobiony kurs

  • @TheMallrok
    @TheMallrok4 жыл бұрын

    Kamilu, czy planujesz nagrać filmik na temat Wzorców Projektowych? Z tego co czytałem w internecie, pytania o wzorce pojawiają się na rozmowach rekrutacyjnych.

  • @JakNauczycSieProgramowania

    @JakNauczycSieProgramowania

    4 жыл бұрын

    Jest taki odcinek w planach :)

  • @RobieMVPAplikacjeKarolBocian
    @RobieMVPAplikacjeKarolBocian3 жыл бұрын

    Bardzo fajny materiał! Dziękuję za niego! Pozwoliłem sobie zrobić z niego notatki: karolbocian.pl/blog/2021/01/04/tdd-i-testowanie-jednostkowe-notatka-z-nauki/.

  • @piotrkrysiak9414
    @piotrkrysiak94144 жыл бұрын

    Studiuję informatykę na Politechnice, uczę się już dość dużo języka C++, moja nauka niestety nigdy nie była systematyczne ale od pół miesiąca jest i pozostanie, na studiach będziemy szlifować C++ aktualnie działamy w obiektówce i w następnym semestrze będzie c#, Jak myślisz jest sens zaczynać jeszcze jakiś język samemu w domu czy wyszlifować c++ na najwyższy poziom i uczyć się niedługo C# tak jak na zajęciach?

  • @JakNauczycSieProgramowania

    @JakNauczycSieProgramowania

    4 жыл бұрын

    Cześć! Jeżeli będziesz się systematycznie uczył C++ i C#, robił projekty na studiach, to myślę, że na obecną chwilę to wystarczy. Zamiast kolejnego języka, postaraj się o to, żeby ogarnąć inne tematy związane z programowaniem - system kontroli wersji, package manager, bazy danych (jeżeli nan studiach masz relacyjne bazy danych, możesz pobawić się w wolnym czasie z bazami nierelacyjnymi, np. MongoDB), opanuj też tworzenie REST API i to o czym opowiadam w tym filmie czyli testowanie aplikacji. Taką dokładną ściągawkę czego warto się nauczyć znajdziesz tutaj: kzread.info/dash/bejne/rJWsrZaSeKW7Y9Y.html No i przede wszystkim wiedzę ze studiów staraj się jak najmocniej wykorzystywać w praktyce, czyli pisz jak najwięcej kod i twórz jak najwięcej projektów, bo to najlepszy i najbardziej efektywny sposób na naukę programowania.

  • @robertkoosowski5696
    @robertkoosowski5696 Жыл бұрын

    Czy była by możliwość nagrania filmu z TDD ale dla C++ w środowisku VS ?

  • @JakNauczycSieProgramowania

    @JakNauczycSieProgramowania

    Жыл бұрын

    Na razie takiego filmu nie mam w planach.

  • @raven1552
    @raven1552 Жыл бұрын

    Ą ę, kęt, fejling, i takie podejście. Tdd może w idealnym świecie było by dobrym podejściem, ale na pewno nie w tym

  • @piotrkst
    @piotrkst3 жыл бұрын

    Nie od wczoraj interesuje mnie temat poprawnych praktyk testowania kodu, regularnie szukam wiedzy na ten temat z różnych źródeł. Temat nie jest prosty i niestety materiały takie jak ten tylko to potwierdzają, bo początkujący programiści opierający na nim swoje przyszłe implementacje będą mieli problemy z poprawnym definiowaniem zarówno samych testów jak i kodu docelowego. Według mnie źle przedstawiony został sam koncept TDD (tylko kolejność zdarzeń się zgadza), a sam test funkcjonalnie pozostawia wiele do życzenia. Po pierwsze testy poprzedzające właściwą implementację powinny weryfikować wszystkie założenia przyszłej implementacji. Na nagraniu w 9:21 mamy zielone światło, ale nie sprawdziliśmy praktycznie niczego. Po drugie zgodzę się, że nie trzeba pisać testu per asercję, ale wciskanie 10 asercji w jeden test z kolejno (losowo?) dobranymi liczbami to jakiś kanał. Kiedy test ten zaświeci się na czerwono nie będziesz wiedział, czy powodem jest błędna zwrotka z założeń "fizz", "buzz", "fizzbuzz", czy pozostałych liczb. Minimum które należałoby zrobić, to wyodrębnić cztery testy jednostkowe weryfikujące każdy podpunkt założeń. Po trzecie, czy pisanie 10 asercji sprawia, że czujesz się bezpiecznie z wytwarzaną implementacją? Dlaczego 10? A nie 5 lub 105? Czy nie powinno się skonstruować testu tak, aby wystarczyła jedna asercja? - jeden test weryfikujący liczby podzielne przez 3 i niepodzielne przez 5 zwracający fizz, - jeden test weryfikujący liczby podzielne przez 5 i niepodzielne przez 3 zwracający buzz, - jeden test weryfikujący liczby podzielne przez 3 i 5, zwracający fizzbuzz, - jeden test weryfikujący liczby niepodzielne przez 3 i 5, zwracający podaną liczbę.

  • @JakNauczycSieProgramowania

    @JakNauczycSieProgramowania

    3 жыл бұрын

    W 100% zgadzam się z Twoimi uwagami, to nie są dobrze napisane testy i pewnie mogłem o tym wspomnieć w filmie. Brakuje w nich single responsibility, brakuje w nich - tak jak mówisz - testów weryfikujących osobno każdy podpunkt założeń. Ideą tego odcinka było jedynie pokazanie absolutnych podstaw TDD, chociaż oglądając ten film dzisiaj, widzę, że teraz - półtora roku później - z pewnością przedstawiłbym ten temat zupełnie inaczej. Tak więc to chyba dobry moment, że w niedalekiej przeszłości wrócić do tego tematu :) Dzięki za uwagi i pozdrawiam!

  • @majksu

    @majksu

    3 жыл бұрын

    @@JakNauczycSieProgramowania W takim razie tego nie oglądam i czekam na aktualizację :)

  • @robertkoosowski5696

    @robertkoosowski5696

    Жыл бұрын

    @@JakNauczycSieProgramowania Czekam na kolejne nagranie z TDD .

  • @pecewu
    @pecewu4 жыл бұрын

    IMO ta implikacja była zbędna. Wystarczyło: i % 15 == 0

  • @JakNauczycSieProgramowania

    @JakNauczycSieProgramowania

    4 жыл бұрын

    Masz rację, wtedy wykonamy jeszcze jedno sprawdzenie mniej :)