Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko190
  • Hity
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
Zaloguj się

Popularne tagi

  • #ciekawostki
  • #informacje
  • #technologia
  • #polska
  • #swiat
  • #motoryzacja
  • #podroze
  • #heheszki
  • #sport

Wykop

  • Ranking
  • Osiągnięcia
  • FAQ
  • O nas
  • Kontakt
  • Reklama
  • Regulamin

362

Czym jest Test Driven Development? Wprowadzenie i przykłady

Czym jest Test Driven Development? Wprowadzenie i przykłady

Artykuł ten jest wprowadzeniem do zupełnych podstaw Test Driven Development, dzięki któremu każdy może poznać podstawy tej techniki. TDD docenią szczególnie te osoby, które mają już dosyć mozolnego szukania błędów w programie i chciałyby przejść na trochę wyższy poziom.

Forbot
Forbot
z
forbot.pl
dodany: 18.11.2020, 11:37:24
  • #
    technologia
  • #
    naukaprogramowania
  • #
    programowanie
  • #
    elektronika
  • #
    forbot
  • #
    informatyka
  • 255
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treści powiązane (6)

Po co testować skoro domyślasz się że powinno działać
el_loco_crooliko
z youtube.com
  • 26
Uncle Bob w temacie
weller
z blog.cleancoder.com
  • 3

Komentarze (255)

najlepsze

Chrzonszcz
Chrzonszcz
19.11.2020, 06:52:17
  • 0
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

Szpiczaga
Szpiczaga
19.11.2020, 08:51:50
  • -1
Odbiegając trochę od samego TDD, to dziwi mnie, że ciągle pojawia się frazes jak to znalezienie błędu w późniejszej fazie zabiera więcej czasu i są z tego tytułu większe straty. Czasem znalezienie błędu jest szybkie dopiero gdy poskłada się kilka komponentów w całość i zrobi testy integracyjne, rozkminiane wszystkich scenariuszy wcześniej to jest wtedy strata czasu i kasy. Natomiast na produkcji, o ile błąd może być kosztowny (nie zawsze tak jest, ale
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

qj0n
qj0n
qj0n
19.11.2020, 12:53:46
  • 1
@Szpiczaga: To był raczej problem waterfalla - jak zakończysz fazę designu i masz tonę diagramów bez kodu to potem jak robiąc kod znajdziesz błąd, który wymaga zmiany designu (albo gorzej - podczas fazy testów) to masz do powtórzenia zmiany w designie, kodzie i testy.
Ale to właśnie skrócenie tego czasu poprzez różne agile'owe metody powoduje, że nawet jak błąd znajdziesz później to tylko kilka zmian i już fix jest na
  • Odpowiedz
Lipka91
Lipka91
Lipka91
20.11.2020, 10:58:52
  • 0
@Szpiczaga: TDD pomaga wychwycić płapki myślenia. Np bardzo podstawowym casem jest co jeśli apka zwrócu błąd (w przypadku komunikacji z serwisami). TDD pozwala na obsłużenie go wcześniej w odpowiedni sposób. W systemach pisanych na kolanie błędy są obsługiwane przez użytkownika.
Pytanie co się bardziej opłaca. Testować na produkcji czy pisać stabilny kod. W przypadku posiadania testów(dobrze zaplanowanych) mamy pewność ze po refactoringu nie ma tragedi z naszą apką.
  • Odpowiedz
E.....r
konto usunięte 19.11.2020, 07:41:46
  • -1
Fajnie, tylko z reguły żaden budżet na projekt tego nie zakłada :p No i kolejny problem, pisać testy to jedno a pisać dobre testy to dwa a pisać testy byle by statystyki pokrycia się zgadzały to trzy :p
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

qj0n
qj0n
qj0n
19.11.2020, 08:10:38
  • 1
@Ekscentryczny_obserwator: no ale przy TDD nie ma sensu patrzeć na pokrycie, to w ogóle nie w tę stronę...

No i TDD obniża koszt wytworzenia produktu. Jeśli potrzebujesz większego budżetu na TDD to znaczy, że coś robisz nie tak...
  • Odpowiedz
qj0n
qj0n
qj0n
19.11.2020, 08:26:30
  • 3
@Ekscentryczny_obserwator: W teorii co? Sam używam TDD tak w 30-50% kodu i w większości przypadków pozwala szybciej wyjść na produkcję i zdarza się, że wyłapuje potem regresje. Być może gdybym jechał 100% TDD to średnio wyszedłbym gorzej niż 0%, no ale nie wszystko jest gwoździem, więc nie zawsze młotek jest dobry, a jednak czasem właśnie jest najlepszym narzędziem...
  • Odpowiedz
Cierniostwor
Cierniostwor
19.11.2020, 07:36:30
  • -1
W niektórych projektach w firmie stosuje tą metodę, jest świetna. Najlepiej sprawdza się tam gdzie testy automatyczne trwają po kilka-kilkanaście sekund, jeśli dłużej to ta metoda zaczyna niesamowicie męczyć.
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

IOException
IOException
19.11.2020, 06:14:53
  • -2
Tylko metody formalne. Wszystkie te TDD, E2E i inne klasyfikacje czy metodologie ktore to tylko hinduscy doktorzy nauk znaja - nie zapewnia poprawnego dzialania programu.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

qj0n
qj0n
qj0n
19.11.2020, 08:05:16
  • 0
@IOException: ...bo nie do tego służą?
  • Odpowiedz
IOException
IOException
19.11.2020, 09:41:28
  • 0
@qj0n: A niby do czego. Do zapewnienia ze program nie dziala niepoprawnie?
  • Odpowiedz
r.....r
r.....r
konto usunięte 18.11.2020, 13:39:22
  • -2
Będę stosował jak będę programistą
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

sirobert
sirobert
18.11.2020, 14:25:52
  • 23
@r3solver: taaa
  • Odpowiedz
Kaloryfere
Kaloryfere
Kaloryfere
19.11.2020, 06:29:14 via iOS
  • 61
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
wermesz
wermesz
wermesz
19.11.2020, 08:05:19
  • -3
Niestety, ale to wszystko ładnie wygląda w teorii. W praktyce testy jednostkowe zajmują więcej czasu niż właściwa implementacja. W ostatnich latach narodził się jednak ich fanatyzm. Pełno jest zespołów dumnie twierdzących, że robią testy jednostkowe gdzie te testy z jednostkowymi i zasadami TDD nie mają nic wspólnego. A jak się obruszają jak im o tym powiesz ( ͡° ͜ʖ ͡°) Jak jeszcze dodasz, że TDD nie za bardzo
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

wermesz
wermesz
wermesz
19.11.2020, 09:27:18
  • 1
@qj0n: Robienie UT po fakcie oczywiście też się w tym wszystkim pojawia. Zespół jednak dalej fanatycznie twierdzi, że robi TDD ( ͡° ͜ʖ ͡°)
  • Odpowiedz
123xD
123xD
123xD
19.11.2020, 11:45:57
  • 1
@wermesz: Moim głównym kryterium dla pisania testów jest właśnie wydajność, bez nich jestem kilka razy wolniejszy... Nawet głupie odpalenie aplikacji żeby zobaczyć swoje zmiany zajmuje rząd wielkości więcej czasu niż uruchomienie testu (który uruchamia się sam ( ͡° ͜ʖ ͡°) )

I nie mówię tutaj o szukaniu błędów
  • Odpowiedz
veranoo
veranoo
veranoo
19.11.2020, 08:23:13
  • -4
Agile i TDD nigdy nie będą ze sobą działać.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

qj0n
qj0n
qj0n
19.11.2020, 12:50:26
  • 0
@veranoo: Tylko dlaczego twórca XP, Kent Beck (skąd wziął się TDD) był sygnatariuszem manifestu? TDD było jedną z metodyk współtworzącą oryginalny ruch Agile...
  • Odpowiedz
RobotKuchenny9000
RobotKuchenny9000
19.11.2020, 10:38:51
  • -6
szkoda tylko ze TDD to buzzword pod którym nie kryje się nic. TDD nie ma żadnego wpływu na nic :)
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

qj0n
qj0n
qj0n
19.11.2020, 13:05:11
  • 0
@RobotKuchenny9000: Co masz na myśli pisząc "klasyczne podejście do testowania"?
  • Odpowiedz
qj0n
qj0n
qj0n
19.11.2020, 13:11:16
  • 0
@RobotKuchenny9000: Najbardziej klasyczne podejście jakie znam to podejście waterfallowe, ale jak porównasz TDD do waterfalla to od razu zauważysz skrócenie czasu release'ów. Więc zakładam, że pisząc "klasyczne" masz na myśli coś nowszego niż waterfall (mimo, że sam TDD ma już 20 lat, więc jest jak najbardziej "klasyczny").

Być może masz na myśli "klasyczne unit testy", pisane np. w modelu V czy tam piramidzie/rożku. W takim przypadku UT rzeczywiście są zaraz
  • Odpowiedz
k.....0
k.....0
konto usunięte 18.11.2020, 13:49:31
  • -23
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

  • <
  • 1
  • 2
  • 3
  • 4
  • Strona 4 z 4
  • >

Hity

tygodnia

Dziś minęły dwa lata odkąd Sebastian Majtczak zabił 3 osoby na autostradzie A1.
Dziś minęły dwa lata odkąd Sebastian Majtczak zabił 3 osoby na autostradzie A1.
4429
Chcesz dodać opinię o Media Expert? Ok, ale akceptujemy tylko pozytywne :)
Chcesz dodać opinię o Media Expert? Ok, ale akceptujemy tylko pozytywne :)
3112
Sąd zdecydował. "Wtorki dla pań" w saunie to dyskryminacja mężczyzn
Sąd zdecydował. "Wtorki dla pań" w saunie to dyskryminacja mężczyzn
2933
Hiszpania też zapowiada rezygnację z Eurowizji, jeśli Izrael weźmie w nim udział
Hiszpania też zapowiada rezygnację z Eurowizji, jeśli Izrael weźmie w nim udział
2879
Jechała zgodnie z ograniczeniami prędkości żeby mnie sprowokować!
Jechała zgodnie z ograniczeniami prędkości żeby mnie sprowokować!
2751
Pokaż więcej

Powiązane tagi

  • #ciekawostki
  • #nauka
  • #komputery
  • #zainteresowania
  • #stacjakosmiczna
  • #polska
  • #informatyka
  • #wydarzenia
  • #swiat
  • #rozrywka
  • #internet
  • #sztucznainteligencja
  • #motoryzacja
  • #ai
  • #telefony

Wykop © 2005-2025

  • O nas
  • Reklama
  • FAQ
  • Kontakt
  • Regulamin
  • Polityka prywatności i cookies
  • Hity
  • Ranking
  • Osiągnięcia
  • Changelog
  • więcej

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane
  • Ustawienia prywatności

Regulamin

Reklama

Kontakt

O nas

FAQ

Osiągnięcia

Ranking