-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Pytanie do fanow Test Driven Design i XP
Date: Thu, 22 Dec 2011 14:47:00 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 53
Message-ID: <jcvchn$lh5$1@news.icm.edu.pl>
References: <13550949.64.1324464699954.JavaMail.geo-discussion-forums@vbjs5>
<1...@n...googlegroups.com>
<jctcm0$hbl$1@news.icm.edu.pl> <jctsgl$f0s$1@inews.gazeta.pl>
<jcur0n$gr5$1@news.icm.edu.pl> <s...@j...net>
<jcuus9$p7c$1@news.icm.edu.pl> <s...@j...net>
<jcv4ep$544$1@news.icm.edu.pl> <jcv8oq$4hu$1@inews.gazeta.pl>
NNTP-Posting-Host: 77-254-124-236.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1324561783 22053 77.254.124.236 (22 Dec 2011 13:49:43 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Thu, 22 Dec 2011 13:49:43 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428
Linux/3.1.0-15 Thunderbird/3.1.0
In-Reply-To: <jcv8oq$4hu$1@inews.gazeta.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:194498
[ ukryj nagłówki ]On 12/22/2011 01:45 PM, Paweł Kierski wrote:
> W dniu 2011-12-22 12:28, Edek pisze:
> [...]
>>>> Test oczywiście można zrobić, ale mam pytanie:
>>>> > skąd niby ma być wiadomo, że błąd występuje raz na 1e4 i
>>>> > przy jakich założeniach? Dowód formalny jest adekwatny,
>>>> > a test nic nie wnosi.
>>> Jeśli test nie przechodzi, to sygnał, że trzeba się czemuś przyjrzeć.
>>> I to prawdopodobnie kodowi, który się zmieniał (więc raczej nie kodowi
>>> testu). Nie mówię że test zastępuje dowód. Test może dowodowi *pomóc*.
>>
>> I o to właśnie chodzi. Pomoc owszem jest zawsze wskazana, o ile
>> pochodzi ze źródła, które coś wnosi. Test nic nie wnosi, bo zmieniając
>> taki algorytm - jakkolwiek - dowód możesz wywalić do kosza, czyli
>> zostaje się z testem, który nie zapewnia poprawności, a więc daje -
>> tu jest ta *istotna* część - złudne poczucie bezpieczeństwa i
>> pewności, że wszystko jest cacy, kiedy najczęściej nie jest.
> [...]
>
> Kwestia świadomości, czym jest test. Po zmianie algorytmu wiem, że
> formalny dowód się już nie stosuje, ale zostaję z testem, który sprawdza
> mi przynajmniej jakiś drobny fragment przestrzeni danych. Jeśli muszę
> mieć dowód formalny, to go i tak go będę robił. A dzięki staremu
> testowi już wiem, że nie zrobiłem grubego błędu w implementacji nowego
> algorytmu (oraz że nowy algorytm w ogóle ma szansę być zastosowany).
>
Przesadziłem trochę z tym, że test to coś głęboko w Hudsonie, można
zmienić kod i nic nie wyskoczy na dashboard. Nie wiem, czy wszyscy tak
używają testów, ale ja lubię testy właśnie za szybki feedback.
Tu nie mam nic przeciwko testom jako takim gdzieś jako pomocnicze
narzędzie, bo workflow jest inny: zanim zmienię, przeczytam dowód
i zrozumiem jak to działa, a potem test się przyda podczas robienia
zmian, dokładnie tak jak mówisz.
W algorytmach wątkowych - nie mówię o kilku lockach w dużym
systemie, tylko np. kolejki o danych właściwościach, 30 linii
kodu i publikacja - testów się używa czasami, żeby znaleźć
przykład, kiedy algorytm nie działa. Ale nie znam przykładu,
gdzie to zastępuje dowód. Spotkałem się tylko z "hmm, no
tak, ten dowód, może by tu to zmienić w algorytmie - kurde,
faktycznie testy nie przechodzą po zmianie" i nie są to unit
testy, tylko modele. Modele nie są zapisane kodem źródłowym,
więc nie da się trywialnie zautomatyzować testów zmian kodu.
Bardziej ogólnie, przypuszczam, że są dziedziny, gdzie testy
dają "prawie pewność" w sensie matematycznym, co już może
wystarczyć.
Edek
Następne wpisy z tego wątku
- 22.12.11 14:10 Andrzej Jarzabek
- 22.12.11 14:20 A.L.
Najnowsze wątki z tej grupy
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-16 czy Seba naprawdę wróci do macierzy?
- 2025-05-15 coś pustawo u mechaników
- 2025-05-16 Warszawa => IT Data Analyst (obszar Power BI) <=
- 2025-05-16 Warszawa => Senior Backend Developer <=
- 2025-05-16 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-05-16 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-16 Warszawa => Team Lead Data Engineer (Snowflake) <=
- 2025-05-16 Poznań => Key Account Manager (ERP) <=
- 2025-05-16 Białystok => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-16 Warszawa => Senior C++ Developer (analiza numeryczna i modelowanie) <=
- 2025-05-16 Gdynia => Sales Executive / KAM <=
- 2025-05-16 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-05-16 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-05-16 Warszawa => Spedytor Międzynarodowy <=
- 2025-05-16 Białystok => NMS System Administrator <=