eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPytanie do fanow Test Driven Design i XPRe: Pytanie do fanow Test Driven Design i XP
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
    !xlned.com!feeder5.xlned.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!postne
    ws.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    From: Roman W <b...@g...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Pytanie do fanow Test Driven Design i XP
    Date: Thu, 22 Dec 2011 00:58:38 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 60
    Message-ID: <12083221.451.1324544318220.JavaMail.geo-discussion-forums@vbbeg7>
    References: <13550949.64.1324464699954.JavaMail.geo-discussion-forums@vbjs5>
    <1...@n...googlegroups.com>
    <6451050.730.1324484292903.JavaMail.geo-discussion-forums@yqja5>
    <7...@o...googlegroups.com>
    Reply-To: p...@g...com
    NNTP-Posting-Host: 193.189.80.39
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1324544318 22854 127.0.0.1 (22 Dec 2011 08:58:38 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Thu, 22 Dec 2011 08:58:38 +0000 (UTC)
    In-Reply-To: <7...@o...googlegroups.com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=193.189.80.39;
    posting-account=EexxQQoAAAAkOfWz0VZRKLcHNpXJZLB9
    User-Agent: G2/1.0
    X-Google-Web-Client: true
    Xref: news-archive.icm.edu.pl pl.comp.programming:194445
    [ ukryj nagłówki ]

    On Wednesday, December 21, 2011 11:13:42 PM UTC, Maciej Sobczak wrote:
    > On Dec 21, 5:18 pm, Roman W <b...@g...pl> wrote:
    >
    > > > Oprócz złożoności liniowej i pogłosu w filharmonii w Koluszkach,
    > > > takich przykładów jest znacznie więcej. Np. mamy napisać generator
    > > > liczb losowych o zadanym rozkładzie - jak to sprawdzić przez TDD?
    > >
    > > To akurat robilem. Losowalem np. 10000 probem i sprawdzalem czy histogram
    sprawdza sie w ramach zadanej tolerancji z zadana dystrybucja,
    >
    > Jasne. Powiedzmy, że chodzi o liczby od 0 do 9 i rozkład jednostajny.
    >
    > Oto mój generator:
    >
    > int getNextValue()
    > {
    > static int x = 0;
    > if (x == 10) x = 0;
    > return x++;
    > }
    >
    > Powyższa funkcja przy odpowiednio wielu wywołaniach daje całkiem dobry
    > "histogram".
    > Można tak zrobić dowolny zadany "rozkład" i go "przetestować" tak jak
    > opisałeś.

    I jezeli moj generator ma sluzyc *wylacznie* do obliczania wartosci oczekiwanych
    E[f(X)], gdzie X ma miec rozklad jednostajny w zbiorze {0,1,2,...,9}, to taki test w
    zupelnosci wystarcza, bo korelacje pomiedzy poszczegolnymi losowaniami mnie nie
    obchodza. Ba, do calkowania Monte Carlo takie generatory moga byc lepsze od
    standardowych (roznica pomiedzy liczbami pseudo- i quasilosowymi).

    Jezeli mnie obchodza, to taki test jest dalece niewystarczajacy.

    W praktyce to ja nie pisalem nigdy swoich wlasnych generatorow, tylko bralem Mersenne
    Twister (np. z boost) i przeksztalcalem dystrybucje z jednostajnej w np. Gaussowska
    albo Levy'ego. I wtedy histogramem + momentami sprawdzalem to co moglem sprawdzic, a
    co do reszty to polegalem na poprawnosci implementacji bibliotecznej.

    >
    > Jakoś jednak sądzę, że ta funkcja jest do bani. Ale test przeszła! To
    > może test jest do bani? Pewnie jest - ale jak sprawdzić ten test?

    Dobrze wiem, jak trudno jest testowac generatory liczb losowych.

    >
    > Łatwiej napisać generator liczb losowych, niż jego test.
    > To znaczy, że przy takim zadaniu w ogóle nie pisałbym unit-testu.

    Nie, to jest bez sensu. Jezeli nie moge sprawdzic 100% wymagan, to nie znaczy, ze
    powinienem sprawdzac 0%.

    RW

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: