eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPytanie do fanow Test Driven Design i XPRe: Pytanie do fanow Test Driven Design i XP
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Andrzej Jarzabek <a...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Pytanie do fanow Test Driven Design i XP
    Date: Wed, 21 Dec 2011 23:29:20 +0000
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 41
    Message-ID: <jctq4f$a0n$1@inews.gazeta.pl>
    References: <13550949.64.1324464699954.JavaMail.geo-discussion-forums@vbjs5>
    <jcsgdi$9d$1@inews.gazeta.pl>
    <15238192.231.1324469112219.JavaMail.geo-discussion-forums@vbyc2>
    <jcsiim$6rq$1@inews.gazeta.pl>
    <10793822.410.1324474158112.JavaMail.geo-discussion-forums@yqir6>
    <jcsp6d$r8u$1@inews.gazeta.pl>
    <11378731.344.1324476715328.JavaMail.geo-discussion-forums@vbw20>
    NNTP-Posting-Host: 5ac53ca3.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 1324510159 10263 90.197.60.163 (21 Dec 2011 23:29:19 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 21 Dec 2011 23:29:19 +0000 (UTC)
    X-User: septi
    In-Reply-To: <11378731.344.1324476715328.JavaMail.geo-discussion-forums@vbw20>
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105
    Thunderbird/8.0
    Xref: news-archive.icm.edu.pl pl.comp.programming:194430
    [ ukryj nagłówki ]

    On 21/12/2011 14:11, Roman W wrote:
    > On Wednesday, December 21, 2011 2:07:09 PM UTC, Paweł Kierski wrote:
    >> Na post-commit taki test się nie nadaje, ale w nocy masz z reguły kilka
    >> godzin do dyspozycji. W skrajnym przypadku można tego rodzaju testy
    >> zapuszczać tylko wtedy, kiedy to naprawdę niezbędne - np. przed
    >> wdrażaniem wersji na produkcję. Pozostaje też kwestia różnic
    >> w wydajności maszyn produkcyjnych i testowych/buildowych (jak ustawić
    >> górne ograniczenie czasu wykonania testu).
    >
    > Do czego zmierzam: ze jezeli wymaganiem jest *formalna gwarancja* ze
    > procedura implementuje algorytm wykonujacy sie w czasie liniowym, to
    > zaden test tego adekwatnie nie dokumentuje. Tylko zwykla dokumentacja
    > moze to, well, udokumentowac.

    Trochę pół żartem, mogę powiedzieć, że można to testować jakimś testem typu:

    void testProvedLinearComplexityOfCalculateStuff() {
    fail(); // remove this line once proof is checked by customer
    }

    Trochę poważniej - jeśli klient wymaga formalnego dowodu złożoności
    algorytmu, to prawdopodobnie możesz to obsłużyć poza metodologią
    tworzenia oprogramowania - tam, gdzie masz proces do zapewnienia
    odpowiednich 'deliverables'. Przecież nie sprawdzasz też automatycznymi
    testami, czy została stworzona i dostarczona instrukcja dla użytkownika,
    albo czy dział prawny sprawdził tekst licencji.

    Natomiast samo wymaganie, żeby złożoność była liniowa, można bardzo
    łatwo udokumentować testem, np. takim:

    void testCalculateStuffComplexityIsLinear() {
    assertThat(timeComplexityOf(claculate_stuff).is(line
    ar()));
    }

    Wewnątrz implementacja oczywiście będzie robiła jakieś heurystyki, można
    też sparametryzować ten test tak, żebyś miał prosty wariant który się
    testuje z każdym buildem i wariant dla realnych zakresów użytkowania,
    który się testuje przez noc, przez weekend albo nawet przez tydzień,
    jeśli tego właśnie potrzebujesz.


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: