-
Data: 2013-07-23 08:13:20
Temat: Re: pl. usenet o agile
Od: Adam Klobukowski <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 23.07.13 09:26 Andrzej Jarzabek
- 23.07.13 10:30 Adam Klobukowski
- 23.07.13 11:40 Edek
- 23.07.13 11:41 Andrzej Jarzabek
- 23.07.13 12:28 slawek
- 23.07.13 13:14 slawek
- 23.07.13 13:16 Edek
- 23.07.13 14:35 Andrzej Jarzabek
- 23.07.13 21:21 Sebastian Biały
- 23.07.13 21:23 Sebastian Biały
- 23.07.13 22:22 Edek
- 24.07.13 10:36 slawek
- 24.07.13 20:49 Andrzej Jarzabek
- 27.07.13 18:42 Andrzej Jarzabek
- 27.07.13 18:47 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-15 Łódź => NodeJS Developer <=
- 2025-02-15 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-15 Warszawa => Developer .NET (mid) <=
- 2025-02-15 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-02-14 Zdalne załączanie grzałki bojlera elektrycznego
- 2025-02-14 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-14 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-02-14 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=