eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingilu jest programistow na swiecie? › Re: ilu jest programistow na swiecie?
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: