-
Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsf
eed1.plix.pl!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!bandi.nntp.kabelfoon.
nl!news2.euro.net!feeder.news-service.com!postnews.google.com!e16g2000pri.googl
egroups.com!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Test porównawczy języków programowania
Date: Fri, 21 Jan 2011 05:24:41 -0800 (PST)
Organization: http://groups.google.com
Lines: 109
Message-ID: <6...@e...googlegroups.com>
References: <1...@3...googlegroups.com>
<igfcnh$eu$1@news.onet.pl>
<6...@l...googlegroups.com>
<igfkqd$t5m$1@news.onet.pl> <igg4g4$kie$1@inews.gazeta.pl>
<igh3lk$r55$1@news.onet.pl> <ih6o2v$1bp$1@news.onet.pl>
<ih6pdt$6e9$1@news.onet.pl> <ih6rep$e02$1@news.onet.pl>
<ih6sn9$ij2$1@news.onet.pl>
<6...@f...googlegroups.com>
<ih7110$1p8$1@news.onet.pl>
<d...@o...googlegroups.com>
<ih7ais$2t5$1@news.onet.pl>
<a...@f...googlegroups.com>
<ih9vhi$ith$1@inews.gazeta.pl> <iha69j$a8j$1@inews.gazeta.pl>
<ihbmrt$3k9$1@news.onet.pl>
<8...@w...googlegroups.com>
<ihbtcm$jh$1@news.onet.pl>
NNTP-Posting-Host: 195.11.67.225
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1295616281 23795 127.0.0.1 (21 Jan 2011 13:24:41 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Fri, 21 Jan 2011 13:24:41 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: e16g2000pri.googlegroups.com; posting-host=195.11.67.225;
posting-account=jr5y-woAAAAWidgVjrSJ6j8m650CTb-v
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10
(KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10,gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.programming:188375
[ ukryj nagłówki ]On Jan 21, 12:15 pm, Tomasz Kaczanowski
<kaczus@dowyciecia_poczta.onet.pl> wrote:
> Andrzej Jarzabek pisze:
>
> >> pisz c biblioteki dla urz dze szyfruj cych pod windows, tak aby
> >> biblioteka pracowa a bezproblemowo pod systemem windows musi ona by
> >> podpisana przez Microsoft. Bynajmniej nie wysy asz tam kodu biblioteki,
> >> tylko gotow binark , kt r microsoft (je li nie znajdzie zagro enia)
> >> podpisuje. Poniewa tu istotne jest, czy wyst puje zagro enie, czy nie,
> >> czy binarka nie jest przypadkiem zawirusowana, wystarcza jedynie
> >> certyfikacja tej binarki.
>
> > Ale m wili my o systemach mission critical, gdzie bardzo istotnym
> > parametrem jest niezawodno . Microsoft nie certyfikuje takiej
> > biblioteki na niezawodno .
>
> no ale w a nie takie programy zazwyczaj s w urz dzeniach i dzia aj w
> jakim rodowisku. atwiej jest jednak sprawdzi , czy rzeczywi cie
> ca o dzia a dobrze, ni , czy kod jest przejrzysty i zrozumia y.
Można sprawdzić, czy działa dobrze dla jakiegoś drobnego ułamku
procenta wszystkich możliwych sytuacji. To czy działa dobrze w
znaczącym procencie sytuacji, żeby np. wykluczyć możliwość race
conditions czy deadlocks pojawiających się w szczególnych
konfiguracjach i przy szczególnych relacjach czasowych jest bardzo
trudno.
A sprawdzić, czy kod jest przejrzysty i zrozumiały nie jest tak
trudno, zwłaszcza jeśli się jest autorem teego kodu lub członkiem
zespołu piszącego kod.
> W a nie to mo na sprawdzi w laboratorium, jak na b dy (b d sytuacje
> ekstremalne) generowane przez rodowisko i sprz t, czy oprogramowanie
> zareaguje w a ciwie. Czy przy przepi ciu zadzia aj zabezpieczenia, i
> czy uda si zapisa gdzie informacj o takim zdarzeniu, tudzie wys a
> odpowiedni informacj do centrum nadzoru.
Ale wiele błędów oprogramowania wcale nie ujawnia się w sytuacjach,
które można łatwo zidentyfikowac jako "ekstremalne".
> Tu nawet najpi kniej i
> najlepiej napisany kod nic nie pomo e. System mission critical musi by
> i tak brany w a nie jako ca o , gdyz najcz ciej problemy nie pojawiaj
> si w kodzie danego systemu, tylko na styku dw ch system w. Pami tam
Po pierwsze, wcale nie uważam, że takich systemów nie należy testować
jako całość. Oczywiście, że należy. Uważam, że w wielu sytuacjach to
nie wystarczy.
Po drugie to, gdzie problemy pojawiają się "najczęściej" wymagałoby
jednak podparcia jakimiś nieanegdotycznymi danymi. Ja nie wiem, gdzie
błędy pojawiają się najczęściej, moje doświadczenie mówi mi jednak, że
błędy w kodzie jako takim, wynikające ze złych praktyk typu
nieczytelny kod, źle wyspecyfikowana funkcjonalność, z błędnej
sychronizacji wątków, zastosowania niewłaściwych struktur danych i
algorytmów, niezrozumienia różnych aspektów używanego języka
programowania itd. - nie są wcale rzadkie. I takie właśnie błędy są
często właśnie tym typem błędów, które, jeśli nie zostaną wyłapane w
testach wewnętrznych, to mają małe szanse być wychwycone w
zewnętrznych badaniach laboratoryjnych, a w rzeczywistym świecie wiele
z nich wybuchnie użytkownikowi w twarz.
> nawet (w mniej critical system) sytuacj , gdy czylismy dwa systemy, by
> wsp dzia a y ze sob jednocze nie. Ka dy z tych system w osobno dzia a
> poprawnie, jednak na styku okaza o si , e musz mie 1) inaczej
> skonfigurowane rodowisko 2) konieczny by dost p do jednej z tabel
> jednej z baz i tu wysz a druga rzecz, w obu systemach stosowano inne
> rodzaje transakcji (bo system tamten pozwala na r zne podej cia do tego
> problemu) i tu systemy si pi knie zakleszcza y.... Oczywi cie problem
> by do rozwi zania, ale widzisz, oba kody napisane zgodnie z zasadami,
> oba kody samodzielnie dzia aj dobrze, ale gdy potrzebna jest wsp praca
> ju nie jest tak weso o.
Wiesz, w przypadku łączenia różnych komponentów oprogramowania
OCZYWIŚCIE że nie działałoby to tak, że jeśli komponent A jest
certyfikowany i komponent B jest certyfikowany, to system złożony ze
współdziałających komponentów A i B może zaprojektować i skonfigurować
nocny stróż, a on i tak będzie miał certyfikat. Wiadomo, że przede
wszystkim musi mieć uprawnienia osoba certyfikująca system jako
całość. Kwestia jest taka, że te uprawnienia idą w parze z pewnymi
regułami sztuki, mówiącymi w jakich sytuacjach można dany system
certyfikować. I zgodnie z tymi regułami powinno być tak, że komponenty
powstające na zamówienie muszą również być certyfikowane przez osobę o
odpowiednich uprawnieniach, które niekoniecznie muszą się pokrywać z
uprawnieniami integratora systemu. Na przykład można się spodziewać,
że ktoś nie znający danego języka programowania nie może lub nie
powinien certyfikowac programu napisanego w tym języku - ale może użyć
komponentu już certyfikowanego przez programistę/kierownika projektu/
menedżera procesu posiadającego odpowiednie oprogramowania. I z kolei
uprawnienia tej osoby albo bezpośrednio pozwalają jej certyfikować kod
(programista), albo wymagają od niej, żeby oprócz spełnienia innych
warunków (cykl testu, dokumentacja), certyfikowany program miał
również certyfikowany przez programistę z uprawnieniami kod.
Następne wpisy z tego wątku
- 07.02.11 10:45 Sebastian Kaliszewski
Najnowsze wątki z tej grupy
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=