-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
!2.eu.feeder.erje.net!ecngs!feeder2.ecngs.de!178.20.174.198.MISMATCH!feeder4.fe
ed.usenet.farm!feed.usenet.farm!eternal-september.org!feeder.eternal-september.
org!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <h...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: POpularno?? j?zyk?w programowania ??
Date: Sat, 12 Oct 2019 16:34:20 +0200
Organization: A noiseless patient Spider
Lines: 102
Message-ID: <qnso9e$fkt$1@dont-email.me>
References: <ZFueF.189972$Jh2.55867@fx39.am4>
<5d86b148$0$520$65785112@news.neostrada.pl> <qm7c3j$pl6$1@dont-email.me>
<5d87968d$0$503$65785112@news.neostrada.pl> <qm875f$g8o$1@dont-email.me>
<5d87b31a$0$522$65785112@news.neostrada.pl> <qm8e0j$s55$1@dont-email.me>
<qmgven$som$1@z-news.wcss.wroc.pl>
<f...@g...com>
<qmnls7$tml$2@news.icm.edu.pl>
<b...@g...com>
<qmtap2$kfe$1@dont-email.me>
<4...@g...com>
<qn5dj9$qh9$3@dont-email.me>
<b...@g...com>
<qn82tb$4uq$1@dont-email.me> <qn85ev$ml7$1@news.icm.edu.pl>
<qn85qb$lth$1@dont-email.me> <qn87hu$qnt$1@news.icm.edu.pl>
<qn87ok$ca$2@dont-email.me> <qn9ac8$81m$1@news.icm.edu.pl>
<qn9ip9$r44$1@dont-email.me> <qnc33g$19p7$3@gioia.aioe.org>
<qncc7j$umu$4@dont-email.me> <qnhbgh$16fg$1@gioia.aioe.org>
<qno26k$90o$1@dont-email.me> <qno6jm$u1s$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 12 Oct 2019 14:34:23 -0000 (UTC)
Injection-Info: reader02.eternal-september.org;
posting-host="07db5ed1ffebbe5360af0b15ccfe359d";
logging-data="16029";
mail-complaints-to="a...@e...org";
posting-account="U2FsdGVkX19Xpx0AVTFNmRqxqYNRx+Cx"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.9.0
Cancel-Lock: sha1:b/CeIfHOqa/bNu9usxjqFKwOKMk=
In-Reply-To: <qno6jm$u1s$1@gioia.aioe.org>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.comp.programming:214393
[ ukryj nagłówki ]On 10/10/2019 23:08, AK wrote:
> Ktos kto mieni sie informatykiem i mowi o Windows, ze to jakas nisza,
Możesz udowodnć tezę odwrotną. Zacznij np. od ilosci systemów
operacyjnych w ogóle na świecie w użytku.
Zacznij tutaj:
https://en.wikipedia.org/wiki/Usage_share_of_operati
ng_systems
>> No robie to z kodem dobre 20 lat jak nie więcej. I? No wiec zazyczaj
>> wtedy mam buz(). A tu nie ma buz(). I dupa z unit testowaniem.
>>> Oblicz wiec dla przetestowanych unitestowo w buz() przedzialow
Ale nic o buz nie wiadomo. Tako rzecze szaman który to zadanie postawił.
>> Nie da się.
> Niby dlaczego. (Prawie) zawsze sie da.
Nie, możez sobie pisać *jakieś* unit testy. To zawsze można, choćby po
to żeby zadowolić jakiegoś speca i komisje za zielonym suknem.
> Gdy naprawde ciezko, to mock buza() tez jest pewnym wyjsciem.
Żeby napisać mocka buza musiz wiedzieć jakie przyjmuje stany dozwolone.
Inaczej możesz ten mock wydłubać na return 4; tylko że to co najwyżej
przetesuje nerwy grupy na codereview.
> Mock chocby wylacznie po tp aby prze-unit-testowac funa()
Nie a się go przetestować, szaman Sławek wyjaśnił że wiedza o buz() jest
niezbędna do testowania fun().
>> Zacytuje klasyka:
>> "Bo gdy buz będzie
>> definiowana przez użytkownika (np. przez podanie kilkunastu liczb
>> określających współczynniki, wykładniki itp.) - to zwyczajnie nie
>> wiesz co z czym masz assertEqual"
> To sobie zgromadz te dane buz()-a dla tychze wspolczynnikow.
Nie ma buz(). Nie ma współczynników. Nic o niej nie wiadomo.
>> Unit testy z definicji testują *unity* kodu. A nie tajemnicze funkcjie
>> podawane przez użytkownia jak u niejakiego sławka.
> Te "tajemnicze" funkcje sa _takimi samymi_ jak kazde inne.
Nie. Jesli to funkcja która liczy sin() to chwilowo nie znamy kątów dla
których jest większa niż 1 wiec istnieje nikła szansa że nalezy testować
fun() na inne wartości. Albo inaczej: można, tylko po h...
Nie, nie każda funkcja jest taka sama.
> Identycznie jak te jawne (z source kodem itp) podlegaja unittestowaniu.
I ich nie ma. Nie ma więc uni testowania, co nie przeszkadza testować
inaczej, jak choćby uzywając jakiś wyssanych z palca constrains, które w
tym przykładzie i tak nie zadziałają bo przykład zakłada jakiś buz() i dupa.
>> Od tego są inne warstwy testowania.
> Baju baju...
> Inne warstwy sluza zupelnie czemu innemu, a nie testowaniu pojedynczych
> funkcji.
To są dwie funkcjie, jedna znany drugą nie. Nie ma jak testować na
poziomie programisty piszącego fun(). Być może jest możliwośc testowania
na poziomie kogoś kto zna buz(), być może to będzie programista, ale to
nie będzie unit test.
Zapewne kiedyś, w dalekkiej przyszłości linkowania kodu, buz() się
ujawni albo może go ktoś załaduje w runtime. To wtedy bedzie testowanie
po integracji.
> Ze niby fun() nie jest normalna funkcja?
> Chyba sobie kpisz.
Ależ normalna, ale niestety nie jest kompletna.
> Juz lepiej zmock-uj tego buz() /fakt, nie zawsze sie da/ gdy nie chce ci
> sie przygotowac _faktycznych_ danych.
Żeby napisać mocka muszę coś wiedzieć. Tutaj nic nie wiemy. Sławek
pewnie niecierpliwie przebiera nogami żeby dowiedzieć się w jakiej
szklanej kuli mam wyczytać co to jest buz(). Chwilowo nawet a Algolu
takiej nie wymyślili.
Więc tak, możesz sobie cośtam potestować unitestami ściemniając że niby
działa bo dla 3,7 i 50000 działa. Ale to nie jest testowanie, to tylko
taki wyścig na ilośc kkloc-ów.
>> Nic nie możesz stwierdzić bo nie masz danych. Pokaż buz() to będzie
>> rozmowa o uni testach. Nie pokazesz buz() to nie ma unit testów tylko
>> wróżenie z fusów
> To juz jest horrendum :)
> Ze niby musi byc znany kod fukcji, aby ja prze-unittestowac?
Musisz znać jej odpowiedzi na dane wejściowe, opisane w jakimś specu.
Tutaj buz() jest nieznany. Czy to będzie kod czy specyfikacja, nie ma
znaczenia. Pokaż buz() to go uzyje, albo pokaż speca to sobie mocka napiszę.
> Chopie, nie blamuj sie calkiem.
Patrzysz czasem w lustro jak dajesz innym rady?
Następne wpisy z tego wątku
- 15.11.19 17:53 wloochacz
- 15.11.19 18:08 wloochacz
- 15.11.19 21:32 heby
- 15.11.19 21:40 heby
- 19.11.19 16:50 wloochacz
- 19.11.19 17:18 wloochacz
- 19.11.19 17:39 wloochacz
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=
- 2024-11-30 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-30 Warszawa => System Architect (background deweloperski w Java) <=