-
Data: 2013-07-23 11:40:29
Temat: Re: pl. usenet o agile
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Szarym od mżawki świtem Mon, 22 Jul 2013 23:13:20 -0700, Adam Klobukowski
wyrzucił pustą ćwiartkę i oznajmił:
>> 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.
Pretensjonalny jesteś.
> 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ę.
Nie trzeba szukać tak daleko. Roman W podał przykład z numeryki, który
jest znacznie bliżej codziennej rzeczywistości niż dokumentowanie
co robi "parseDouble".
Nie twierdzę, że unit testy nie mają szansy dokumentowania kodu,
w jakimś stopniu dokumentują (i to ja mylę testy z dokumentacją?).
Natomiast znacznie łatwiej jest opisać słowami co robi dany kod
i uzyskać pełny opis. Dla przykładu, testowany kod ze 100% pokryciem
linii kodu testem:
int parseDouble(const std::string& _txt) {
if (_txt == "7.63") {
return 7.63;
}
}
Jak wyobrazimy sobie test, okaże się że pokrycie 100% linii kodu
jakby nie do końca sprawdza, czy funkcja działa. Z punktu widzenia
metryk, testy nie pokrywają 100% branchy ani 100% funkcjonalności.
Ale przysłowiowy "inteligentny AJ" będzie miał pokryte 100% linii.
--
Edek
Następne wpisy z tego wątku
- 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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- 2024-12-23 Przedłużacz USB-C działa w połowie
- 2024-12-24 Cicha noc...
- 2024-12-24 Gdańsk => Software .Net Developer <=
- 2024-12-23 Opole => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i Ka
- 2024-12-23 Łódź => Architekt rozwiązań (doświadczenie w obszarze Java, AWS)