-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin1!gobli
n.stu.neva.ru!postnews.google.com!l6g2000vbn.googlegroups.com!not-for-mail
From: Maciej Sobczak <s...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: ilu jest programistow na swiecie?
Date: Sun, 22 May 2011 15:19:53 -0700 (PDT)
Organization: http://groups.google.com
Lines: 95
Message-ID: <0...@l...googlegroups.com>
References: <iqjp8e$led$1@inews.gazeta.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>
<ir8d71$15h$1@inews.gazeta.pl>
<0...@w...googlegroups.com>
<irb056$a80$1@inews.gazeta.pl>
NNTP-Posting-Host: 83.3.40.82
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1306102793 15700 127.0.0.1 (22 May 2011 22:19:53 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Sun, 22 May 2011 22:19:53 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: l6g2000vbn.googlegroups.com; posting-host=83.3.40.82;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13)
Gecko/20101203 Firefox/3.6.13,gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.programming:190587
[ ukryj nagłówki ]On 22 Maj, 14:39, Andrzej Jarzabek <a...@g...com> wrote:
> Skoro więce robisz testy, to chyba jednak czemuś one zapobiegają. Bo
> chyba nie powiesz, że robisz je, bo lubisz poczucie beezpieczeństwa?
Robię je tam, gdzie (jak sądzę) ich użyteczność jest większa, niż ich
koszt. To oznacza, że czasami ich nie robię a w szczególności czasami
od nich nie zaczynam. Czyli traktuję testy tak, jak młotek i każde
inne *narzędzie*, któro czasem jest odpowiednie a czasem nie.
I dlatego nie mam zaufania do żadnej metody, która stawia testowanie
(albo jakiekolwiek inne narzędzie) w centrum uwagi albo je wręcz
wymusza.
Dwa skrajne przykłady z działki, którą zajmowałem się ostatnio
najwięcej (systemy rozproszone):
1. Jak piszę serializator, to używam TDD, bo serializator jest na to
idealnym miejscem. Zaczynam od protokołu i danych testowych, od
najprostszych do bardziej wyuzdanych i najpierw piszę test a potem
odpowiedni kod serializatora, z drobnymi iteracjami. Np. gdybym miał
pisać funkcję do kowersji ASCII->Morse, to też bym tak zrobił (osobne
iteracje na każdą literkę), bo to ma wtedy sens.
2. Jak mam wymaganie, że w układzie publish-subscribe jitter u każdego
odbiorcy ma być niezależny od awarii (zawieszenia, zgon, itp.) innych
odbiorców, to *nie* używam TDD ani w ogóle nie robię na to żadnego
testu. Tego typu wymagania można sensownie spełnić nie przez jakąś tam
refaktoryzację, tylko przez odpowiednią *konstrukcję*, czyli to ma
najpierw zadziałać na papierze. Automatycznego testu nie ma sensu
robić, bo jest to zbyt kosztowne (albo w praktyce w ogóle niemożliwe)
w stosunku do efektu. Takie rzeczy testuję przy użyciu paczki czipsów,
czyli robię testowy system, który wizualizuje mi się na ekranie, kładę
nogi na stole i przy ostatnim czipsie wiem, czy działa poprawnie.
Prawie zawsze działa, bo prawie zawsze mam dobrą konstrukcję, która
wynika z dobrego projektu na papierze.
Inne wymaganie, któro traktuję podobnie, to np. "ruch komunikatów ma
być płynny". Itd.
Jak ktoś chce pisać na to testy (albo nawet TDD), to będę za niego
trzymał kciuki.
Jeśli jakaś metodologia zmuszałaby mnie do robienia automatycznych
testów do tego typu wymagań, to ta metodologia jest do dupy. A
ponieważ właśnie takie wymagania są najciekawsze i z takimi mam
najwięcej do czynienia, to agile/xp/łotewer byłby dla mnie jedynie
obciążeniem. Oops - a podobno miał być wybawieniem od poprzednich
obciążających metodologii. There is no silver bullet.
> >> Nie tylko unit testy można odpalać z automata. Można automatycznie
> >> testować całe systemy, nawet GUI.
>
> > Nie, nie można.
>
> Można. Wiem, bo akurat moja praca ma z tym związek i blisko współpracuję
> z ludźmi, którzy to właśnie robią.
Etam. Dla mnie wymagania na GUI to np.:
1. w aplikacji do obsługi kont emerytalnych GUI ma być *przyjazne dla
starszych osób*
2. w aplikacji typu sklep GUI ma *umacniać postrzeganie marki i
sprzyjać tzw. konwersji*, czyli kierować odwiedzającego w stronę
zakupów
Jeżeli pod pojęciem testowania GUI rozumiesz sprawdzenie, czy
naciśnięcie przycisku wywołuje podpiętą do niego funkcję, to mówimy o
różnych rzeczach. Ja mówię o tym, że nie da się automatycznie testować
GUI; przypuszczam, że być może da się testować *display*, ale mały z
tego pożytek.
> W przypadku projektów zlecanych zewnętrznie, ta widoczność powinna miec
> postać "nasz człowiek siedzi z waszym zespołem i uczestniczy w zebraniach".
"Nasz człowiek nie ma czasu i w ogóle to wyjeżdża/awansował/łotewer.
Przyślijcie jak skończycie."
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 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
- 23.05.11 11:43 Michal Kleczek
- 23.05.11 11:48
- 23.05.11 13:31
- 23.05.11 15:55 Andrzej Jarzabek
- 23.05.11 16:06 Andrzej Jarzabek
- 23.05.11 16:24
- 23.05.11 17:31 Andrzej Jarzabek
- 23.05.11 17:34 Andrzej Jarzabek
- 23.05.11 19:57
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-15 serce boli
- 2025-01-14 Seicento vs Szydło, comes back :)
- 2025-01-14 CFM (airflow) AMD Wraitha
- 2025-01-14 16. Raport Totaliztyczny: Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2025-01-13 15. Raport Totaliztyczny: Średniowiecze Po,Zniszczeniu AmigaOS i Plan9
- 2025-01-14 Warszawa => Expert Recruiter 360 <=
- 2025-01-14 Warszawa => Starszy Konsultant AWS <=
- 2025-01-14 Warszawa => Specjalista ds. bezpieczeństwa informacji i ciągłości
- 2025-01-14 Katowice => Key Account Manager (ERP) <=
- 2025-01-14 Kraków => Kierownik ds. Kluczowych Klientów (transport morski i lotn
- 2025-01-14 Błonie => IT System Administrator <=
- 2025-01-14 Warszawa => Helpdesk - I linia wsparcia <=
- 2025-01-14 Kraków => Spedytor Międzynarodowy <=
- 2025-01-14 Gdańsk => Programista Delphi <=
- 2025-01-14 Gorzów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi