-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: ilu jest programistow na swiecie?
Date: Sat, 21 May 2011 14:03:29 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 86
Message-ID: <ir8d71$15h$1@inews.gazeta.pl>
References: <iqjp8e$led$1@inews.gazeta.pl> <iqthln$9gp$1@news.onet.pl>
<iqtirb$9kr$1@news.onet.pl> <iqtj7p$fel$1@news.onet.pl>
<c...@w...googlegroups.com>
<iqtpbn$80t$1@news.onet.pl>
<7...@t...googlegroups.com>
<0...@1...googlegroups.com>
<iqu14k$9ee$1@news.onet.pl>
<6...@g...googlegroups.com>
<iqucfc$jta$1@news.onet.pl> <iquoqb$ijm$1@inews.gazeta.pl>
<ir1765$sji$1@news.onet.pl>
<9...@n...googlegroups.com>
<ir2r6p$gmn$1@solani.org> <ir2sv6$899$1@news.onet.pl>
<a...@n...gazeta.pl>
<ir55ji$ist$1@news.onet.pl>
<5...@e...googlegroups.com>
<ir6q0a$r5d$1@inews.gazeta.pl>
<f...@l...googlegroups.com>
NNTP-Posting-Host: 5acd7098.bb.sky.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1305983009 1201 90.205.112.152 (21 May 2011 13:03:29 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 21 May 2011 13:03:29 +0000 (UTC)
X-User: septi
In-Reply-To: <f...@l...googlegroups.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.17)
Gecko/20110414 Thunderbird/3.1.10
Xref: news-archive.icm.edu.pl pl.comp.programming:190553
[ ukryj nagłówki ]On 21/05/2011 10:19, Maciej Sobczak wrote:
> On 21 Maj, 00:29, Andrzej Jarzabek<a...@g...com> wrote:
>
>>> Problem w tym, że tanio to można przetestować bezstanowe funkcje typu
>>> największy wspólny dzielnik (ale ironicznie, jeszcze łatwiej je
>>> udowodnić) - wystarczy jednak że w systemie pojawia się współbieżność
>>> albo efekty pamięciowe (cache) i testy "z automata" można sobie
>>> wsadzić.
>>
>> Podaj może przykład, jak ręcznym testowaniem zapobiegasz powyższym
>> problemom,
>
> Nie zapobiegam im ani testami z automata ani ręcznymi.
Znaczy, nie robisz żadnych testów, bo testy niczemu nie zapobiegają, a
tylko dają fałszywe poczucie bezpieczeństwa.
> Bo się nie da. Przynajmniej nikogo w tym nie oszukuję, ani siebie, ani
> klienta.
Ej, ale jak rozumiesz "się nie da"? Że testy spowodują, że w ogóle
błędów nie będzie, no to rzecz jasna. Ale skoro i tak będą, to klienta
może interesować, czy będzie ich mniej czy więcej, czy będą występować
częściej, czy rzadziej. I jeśli mówisz klientowi, że testowanie nie ma
na to żadnego wpływu, to moim skromnym zdaniem jednak go trochę oszukujesz.
> Temat na anegdotę: w projekcie YAMI4 wszystkie (ok, oprócz jednego)
> bugi wykryte po wersji 1.0.0 były w kodzie, który był pokryty przez
> unit-testy. Tzn. ta konkretna linijka, w której był błąd, była
> wykonana co najmniej raz przez jeden z testów, które są częścią
> projektu. Te testy można odpalać "z automata".
Nie tylko unit testy można odpalać z automata. Można automatycznie
testować całe systemy, nawet GUI.
> Co to znaczy? To znaczy, że te testy były do dupy i dawały wszystkim
> fałszywe poczucie bezpieczeństwa - dlatego miara pokrycia testów nie
> ma żadnej użytecznej interpretacji[*].
Bo źle interpretujesz tę miarę. Ona mówi ci tyle, że jak masz kod
niepokryty testami to jest potencjalnie źle, a nie, że jak masz pokryty
to jest dobrze.
> Wybij sobie z głowy taki pomysł, że jakakolwiek (pseudo)metodologia
> pozwoli niedoświadczonym ludziom robić dobre projekty.
Oczywiście! Stąd moje zastrzeżenie do waterfall, że te wszystkie
metodologie analizowania i projektowania to i tak machanie rękami wokół
tego, że szacunki opierają się na doświadczeniu osoby z odpowiednim
doświadczeniem.
> Dotyczy to
> każdej dziedziny inżynierskiej, nie tylko IT. Doświadczenia nie da się
> niczym zastąpić a jeśli już to doświadczenie jest, to należy z niego
> skorzystać przy planowaniu co i jak należy zrobić.
Zgoda! I to nie jest tak, że w agile nie ma planowania. Jest planowanie,
i podstawą planowania jest to, że się zbiera osoby z odpowiednim
doświadczeniem w jednym pomieszczeniu.
> Zysk z dobrego planowania jest większy, niż z testowania przy
> porównywalnym wkładzie pracy i właśnie dlatego bardziej cenię sobie
> dobrze przemyślany projekt (wspomniany już "papier" jako faza
> wstępna), niż testy.
Ach, widzisz, tylko tak się składa, że istnieje taka szkoła
projektowania jak "simple design"/"incremental design", która mówi, że
na każdym etapie projekt jest tak prosty, że da się go wymyśleć w 15
minut, narysować na papierze w 20 sekund, wytłumaczyć w 5 minut i
zapisać w kodzie w sposób tak oczywisty, że papierowa dokumentacja nie
jest potrzebna. Przykładowo: "rozdzielę program na część pobierającą
komunikaty z feeda i część analizującą i przetwarzającą te komunikaty,
takie moduły mogą być od siebie w dużej mierze niezależne. Mam więc
projekt taki, że FeedInterface przekazuje Message do MessageProcessor.
Robienie w tym momencie większego projektu uważam za błąd.
> Testy, oczywiście, są. Ale jak już pisałem - bywa, że są do dupy i
> dają fałszywe poczucie bezpieczeństwa.
> Problem z agile/xp/itd. polega na tym, że niestety nie daje żadnych
> kryteriów oceny ani obrony przed taką możliwością a przez to prowadzi
> do fałszywego poczucia bezpieczeństwa.
O, super to ująłeś, mogę pożyczyć? "Analiza, projekt - bywa, że są do
dupy i dają fałszywe poczucie bezpieczeństwa. Problem z
waterfall/iterative polega na tym, że nie dają żadneej obrony przed taką
możliwością, a przez to prowadzą do fałszywego poczucia bezpieczeństwa."
Następne wpisy z tego wątku
- 21.05.11 13:33 Andrzej Jarzabek
- 22.05.11 05:49 Paweł Kierski
- 22.05.11 08:10 Andrzej Jarzabek
- 22.05.11 11:47 Maciej Sobczak
- 22.05.11 11:57 Andrzej Jarzabek
- 22.05.11 12:39 Andrzej Jarzabek
- 22.05.11 14:31 Andrzej Jarzabek
- 22.05.11 15:21 Radoslaw Jocz
- 22.05.11 22:19 Maciej Sobczak
- 23.05.11 06:01 Andrzej Jarzabek
- 23.05.11 06:43 Michal Kleczek
- 23.05.11 06:59 Maciej Sobczak
- 23.05.11 07:55 Maciej Sobczak
- 23.05.11 08:09 Jacek Czerwinski
- 23.05.11 10:53 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-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) <=
- 2025-02-14 Re: Dlaczego nie było (pełzającego) zamachu stanu? Bo minister Bodnar już "zawiesił" prokuratora Ostrowskiego
- 2025-02-14 e-paper
- 2025-02-14 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-14 Warszawa => International Freight Forwarder <=