-
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
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-05 eSIM na czym polega
- 2024-07-15 Roaming poza unią
- 2024-07-16 Jak tanio dzwonic do Wielkiej Brytani?
- 2024-07-16 Dzień bez ICE
- 2024-07-15 Spalinówki płoną doszczętnie
- 2024-07-15 Pojemność akumulatora
- 2024-07-15 Elektryk8i dalej płoną.
- 2024-07-15 Motodziennik #284 NOWY MG HS z hybrydą oraz wraca FORD CAPRI (jako SUV)
- 2024-07-14 [FILM] SAMOCHODY ELEKTRYCZNE DO WIELKIE ŚCIEMA? TYLKO FAKTY!
- 2024-07-14 Znieczulica w narodzie
- 2024-07-13 Protect Your PC with IObit Malware Fighter Pro 11.3.0.1346 Multilingual
- 2024-07-13 Advanced SystemCare Pro 17.5.0.255: Complete Performance and Health Optimization
- 2024-07-15 stara idea nowe hardware
- 2024-07-14 Dzwonek gong z transformatorem
- 2024-07-14 espnow przerywa na jeziorze?