eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpl. usenet o agileRe: pl. usenet o agile
  • X-Received: by 10.49.3.104 with SMTP id b8mr1188432qeb.25.1374560000651; Mon, 22 Jul
    2013 23:13:20 -0700 (PDT)
    X-Received: by 10.49.3.104 with SMTP id b8mr1188432qeb.25.1374560000651; Mon, 22 Jul
    2013 23:13:20 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!qx7no50365095pbc.1!
    news-out.google.com!b2ni84830pby.1!nntp.google.com!cb17no57110qab.0!postnews.go
    ogle.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 22 Jul 2013 23:13:20 -0700 (PDT)
    In-Reply-To: <kski07$nqj$1@somewhere.invalid>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.71.48.10;
    posting-account=mvBzhgoAAADiziO82aLj4VEpjexQv3Cn
    NNTP-Posting-Host: 89.71.48.10
    References: <kroiv1$p67$1@speranza.aioe.org>
    <4...@4...com>
    <51e5880e$0$1222$65785112@news.neostrada.pl>
    <ks5dga$ei6$1@somewhere.invalid>
    <51e84c47$0$1265$65785112@news.neostrada.pl>
    <ks9sck$h0l$1@somewhere.invalid>
    <3...@4...com>
    <ksan9m$aue$1@node2.news.atman.pl>
    <51e908d1$0$1467$65785112@news.neostrada.pl>
    <ksb20l$9hd$1@node1.news.atman.pl>
    <51e90fe1$0$1221$65785112@news.neostrada.pl>
    <ksb5kv$p53$1@node2.news.atman.pl>
    <m...@4...com>
    <ksbguk$pgj$1@node1.news.atman.pl>
    <a...@n...plus.net>
    <ksdj68$2la$1@node2.news.atman.pl> <kskajk$d3h$3@node2.news.atman.pl>
    <kski07$nqj$1@somewhere.invalid>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <2...@g...com>
    Subject: Re: pl. usenet o agile
    From: Adam Klobukowski <a...@g...com>
    Injection-Date: Tue, 23 Jul 2013 06:13:20 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:204175
    [ ukryj nagłówki ]

    On Tuesday, 23 July 2013 02:16:02 UTC+2, Andrzej Jarzabek wrote:
    > On 22/07/2013 23:09, Edek wrote:
    >
    > > Szarym od mżawki świtem Sat, 20 Jul 2013 10:53:26 +0200, Sebastian Biały
    >
    > > wyrzucił pustą ćwiartkę i oznajmił:
    > >
    > >> Ale już taki test:
    > >>
    > >> assert( parseDouble( "1.0" == 1.0 ) );
    > >> assert( parseDouble( "1E0" == 1.0 ) );
    > >> expect_throw( parseDouble( "1e0" ) );
    > >> expect_throw( parseDouble( "1,0" ) );
    >
    > >>
    > >> ... ślicznie dokumentuje.
    >
    > >
    > > Obawiam się, że nie zrozumiałęś przykładu. Unit testy tylko pokazują,
    > > że dla *tych wybranych przypadków* działa. Jest wiele przypadków
    > > kodu gdzie to wystarcza, ale jest też wiele przypadków, gdzie
    > > albo nie ma skończonej liczby przypadków (czyli też unitów), albo
    >
    > > nic się w ten sposób nie dokumentuje - bo to trochę tak jakby zamiast
    > > książki z przykładami mieć same przykłady.
    >
    > Edek myli weryfikację z dokumentacją. Test, owszem, weryfikuje
    > szczególne przypadki, ale dobrze napisany dokumentować może ogólne
    > reguły które te przypadki reprezentują.
    >
    > Dokumentacyjną rolę w testach pełni przede wszystkim nazwa testu, ale
    > też cały jej zapis:
    >
    > test parseDouble parses decimal integer representation {
    > int integer = 83;
    > string representation = "83";
    > assert that parseDouble(representation) equals (double)integer;
    > }
    >
    > Chcąc się dowiedzieć co robi parseDouble i dla jakich przypadków daje
    > jakie wyniki, i korzystając z unit testów jako dokumentacji, jełop
    > wyczyta z powyższego tylko informację, że dla wejścia "83" daje liczbę
    > równą (double)83, ale inteligentny czytelnik wyczyta więcej.

    Yhm. Dla takiego trywialnego przypadku jest to proste. Wyobraź sobie że masz
    obliczenia gdzie możesz mieć sporo danych wejściowych, ok. 60 parametrów
    konfiguracyjnych obliczeń a klient zwraca uwagę na 12 cyfrę po przecinku.
    Udokumentować to możesz, ale ta dokumentacja nie sprawdzi Ci poprawności obliczeń dla
    wszystkich przypadków. Unit testy, jak są dobrze napisane, maja taką szansę.

    AdamK

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: