-
Data: 2011-12-21 23:29:20
Temat: Re: Pytanie do fanow Test Driven Design i XP
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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.
Następne wpisy z tego wątku
- 22.12.11 00:00 Andrzej Jarzabek
- 22.12.11 00:09 Andrzej Jarzabek
- 22.12.11 00:31 Andrzej Jarzabek
- 22.12.11 00:58 Michoo
- 22.12.11 01:28 A.L.
- 22.12.11 08:24 Paweł Kierski
- 22.12.11 08:28 bartekltg
- 22.12.11 08:47 Edek
- 22.12.11 08:58 Roman W
- 22.12.11 09:02 Roman W
- 22.12.11 09:06 Roman W
- 22.12.11 09:08 Roman W
- 22.12.11 09:19 Stachu 'Dozzie' K.
- 22.12.11 09:29 Andrzej Jarzabek
- 22.12.11 09:40 bartekltg
Najnowsze wątki z tej grupy
- "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
- 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?
Najnowsze wątki
- 2025-04-07 Położyłem dwa telefony obok siebie
- 2025-04-07 Warszawa => Key Account Manager IT <=
- 2025-04-07 Warszawa => Spedytor Międzynarodowy <=
- 2025-04-07 Warszawa => Generative AI Engineer <=
- 2025-04-07 Warszawa => BI Developer / Analityk BI <=
- 2025-04-07 Warszawa => IT Recruiter <=
- 2025-04-07 Warszawa => Gen AI Engineer <=
- 2025-04-07 Co jest większym przestępstwem?
- 2025-04-06 czy Niemcy wyłączą zdalnie Ałdi
- 2025-04-06 Przekaźnik na szynę DIN (?)
- 2025-04-05 Dziwny wymiar wyroku
- 2025-04-05 Prunt z dachu
- 2025-04-05 Taśma LED
- 2025-04-05 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-05 Warszawa => Strategic Account Manager <=