eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPytanie do fanow Test Driven Design i XPRe: Pytanie do fanow Test Driven Design i XP
  • Data: 2011-12-22 13:47:00
    Temat: Re: Pytanie do fanow Test Driven Design i XP
    Od: Edek <e...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 12/22/2011 01:45 PM, Paweł Kierski wrote:
    > W dniu 2011-12-22 12:28, Edek pisze:
    > [...]
    >>>> Test oczywiście można zrobić, ale mam pytanie:
    >>>> > skąd niby ma być wiadomo, że błąd występuje raz na 1e4 i
    >>>> > przy jakich założeniach? Dowód formalny jest adekwatny,
    >>>> > a test nic nie wnosi.
    >>> Jeśli test nie przechodzi, to sygnał, że trzeba się czemuś przyjrzeć.
    >>> I to prawdopodobnie kodowi, który się zmieniał (więc raczej nie kodowi
    >>> testu). Nie mówię że test zastępuje dowód. Test może dowodowi *pomóc*.
    >>
    >> I o to właśnie chodzi. Pomoc owszem jest zawsze wskazana, o ile
    >> pochodzi ze źródła, które coś wnosi. Test nic nie wnosi, bo zmieniając
    >> taki algorytm - jakkolwiek - dowód możesz wywalić do kosza, czyli
    >> zostaje się z testem, który nie zapewnia poprawności, a więc daje -
    >> tu jest ta *istotna* część - złudne poczucie bezpieczeństwa i
    >> pewności, że wszystko jest cacy, kiedy najczęściej nie jest.
    > [...]
    >
    > Kwestia świadomości, czym jest test. Po zmianie algorytmu wiem, że
    > formalny dowód się już nie stosuje, ale zostaję z testem, który sprawdza
    > mi przynajmniej jakiś drobny fragment przestrzeni danych. Jeśli muszę
    > mieć dowód formalny, to go i tak go będę robił. A dzięki staremu
    > testowi już wiem, że nie zrobiłem grubego błędu w implementacji nowego
    > algorytmu (oraz że nowy algorytm w ogóle ma szansę być zastosowany).
    >

    Przesadziłem trochę z tym, że test to coś głęboko w Hudsonie, można
    zmienić kod i nic nie wyskoczy na dashboard. Nie wiem, czy wszyscy tak
    używają testów, ale ja lubię testy właśnie za szybki feedback.

    Tu nie mam nic przeciwko testom jako takim gdzieś jako pomocnicze
    narzędzie, bo workflow jest inny: zanim zmienię, przeczytam dowód
    i zrozumiem jak to działa, a potem test się przyda podczas robienia
    zmian, dokładnie tak jak mówisz.

    W algorytmach wątkowych - nie mówię o kilku lockach w dużym
    systemie, tylko np. kolejki o danych właściwościach, 30 linii
    kodu i publikacja - testów się używa czasami, żeby znaleźć
    przykład, kiedy algorytm nie działa. Ale nie znam przykładu,
    gdzie to zastępuje dowód. Spotkałem się tylko z "hmm, no
    tak, ten dowód, może by tu to zmienić w algorytmie - kurde,
    faktycznie testy nie przechodzą po zmianie" i nie są to unit
    testy, tylko modele. Modele nie są zapisane kodem źródłowym,
    więc nie da się trywialnie zautomatyzować testów zmian kodu.

    Bardziej ogólnie, przypuszczam, że są dziedziny, gdzie testy
    dają "prawie pewność" w sensie matematycznym, co już może
    wystarczyć.

    Edek


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: