-
Data: 2019-10-12 16:34:20
Temat: Re: POpularno?? j?zyk?w programowania ??
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "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
Najnowsze wątki
- 2025-04-28 Hiszpania bez pradu
- 2025-04-28 chinska stal
- 2025-04-28 QR kody
- 2025-04-28 Dojarki
- 2025-04-28 Hiszpania bez pradu
- 2025-04-28 Kiedy posiedzenia sejmu zgodne ze standardem Konklave ?
- 2025-04-28 Warszawa => Sales Executive / KAM <=
- 2025-04-28 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-04-28 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-04-28 Warszawa => Senior Product Manager <=
- 2025-04-28 Częstochowa => Manager ds. produktu <=
- 2025-04-28 Warszawa => MENA New Business Manager <=
- 2025-04-28 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-04-28 Rzeszów => WEBCON Developer <=
- 2025-04-28 Warszawa => Team Lead Data Engineer (Snowflake) <=