Društvo| Ekonomija| IT| Nauka| Tehnologija

Koliko košta „tehnička greška“?

Dragan Pleskonjic RSS / 17.11.2011. u 10:56

Oops-key-150-by-110-iStock-1321028373950.gifNedavno se desila interesantna „tehnička greška". Rejting agencija Standard & Poor's (skraćeno: S&P) je poslala pogrešnu poruku odnosno upozorenje velikom broju svojih pretplatnika širom sveta sa informacijom da je kreditni rejting Francuske sa trostruko-A (triple-A) snižen na sledeći nivo.

Često se dešavaju različite tehničke greške koje mogu imati visoku cenu. One mogu biti posledica nepažnje, nemara, nepostojanja ili neadekvatnih procedura rada ili provera. Neke greške u prošlosti su mogle da dovedu do ogromnih šteta i drugih dramatičnih posledica. Ovo je otvorilo i pitanje: kako se proverava softver, koliko se detaljno brine o njegovoj tačnosti i preciznosti rada, kao i o sigurnosnom aspektu, kao i odgovornosti.

Prema informacijama Wall Street Journala (WSJ), prošlo je skoro dva sata pre nego je agencija S&P poslala ispravku u kojoj je obaveštavila da je prethodno upozorenje bilo „tehnička greška".

Poruka je poslata pretplatnicima sa naslovom "smanjenje rejtinga" iz link za rejting Francuske. Portparol S&P je rekao da bi svako ko bi kliknuo na taj link mogao da vidi da je ocena Francuske ostala nepromenjena. Međutim, francuski ministar finansija Fransoa Beroen zatražio je odmah da francuska i evropska finansijska regulatorna tela istraže šta se dogodilo. Nakon toga je francuska Uprava za finansijska tržišta (AMF) saopštila da je otvorena istraga posle greškom poslate ocene S&P, kao i da je stupila u vezu sa evropskom upravom za finansijski nadzor.

Smanjenje rejtinga Francuske bi teško pogodilo investitore koji su pokazali dosta nestrpljenja sa sve većom ekonomskom nestabilnošću u Evropi.

WSJ kaže da je, dok se vest o sniženju rejtinga širila, euro oslabio u odnosu na dolar, berze u SAD počele da klize u nestabilnost, a cene francuskih obveznica počele su da padaju. Keš je promenio smer i krenuo ka američki trezorima i nemačkim obveznicama.

Nakon što je S&P izdao ispravku, tržišta su se smirila, međutim francuske obveznice su povratile deo svoje vrednosti, ali ne u potpunosti. Međutim, francuska vlada, koja se već neko vreme bori da očuva kreditni rejting zemlje na nivou triple-A, je bila veoma uznemirena (i ljuta) zbog ove šokantne greške i odsustva pravovremenog objašnjenja od strane S&P. Prema onom što je objavio Bloomberg Business Week, EU regulator se sprema da otvori istragu na ovu temu. Trejderi nisu baš bili srećni zbog ovog incidenta. Financial Times je citirao jednog londonskog trejdera koji kaže: "Besni smo na S & P. Napraviti takvu grešku u ovako nemirnom trenutku na tržištu, sa brigama oko Francuske i njenog kreditnog rejtinga, vrlo je neodgovorno i alarmantno".

novelty-computer-key-caps.jpg

S&P objašnjenje

Kasnije je S&P dao objašnenje te vrste problema na svom Web sajtu. Njihova izjava (statement) glasi ovako:

"In December 2010, a Banking Industry Country Risk Assessment (BICRA) ranking for France, which is not a credit rating, was placed on Standard & Poor's Global Credit Portal as an initial step to determine the workability of putting all the BICRA rankings on individual pages for easy access for users. The other 85 BICRA rankings were not entered on individual pages on the Global Credit Portal, although reports on all of Standard & Poor's BICRA rankings were available elsewhere on the site. On Nov. 10, 2011, following the publication by Standard & Poor's of a review of all of its BICRA rankings, the BICRA ranking for France was changed to 'N/A' (not available) on the Global Credit Portal page. The system mistakenly interpreted this change as a 'downgrade' and triggered a message to a limited number of subscribers who had signed up to receive e-mail alerts."

Vrlo teško će biti uveriti sve one koji su imali štetu od ovakve greške da je greška nenamerna.
Mišel Barnije ,evropski komesar za jedinstveno tržište , rekao: " Ovaj incident je ozbiljan i pokazuje da u sadašnjem vremenu i nestabilne situacije na tržištu, mora da na tržištu budu disciplinovani i pokažu poseban osećaj odgovornosti. " Mr Barnije je dodao: " Sve ovo pojačava moje uverenje da Evropa mora da usvoji stroga i rigorozna pravila - uključujući, ali ne ograničavajući se na, rejting agencije ".

Greška u testiranju softvera?

Neki mediji su prokomentarisali da ovakve greške mogu biti posledica lošeg testiranje na granične vrednosti neke nove funkcionalnosti na sajtu. Svakako je, kao posledica greške, pojačano pitanje načina rada, unutrašnjih procedure rada i sistema kontrole kod ove kreditne agencije. S&P je obećao da preduzima mere da se takve stvari ne dese opet. Međutim, ostaje gorak ukus i nepoverenje.

Greška se izgleda prevalila na leđa programera i testera softvera.

Ako dalje analiziramo mogućnost da ovako ozbiljne firme nemaju ustanovljene procedure, adekvatne timove i alate za testiranje softvera pre nego što on ode na produkciju tj. živi sajt, onda to može biti poražavajući zaključak. Zamislimo da banke imaju greške u softveru koji vrše prebacivanje novca sa računa na račun, pa im se omakne da nečiji račun bude greškom „skraćen za određeni iznos". To bi bilo poražavajuće u svetu gde verovatno retko ko analizira detaljno stavke na svom bankovnom računu i gde se obično implicitno veruje izvodima iz banke.

sdlc-big.jpg

Kako praviti sigurniji softver?

Poseban problem jeste softver koji nije proveren na moguće sigurnosne propuste. Naime, mnoge firme ne obraćaju odgovarajuću pažnju na sigurnosni aspekt razvoja softvera i čak često i nemaju svest o tome. U vreme kada se veliki deo posla obavlja online tj. preko Interneta uključujući bežične i mobilne komunikacije, ovo postaje posebno važan element razvoja i primene softvera. Tvorci softvera treba da obrate pažnju na sigurnost kroz ceo životni vek razvoja. U tu svrhu, potrebno je obučiti softver arhitekte, dizajnere, programere, testere i sve ostale koji učestvuju u procesu razvoja, testiranja, isporuke i održavanja softvera. Svi bi trebali biti svesni mogućih posledica i imati u vidu bezbednost softvera. Razvijene su posebne metodologije, koje često u literaturi vidimo pod imenom Security Development Lifecycle (SDLC), Secure Software Development Life Cycle ili slično. Ove metodologije pokrivaju sve od prikupljanja i definisanja zahteva za razvoj novih aplikacija ili komponenti, preko izrade softverske arhitekture, detaljnog dizajna, razvoja i testiranja, isporuke, primene tj. rada u produkciji, podrške i održavanja softvera.

Takođe, postoje i alati za proveru greški i ranjivosti softvera u pogledu sigurnosti. Ovi alati mogu da testiraju programe razvijene u različitim programskim jezicima, integrisanim razvojnim okruženjima (IDE) i da izveste o pronađenim problemima. Takođe, imaju mogućnost da objasne u kojim situacijama može doći do problema, navodeći detaljni tok izvršavanja i podataka tj. okolnostima u kojima se ranjivost može zloupotrebiti, kao i da daju vrlo korisne preporuke kako propuste otkloniti.

Napomena: Ukoliko Vas zanima više tehničkih detalja na ovu temu, možete me kontaktirati i privatnom porukom, obzirom da će detaljna diskusija na ovu temu na blogu biti prilično zamorna za većinu čitalaca. Naime, radi se o relativno složenoj materiji iz oblasti razvoja softvera.

Nuklearni rat greškom

Bilo je dosta priča na temu mogućnosti da se tehničkom ili drugom greškom izazove katastrofa nuklearnog rata. Setimo se ruskog pukovnika Stanislava Jevgafroviča Petrova koji je 26. septembra 1983. sprečio mogući nuklearni rat, odbivši da poveruje da su SAD lansirale projektile na Sovjetski Savez, uprkos indikaciji datoj od strane računarskog sistema za rana upozorenja. Pokazalo se kasnije da su sovjetski računarski izveštaji prikazivali grešku i Petrovu je odato priznanje za sprečavanje Trećeg svetskog rata i verovatnog uništavanje velikog dela Zemlje nuklearnim oružjem. Zbog vojne tajnosti i međunarodne politike, Petrovljeve akcije su držane u tajnosti sve do 1998. godine.

Ovaj incident spada u jednu od nekoliko odluka visokog rizika koje su napravile strateške nuklearne snage tokom godina Hladnog rata, često u poslednjem minutu, od strane administrativnog osoblja daleko od glavne komande. [Izvor: Wikipedia]

A šta ako neki drugi pukovnik ili general u nekom trenutku u budućnosti napravi grešku?

 

UPDATE: Samo što je ovaj tekst objavljen, stigla je sledeća vest:

S&P error on Brazil rating is 2nd miscue in a week 

Citat:

Nov 17 (Reuters) - A week after erroneously reporting it had slashed France's AAA credit rating, Standard & Poor's slipped up again on Thursday when it got its new long-term rating for Brazil wrong. 

 



Komentari (40)

Komentare je moguće postavljati samo u prvih 7 dana, nakon čega se blog automatski zaključava

antioksidant antioksidant 11:08 17.11.2011

.

A šta ako neki drugi pukovnik ili general u nekom trenutku u budućnosti napravi grešku?
грешке су свакодневне
последице, по неки пут - катастрофалне.
иначе, занимљив је тај чланак на википедији о петрову

Uprkos prevenciji potencijalne nuklearne katastrofe, odbijajući da obavesti svoje pretpostavljene o upozorenjima računarskog sistema, pukovnik Petrov je prekršio svoja naređenja i vojni protokol. Kasnije su ga ispitivali nadređeni o njegovim akcijama tokom događaja, što je dovelo do toga da ga više nisu smatrali pouzdanim vojnim oficirom.
Sovjetska vojska nije kaznila Petrova za njegove akcije, ali ga nije ni nagradila niti mu dala odlikovanja. Njegova akcija je otkrila nesavršenosti sovjetskog vojnog sistema, što je prikazalo njegove pretpostavljene u lošem svetlu. Dobio je negativnu ocenu za loše urađen pisani zadatak i njegova jednom obećavajuća vojna karijera stigla je do kraja. Prekomandovan je na manje poverljiv posao, a potom i penzionisan.
Dragan Pleskonjic Dragan Pleskonjic 12:07 17.11.2011

Re: .

Nisu mu oprostili što je spasao svet.
alselone alselone 11:29 17.11.2011

Greske

Anegdota iz rada po fabrikama:

Radimo automatiku nekog magacina sirovina. Istovar iz barzi, usip, neke preraspodele ka transportnim trakama, transport sistemom traka, sipanje u celije sirovina. Iz celija preuzima automatika fabrike i vozi u proizvodnju. Na prvi pogled nista posebno ali sve potpuno automatizovano.

Sedimo u elektro sali, radimo point to point testove i testiramo softver. Tehnicka greska, tj. bagcina dovede do toga da prospemo oko 2 tone materijala na pod magacina. Stakleni zid nas deli od ostatka pogona. Javili smo sta se desilo. Prolaze 4 domacina sa lopatama pored prostorije gde smo mi. Prolaze sa lopatama na ramenu, idu ka "situaciji" i gledaju nas krvavim ocima.

Zbog nase tehnicke greske oni ima da lopataju par sati.
Dragan Pleskonjic Dragan Pleskonjic 12:05 17.11.2011

Re: Greske

alselone
Stakleni zid nas deli od ostatka pogona. Javili smo sta se desilo. Prolaze 4 domacina sa lopatama pored prostorije gde smo mi. Prolaze sa lopatama na ramenu, idu ka "situaciji" i gledaju nas krvavim ocima.

Zbog nase tehnicke greske oni ima da lopataju par sati.


Pokušavam da zamislim scenu.
niccolo niccolo 12:29 17.11.2011

Re: Greske

Zbog nase tehnicke greske oni ima da lopataju par sati

Pa da, vi sa fakultetom uvek nešto zayebete...

alselone alselone 12:36 17.11.2011

Re: Greske

niccolo

Pa da, vi sa fakultetom uvek nešto zayebete...


Tako nesto nam obicno i kazu. Ima i ono - sve je dobro radilo dok vi niste dosli.
niccolo niccolo 13:21 17.11.2011

Re: Greske

sve je dobro radilo dok vi niste dosli

Dabome
alselone alselone 13:52 17.11.2011

Re: Greske

Tu ima piš scena. Moja omiljena sledi. Radi se o presi za poluproizvod. Poluproizvod ide pokretnom trakom. Ona ga nabacuje na neki "nakovanj". Tu radnik treba da ga pozicionira i pritiskom na dugme pokrene presu koja udarom menja oblik i otseca jedan deo. E, sad, da ne bi došli u situaciju da radnik od umora ili pada koncentracije ili prostog mozdanog baga u isto vreme jednom rukom pozicionira a drugom pokreće presu, napravljena je instacija da on pokreće presu pomoću dva dugmeta, pritiskom u isto vreme. Tasteri su toliko udaljeni da mora da raširi ruke da bih oba pritisnuo u isto vreme.

Uvatilo mu ruku.


Kako, jebote?!

Pajz sad. Genije je zalepio jedan prekidac samolepljivom trakom (da covek ne siri ruke) a pritiskao samo jedan taster, naslonjen na stub na kom se nalazi. I naravno, u jednom momentu je i pozicionirao i pritiskao.
Dragan Pleskonjic Dragan Pleskonjic 14:17 17.11.2011

Re: Greske

alselone
Pajz sad. Genije je zalepio jedan prekidac samolepljivom trakom (da covek ne siri ruke) a pritiskao samo jedan taster, naslonjen na stub na kom se nalazi. I naravno, u jednom momentu je i pozicionirao i pritiskao.


Ljudski faktor.
alselone alselone 14:49 17.11.2011

Re: Greske

Dragan Pleskonjic

Ljudski faktor.


Idiotski faktor. Nije idiotproof resenje (sto je i veoma tesko za napraviti).
Ljudski faktor je kad majstori nabace celofan od kutije cigara preko foto senzora, da naprave sebi pauzu za kafu i cigaru dok inzenjeri utvrde zasto masina radi pogresno.
Kiza car Kiza car 14:58 17.11.2011

Re: Greske

Ili kada deo mreže ne radi obično između 7:30 i 8:00.

Uzrok: teta spremačica isključi svič da bi skuvala kafu...
alselone alselone 15:07 17.11.2011

Re: Greske

Kiza car
Ili kada deo mreže ne radi obično između 7:30 i 8:00.
Uzrok: teta spremačica isključi svič da bi skuvala kafu...


To je taj rad.
srdjan.pajic srdjan.pajic 15:54 17.11.2011

Re: Greske

niccolo
Zbog nase tehnicke greske oni ima da lopataju par sati

Pa da, vi sa fakultetom uvek nešto zayebete...



"If you think good engineering is expensive, try bad engineering".
a_jovicic a_jovicic 02:32 18.11.2011

Re: Greske

alselone
Idiotski faktor. Nije idiotproof resenje (sto je i veoma tesko za napraviti).
Ljudski faktor je kad majstori nabace celofan od kutije cigara preko foto senzora, da naprave sebi pauzu za kafu i cigaru dok inzenjeri utvrde zasto masina radi pogresno.

Vala sa našim "majstorima" bi i Japanci teško izašli na kraj.

Mene je oduševila priča o tome kako su (u ono doba dok im nisu sve radili roboti) rešili problem nedostajućeg dela u pakovanju proizvoda.

Reč je bila o fabrici usisivača ... proizvodna traka ide ... pored nje ljudi ... i šta ćeš, desi se da neko propusti da u kutiju stavi svoj deo. Firma je odlučila da uvede automatsku detekciju greške i kupili su automatsku vagu koja je merila težinu kutije na kraju linije, ako ista nije po specifikaciji, kutija se preusmeri sa strane i onda se gleda šta je falilo. I sve je to bilo lepo dok nisu primetili da povremeno nedostaje uputstvo za upotrebu. Papir ... lak ... postojeća vaga nije mogla da detektuje kad' ga nema. Taman oni krenuli da traže ponude za ultra-precizne vage (i naravno ultra skupe) kad pojavi se jedan inženjer i reče da im vaga (ni ona postojeća) više ne treba. Kako?!? Jednostavno ... stavio čovek taster pored svakog radnog mesta, radnik kad ubaci deo treba samo da pritisne taster ... kad su svi tasteri u nizu pritisnuti, traka se pomeri za jedno mesto ... ako nešto fali onda je to samo namerno uradjeno.

To bi u Srbiji "majstor" za 5 minuta "opravio" parčetom selotejpa.
Milan Novković Milan Novković 12:25 17.11.2011

Ova nestabilna vremena....

... poslednjih nekoliko godina su najproduktivnija vremena za Masters of the Universe i one pametnije među pojedinačnim traderima ili manjim grupama - lako je manipulisati sentiment čak i malim kumulativnim tradingom nad nekim pojedinačnim finansijskim instrumentima ili užim asset klasama, pa tako i mnogim pod-domenima likvidnosti, volatilitijem i sličnim.

I to se žestoko koristi, na najvišim nivoima, trikova ima puno.

Multipolarnost u svetu donosi nova otvaranja, središnjice i završnice.

Naravno da ko radi i greši, ali da ne ulazimo sad u konspirativne teorije pošto ih mnogi blogeri ne vole
Sepulturero Sepulturero 14:20 17.11.2011

Re: Ova nestabilna vremena....

Milan Novković
... poslednjih nekoliko godina su najproduktivnija vremena za Masters of the Universe i one pametnije među pojedinačnim traderima ili manjim grupama - lako je manipulisati sentiment čak i malim kumulativnim tradingom nad nekim pojedinačnim finansijskim instrumentima ili užim asset klasama, pa tako i mnogim pod-domenima likvidnosti, volatilitijem i sličnim.

I to se žestoko koristi, na najvišim nivoima, trikova ima puno.

Multipolarnost u svetu donosi nova otvaranja, središnjice i završnice.

Naravno da ko radi i greši, ali da ne ulazimo sad u konspirativne teorije pošto ih mnogi blogeri ne vole


Тако је, ова "техничка грешка" је некима омогућила поприличну зараду.
Dragan Pleskonjic Dragan Pleskonjic 14:22 17.11.2011

Re: Ova nestabilna vremena....

Milan Novković
... poslednjih nekoliko godina su najproduktivnija vremena za Masters of the Universe i one pametnije među pojedinačnim traderima ili manjim grupama - lako je manipulisati sentiment čak i malim kumulativnim tradingom nad nekim pojedinačnim finansijskim instrumentima ili užim asset klasama, pa tako i mnogim pod-domenima likvidnosti, volatilitijem i sličnim.


Koliko li blogera zna šta sve ovo znači?

Moj slobodni prevod: na berzama i oko njih mnogo nešto muljaju, manipulišu i petljaju, mnogi izgube, ali se neki od toga dobro ovajde.
maksa83 maksa83 14:33 17.11.2011

Re: Ova nestabilna vremena....

Moj slobodni prevod: na berzama i oko njih mnogo nešto muljaju, manipulišu i petljaju, mnogi izgube, ali se neki od toga dobro ovajde.

Ukratko poenta bi bila - pare se prave kada nešto ide gore ili dole. Zauzmeš poziciju i onda - ako imaš moć - mrdneš stvar u smeru u kom ti odgovara i napraviš pare. Npr. u ovoj situaciji ko je uradio šort sel na francuske obveznice - taj je zaradio.
Dragan Pleskonjic Dragan Pleskonjic 14:46 17.11.2011

Re: Ova nestabilna vremena....

maksa83
šort sel


Citat sa linka:

What Does Short Selling Mean?
The selling of a security that the seller does not own...


Tj. prodaja onog što prodavac nema u vlasništvu, računa da će da pozajmi i kupi jeftinije kasnije.

Čisti špekulanti.


antioksidant antioksidant 14:51 17.11.2011

Re: Ova nestabilna vremena....

Dragan Pleskonjic
maksa83
šort sel


Citat sa linka:

What Does Short Selling Mean?
The selling of a security that the seller does not own...


Tj. prodaja onog što prodavac nema u vlasništvu, računa da će da pozajmi i kupi jeftinije kasnije.

Čisti špekulanti.



nije toliki problem što je neko špekulant već je problem ako "utiče na sistem" pa špekulacija više nije špekulacija već samo naplata drugih nezakonitih radnji
ili što maksa kaže

pare se prave kada nešto ide gore ili dole. Zauzmeš poziciju i onda - ako imaš moć - mrdneš stvar u smeru u kom ti odgovara i napraviš pare.
a što ostali gube... briga te
a_jovicic a_jovicic 00:54 18.11.2011

Re: Ova nestabilna vremena....

Dragan Pleskonjic
Moj slobodni prevod: na berzama i oko njih mnogo nešto muljaju, manipulišu i petljaju, mnogi izgube, ali se neki od toga dobro ovajde.

Pa lepo su to objasnili u "Operacionim istraživanjima" ... zero-sum game!
ludipingvin ludipingvin 13:50 17.11.2011

Testirajne Softvera

Svojevremeno sam bio ponosan na Računarski Fakultet, jer uopšte ima (izborni) ispit koji se zove "Testiranje Softvera". Nakon par godina bavljenja problematikom, ponos je nestao i sad sam samo razočaran sam jer je ispit i dalje izborni. Većina studenata ga zaobilazi a da ni ne zna o čemu se radi.

Ipak, situacija se polako kako-tako popravlja, pa ima nade za budućnost. Šta da se radi sa tragičnom današnjicom - numem da kažem...
Dragan Pleskonjic Dragan Pleskonjic 14:27 17.11.2011

Re: Testirajne Softvera

ludipingvin
"Testiranje Softvera"


A ko tek vodi računa o Security Development Lifecycle (SDLC) i sličnim stvarima?

ludipingvin ludipingvin 14:52 17.11.2011

Re: Testirajne Softvera

Dragan Pleskonjic
ludipingvin
"Testiranje Softvera"


A ko tek vodi računa o Security Development Lifecycle (SDLC) i sličnim stvarima?


Mooooooolim? Ajde prvo da napravimo da "testiranje" nije egzotična reč.

Tuga. :/

Kada je profa pre dve godine forsirao da se uče modeli zrelosti (hoću reći CMM, ali moderno izražavanje zahteva prevod na srBski), i studenti i profesori su ga gledali kao da je potpuno lud. Bukvalno je arugment bio: "Tome nije mesto na fakultetu". Ode čovek s faksa, nije se ni okrenuo za sobom.
Dragan Pleskonjic Dragan Pleskonjic 15:01 17.11.2011

Re: Testirajne Softvera

ludipingvin
Dragan Pleskonjic

A ko tek vodi računa o Security Development Lifecycle (SDLC) i sličnim stvarima?


Mooooooolim? Ajde prvo da napravimo da "testiranje" nije egzotična reč.


Da, mnogi ne rade ni osnovno testiranje funkcionalnosti, a kamoli šta dalje (performanse, stres testovi itd). Zbog odsustva adekvatnog procesa razvoja i security provera programskog kôda, "popadaše" razni Web sajtovi k'o zrele kruške. Sve šuplje k'o švajcarski sir. Nit' je ko testirao, nit' proverio security kôda, instalacije, konfiguracije, postavki, servera, mreža...

Posle se pitaju "šta ono bi?"
a_jovicic a_jovicic 02:14 18.11.2011

Re: Testirajne Softvera vs QA

ludipingvin
Mooooooolim? Ajde prvo da napravimo da "testiranje" nije egzotična reč.

... a tek QA ... kakva je to "egzotika"!

Čak i oni koji nekako nabodu da QA (Quality Assurance) nije isto što i Q&A (Questions and Answers) nikako ne mogu da se odlepe od uverenja da je QA = testiranje.

... a QA nije (samo) testiranje. Opšte je prisutna zabluda da ako firma ima QA odeljenje, onda je njihov zadatak da otkriju sve brljotine koje developeri prave ... i naravno, developeri više ne moraju da testiraju bilo šta. Medjutim, "misija" QA je malkice drugačija. Da, treba oni da se bave i testiranjem, medjutim ima i ono "bolje sprečiti - nego lečiti" pa je tako u stvari uloga QA da spreči da do grešaka uopšte i dodje ... a ne arčiti resurse na otkrivanje greške koja je već nastala ... što bi Japanci rekli "Poka-yoke" (ポカヨケ)

QA treba da bude prisutna u svim fazama projekta, od prikupljanja korisničkih zahteva, preko izrade funkcionalnih specifikacija, planiranja vremena i faza projekta, praćenja unit i link testiranja (koje je posao developera), performance, load, security, sistemskog, pa sve do customer acceptance, failover i PEN testova (Penetration testing). Svako je na svom nivou zadužen da vodi računa o kvalitetu svog rada, QA pre svega treba da prati da li se to dogadja, da upozori na odstupanja od korisničkih zahteva i proceni rizike po finalni kvalitet ili vreme potrebno za završetak ... i da prati kako se ponaša broj defekata po fazama projekta ... što će reći da "misija" QA treba da bude da osigura da korisnik dobije proizvod u obliku i kvalitetu kakav je ugovoren a ne da juri "leptire i bube" po kodu. Na žalost, stvarnost je prilično drugačija ...


A pošto je korisnik po definiciji "onaj ko ne zna šta hoće, ali kad vidi to što je tražio zna da mu baš to ne treba", QA treba i to da spreči na vreme ... testiranjem se to ne postiže.

No biće da sam ja nešto buncao 'vako kasno, te bolje da se vratim na spavanje pa da makar i to testiranje prestane da bude "egzotična reč" u razvoju softvera.
maksa83 maksa83 10:13 18.11.2011

Re: Testirajne Softvera vs QA

No biće da sam ja nešto buncao 'vako kasno, te bolje da se vratim na spavanje pa da makar i to testiranje prestane da bude "egzotična reč" u razvoju softvera.

To tako može da radi par firmi na svetu ranga NASA (gde se specifikacija piše 2 godine, a onda je proverava 1000 ljudi) ili kontraktori američke vojske (pa i oni imaju bagove, probni piloti se sa letova vraćaju sa spiskom bagova, a sećam se i onog razarača koji je ostao da stoji nasred Atlantika 2 dana, pa su dovozili programere helikopterom).

Inače, dok ti uradiš sve to gore opisano neko drugi je napravio good enough software i prodao ga sedam puta dok se veseliš u svom super kontrolisanom CMM/ISO sertifikovanom procesu.

Kao i u svemu ostalom kvalitet procesa (u realnom životu) je određen rizikom i posledicama eventualnog otkaza, i deli se (grubo, ali primereno) na kategorije: 1) neko može da pogine, 2) neko može da izgubi pare, 3) neko može da se iznervira 4) sve ostalo, pa se te kategorije dodatno parametrizuju. U skladu sa tim se kroji i proces tj. prateći Q&A. Svi volimo kad sve radi super, ali svakako nećeš uložiti iste resurse u yet-another-RSS-reader i softver za kontrolu industrijskog robota koji može da spljeska radnika o zid (dešavalo se) iako se radi o verovatno približno istom broju linija koda.

Inače, problem testiranja po meni nije što nije obavezan predmet nego što se generalno percipira kao "aktivnost nižeg reda" i ljudi ga uglavnom vide kao eventualnu usputnu stanicu tj. način da negde budu primljeni "dok ne naiđe nešto bolje", što je po meni suludo - to je vrlo složen, izazovan i zanimljiv posao koji zahteva specijalan skup veština, npr. dobar tester mora da bude i okej programer pošto (ako je dobar) skriptuje i automatizuje koliko može. Itd. itd.

Da ne prođe bez Geralda M. Weinberga, preporuka za knjigu: Perfect Software and Other Illusions About Testing.

Evo kako izgleda kad ljudi veruju svom softveru:

Dragan Pleskonjic Dragan Pleskonjic 10:38 18.11.2011

Re: Testirajne Softvera vs QA

maksa83
određen rizikom


Da, ključna reč je rizik, preciznije prihvatljivi nivo rizika.

Upravljanje rizikom je opširna teorija, ali ukratko: svako (ili svaka firma) odlučuje za sebe koji nivo rizika može da prihvati (nekad se kaže koliki je risk appetite) i šta ne može da prihvati (risk aversion). Nakon toga proceni koliko resursa može i treba da uloži da dođe do tog nivoa prihvatljivog rizika. Pogađanje pravog balansa između ulaganja (radni sati, novac, ostali resursi) i postignutog / prihvatljivog nivoa rizika je nauka (pa i umetnost) za sebe... I da ne dužim priču.
a_jovicic a_jovicic 00:44 19.11.2011

Re: Testirajne Softvera vs QA

maksa83
To tako može da radi par firmi na svetu ranga NASA (gde se specifikacija piše 2 godine, a onda je proverava 1000 ljudi) ili kontraktori američke vojske (pa i oni imaju bagove, probni piloti se sa letova vraćaju sa spiskom bagova, a sećam se i onog razarača koji je ostao da stoji nasred Atlantika 2 dana, pa su dovozili programere helikopterom).

Ovaj ... a gde ja rekoh da projekt stoji dok QA ne odobri specifikaciju?!?

Učestvovati u svim fazama kako bi se identifikovali rizici (kao npr. kritična funkcionalnost opisana traljavim korisničkim zahtevom ili slabo definisana komunikacija izmedju timova koji rade na izradi usko povezanih komponenti a bez ikakvog dokumentovanog API-ja) ne znači da bilo ko čeka "amin" od QA. Svodjenje QA samo na testiranje vrlo lako rezultuje GIGO efektom (Garbage In - Garbage Out) tj. da test-tim nije upoznat sa potencijalnim slabim tačkama i da arči vreme na testiranje funkcionalnosti koje niti su kritične niti rizične (tj. "upravljanje kvalitetom" se svede na monkey-testing ... nadji gomilu klinaca i pusti ih da lupaju po tastaturi ... naleteće pre ili kasnije na bug) pa se utvrdi da naš softver "perfektno radi" ... GUI ne puca ... ma milina jedna ... a onda na acceptance testiranju klijent kaže da to nema blage veze sa poslovnim procesom za koji je softver napravljen i da to sve "lepo piše" u SRS-u (System Requirement Specification ... nisu radikali) samo da mi nismo znali da čitamo ... pa krene natezanje dal' je nešto change request, enhancement ili defect (svaka kategorija se drugačije meri novčano ... prve dve plaćaju oni nama ... poslednju, mi njima). Ne mora ovo da se desi samo na kraju projekta ... dovoljno je da se proćerdaju 2-3 nedelje tj. npr. 20-30 MD da bi se shvatilo kako je napravljeno nešto pogrešno (na osnovu "maglovite" specifikacije) pa se potroši još 10 MD da se to sve ispravi, izbilduje, istestira ... umesto da je dodato 2-3 MD za proveru tog zahteva i klijent na početku nateran da detaljnije objasni šta tačno želi da se dešava u tom procesu.
Inače, dok ti uradiš sve to gore opisano neko drugi je napravio good enough software i prodao ga sedam puta dok se veseliš u svom super kontrolisanom CMM/ISO sertifikovanom procesu.

Hm biće da je ovde QA izjednačen sa waterfall metodom razvoja softvera. Opet greška ... QA postoji u bilo kojoj metodologiji ... ima ga i u Agile-tu ... i u RUP-olikim pristupima ... a naravno i u "vodopadu". Ne primenjuje se svuda na isti način ali nigde se ne svodi ni samo na testiranje. Prisustvo QA ne znači apsolutnu kontrolu svakog dokumenta, svake linije koda, svakog ekrana, menija, dugmeta. Nivo dokumentacije zavisi od mnogo faktora ali često se baš kojekakve XP-Agile metodologije koriste više kao izgovor za ono što developeri najviše mrze ... pisanje bilo kakve dokumentacije. E naravno tu opet ima caka ... sve osim lupanja po IDE-u usporava razvoj ... ma pustiću i klijenta da gleda sve što pravim (daleko ga bilo da sam protiv modelovanja kao načina za prikupljanje korisničkih zahteva ... ovde mislim baš na ono ... evo sedi sa nama ... ili evo ti pristup našem environment-u) ... i sve mi to nabudžimo, klijent srećan i zadovoljan ... ma čak nas ne smara ni sa kojekakvim auditorima ... legnu i pare na račun ... i za par meseci pojavi se potreba da se u softveru nešto promeni ... oni koji su ga razvijali su kojekude na drugim projektima ... neki napustili i firmu ... promenio se i klijentov predstavnik ... e super ... treba da se promeni samo jedna mala maleeecka funkcionalnost ... i BAAAAM regresije krenu da niču na sve strane a više niko ne zna koji su bili originalni zahtevi i šta je sa čim sve povezano. Novi ljudi krenu da kopaju po source-code-u i samo prave više i više brljotina.
Kao i u svemu ostalom kvalitet procesa (u realnom životu) je određen rizikom i posledicama eventualnog otkaza, i deli se (grubo, ali primereno) na kategorije: 1) neko može da pogine, 2) neko može da izgubi pare, 3) neko može da se iznervira 4) sve ostalo, pa se te kategorije dodatno parametrizuju.

... ili da to sve prevedemo u pare ... U kvalitet treba uložiti taman toliko da nam ti troškovi budu jeftiniji od očekivanih troškova nepovoljnih posledica. Kad već spomenu ljudski život "kao najveće bogatstvo naših naroda i narodnosti" to me je podsetilo na prezentaciju Test strategije klijentima iz jedne prilično velike banke (ne ovdašnje). Krenem ja sa sličnom pričom, tj. kakva je margina greške koju planiramo da detektujemo i "pohvalim se" kako sam prethodno radio kao QA inženjer u Ratnoj Mornarici gde je margina najmanja moguća zbog gubitka ljudskih života kad videh da oni počeše da se mršte i ja se brže bolje izvukoh kako ćemo za njih tu marginu i još više da smanjimo (u poslednji čas skapirah da je bankarima ljudski život samo "dozvoljeni trošak" a da je gubitak para gori nego gubitak života)
U skladu sa tim se kroji i proces tj. prateći Q&A.

I eto ... ja se ubih da objasnim šta je QA a opet postadoh Questions & Answers

Svi volimo kad sve radi super, ali svakako nećeš uložiti iste resurse u yet-another-RSS-reader i softver za kontrolu industrijskog robota koji može da spljeska radnika o zid (dešavalo se) iako se radi o verovatno približno istom broju linija koda.

Aj'mo ponovo na temu ovog bloga. Ovde se ne radi o STR u osnivanju gde vlasnik traži od komšijinog sina Perice da mu napravi program za vodjenje zaliha, nego o Standard & Poor's ... firmi koja može da navede nekog da kupi celu našu državu za džeparac (mada ko bi nas kupovao i zašto). E a ta ista firma napravi gadnu opaljotku 2 puta u vrlo kratkom roku i posle se vadi na programere i testiranje. Pa ako su stvarno štedeli na QA onda je to ravno kriminalu. Svi, ama baš svi klijenti tog tipa (što finanansijski, što iz firmi iza kojih stoji država sa svojim ugledom ... ne naravno naša) sa kojima smo radili su nas na CAT-u istresali iz gaća po pitanju testne (a i druge) dokumentacije i to tako što dovedu auditora koji evidentira svaki papirić vezan za proces izrade. Malo mi je neverovatno da su S&P kupili "good enough software" zato što su štedeli na "tenderu". Nego kad smo kod troškova kvaliteta ... ako ćemo pravo i nema neke bitne razlike izmedju Mercedesa i Juga ... imaju volan, 4 točka, motor, gepek, šasiju, limariju ... jedina razlika je u kvalitetu materijala i izrade ... a o tome neko mora da vodi računa. Naravno da kvalitet košta!
Inače, problem testiranja po meni nije što nije obavezan predmet nego što se generalno percipira kao "aktivnost nižeg reda" i ljudi ga uglavnom vide kao eventualnu usputnu stanicu tj. način da negde budu primljeni "dok ne naiđe nešto bolje", što je po meni suludo

No dobro ... mi koji smo se opredelili za tu specijalnost smo na to naviknuti ... a naviknuti smo i na to da nas svi u firmi mrze (ko može da voli nekoga ko ih "tužaka" project manager-u i klijentima što su nešto uradili pogrešno). A ni PM-ovi nas ne vole zato što donosimo "loše vesti". A još kad se setim "rane faze" i pitanja "a kakav je kvalitet build-a ... šta ... ima toliko grešaka ... pa jel' to mnogo ozbiljno? ... jel' može to malo da se ulepša? ... klijent će se ljutiti ako mu ne isporučimo build danas" ... ja sam ih na to usmeravao na odgovarajuću referentnu ustanovu sa zvonima i krstovima na krovu i rek'o im da tamo daju blagoslove a da je naš posao da kažemo šta ne radi.

- to je vrlo složen, izazovan i zanimljiv posao koji zahteva specijalan skup veština, npr. dobar tester mora da bude i okej programer pošto (ako je dobar) skriptuje i automatizuje koliko može. Itd. itd.

Bez uzbudjenja svakako nije ... pogotovo kad' stigne prvi build na nekom projektu. Često možemo jedino da uzmemo onu omču sa slike i da je stavimo oko vrata.

Inače, nivo programerskih veština zavisi od nivoa testiranja. Unit testing zahteva izuzetno poznavanje jezika zato što često mora da "kopa" po kodu koji je neko drugi pisao (zato se obično ovo testiranje i očekuje od autora koda ... ili kao kod nekih "extremnih Agile" pristupa gde jedan kuca a drugi gleda) ... link/integration testiranje zahteva poznavanje više jezika ali i komunikacionih protokola ... funkcionalno i sistemsko naglasak stavlja na biznis znanja ... security i PEN zahtevaju ekspertizu iz mreža, OS-ova, protokola ali i neprestano praćenje informacija o "rupama" koje su otkrivene u operativnim sistemima ili 3rd party aplikacijama ... performance / load još i dobro poznavanje administracije baza ... ali sve specijalnosti zahtevaju da se osoba stavi u poziciju korisnika softvera a ne onoga ko ga pravi (nešto što inženjeru može da izgleda sasvim "logično" krajnjem korisniku može da bude neupotrebljivo) ... sa automatikom je isti slučaj kao i sa ovim specijalnostima ... što je bliže korisniku - manja korist od automatike (čik da vidim nekog ko će automatikom da otkrije layout issue koji se javi u jednom browser-u a ne javi u drugom)
Da ne prođe bez Geralda M. Weinberga, preporuka za knjigu: Perfect Software and Other Illusions About Testing.

A ako se neko slučajno zaje*e pa odluči da "postane" QA inženjer ... evo i moje preporuke ...
Rex Black, "Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing"
Aleksandar Vasović Aleksandar Vasović 14:53 17.11.2011

svako gresi

Ili sto bi rekao Dobri Vojnik Jozef Svejk (Jaroslava Haseka, a u prevodu Stanislava Vinavera):

"Svako gresi i gresice dok je ziv, kao onaj livac Adamec iz Dankovke kad je omaskom popio sonu kiselinu."
Dragan Pleskonjic Dragan Pleskonjic 17:38 17.11.2011

Re: svako gresi

Da, svako greši. Međutim, za ovaj slučaj, sa Standard & Poor's i kreditnim rejtingom Francuske, mnogi misle da su možda malkice namerno pogrešili.

Ko će ga znati, možda jeste, a možda je i slučajno.
maksa83 maksa83 18:21 17.11.2011

Re: svako gresi

Dragan Pleskonjic
Da, svako greši. Međutim, za ovaj slučaj, sa Standard & Poor's i kreditnim rejtingom Francuske, mnogi misle da su možda malkice namerno pogrešili.

Ko će ga znati, možda jeste, a možda je i slučajno.


"E pa hoće centrala jednom da pogreši ali neće sto puta..."



Dragan Pleskonjic Dragan Pleskonjic 12:07 18.11.2011

Re: svako gresi

maksa83
"E pa hoće centrala jednom da pogreši ali neće sto puta..."


Evo opet centrala pogrešila (drugi put u 7 dana, na sličan način). Ovaj put je u pitanju Brazil:

S&P error on Brazil rating is 2nd miscue in a week

Citat:

Nov 17 (Reuters) - A week after erroneously reporting it had slashed France's AAA credit rating, Standard & Poor's slipped up again on Thursday when it got its new long-term rating for Brazil wrong.


Dal' je greška il' namera?
Milan Novković Milan Novković 13:05 18.11.2011

Re: svako gresi

Dal' je greška il' namera?

Uvek je moguće da je greška, naravno.

Ali evo paralele, uz pričicu, pa možemo da pojedinačno verujemo u različite mogućnosti:

- U investicionom bankarstvu ima neverovatno pametnih ljudi, kao što u šahu, npr, ima majstora, internacionalnih majstora pa velemajstora.

- I oni imaju ogroman novac kojim upravljaju.

- Taj novac nije njihov pa mogu da popuste neke kočnice koje bi čovek očekivao.

- I tim ljudima je posao da prave novac, po uspehu su i plaćeni.

E sad, dovoljna je blogerska mašta pa da se zamisli koliko je verovatno da majstor u šahu napravi previd ekvivalentan ovome što se sad dešava - npr ne vidi da mu je pešak napao topa pa izgubi topa tek tako. Ove S/P greške jesu banalne, zar ne. Ne pričamo o desetinama hiljada država na ovom svetu pa da sad buggy software mora da automatski publišuje promene u creditnom rejtingu država, bez da nekoliko majstora, internacionalnih majstora i velemajstora to provere.

Kako sad "majstorski kandidat" u viđenju kospiracije na svim estima može da razmišlja:

- Ono sa Francuskom je presedan i to opasan i ako je neko znao da se desila "greška" pre ostalih mogao je da napravi ogroman novac. Ovde se ne radi akcijama, koje su "dečja" igra prema obveznicama, nego je tih obveznica izdato na trilione (Francuzi su iz idali preko hiljadu milijardi evra).

Blogeri su već pomenuli short selling - čista manipulacija.

Ali ima i kupovanja obveznica iz novih emisija. Te obveznice treba "dizajnirati", tj odrediti veličinu kupona, npr (kamata) tako da se one na tražišti prodaju. Iza prodaje su često, najčešće underwriters - velike finansijske institucije koje u ime vlade prodaju obveznice svojim klijentima, a ako to ne uspeju same ih kupuju (hence the name underwriter).

E sad, ako je kupon juče bio 4% a danas 5% taj 1% na milijardi evra donosi 10 miliona ako se obveznice drže dok ne isteknu. Ako će ove godine Francuska da refinansira 100 milijardi (nagađam) obveznica 1% od toga je milijarda.

A novac ume i brže da se zaradi, pa u većem iznosu na sekundarnom tržištu - kako se završi sa primarnom emisijom i prodajom pa se obveznicama počne trgovati na berzi. Tj zamisli sve se smiri, kažemo ok je Francuska i kupon na novim obveznicama padne na 2%, tako i razne međubankarske kamate (sve je ovo priprosta priča).

Ako su onomad obveznice plaćale 5% i imale nominalnu vrednost 100 svaka u ovo novo, 2% vreme ide logika: ne može nešto što plaća 5% godišnje, prodato po ceni od 100 kad su kamate bile 5%, da ima istu tu vrednost od 100 u vreme kad su ostale kamate 2%. Nego tim starijim obveznicama skače cena - recimo na 115.

Ako se 100 milijardi iz 2011. proda po ceni od 115, tj za 115 milijardi u 2013. napravljeni profit je 15 milijardi evra.

Radi se o tolikom novcu da je ogroman deo biznisa banaka tipa Goldman S, JP Morgan i sličnih lobiranje i infiltriranje u razne druge organizacije, plaćanje (na razne legalne načine, naravno, samo biti neegzekutivac u upravnom odboru raznih institucija se meri stotinama hiljada godišnje, uz sastanke nekoliko puta godišnje kao jedinom obavezom, pa obećavanja raznih poslova, zapošljavanje familije i rodbine, davanja poslova odgovarajućim firmama itd - da se ne zanose ljudi u Srbiji kako smo mi lideri u raznim "šemama"

- Kako god da se pogreši u rejtingu onaj ko zna o grešći pre većine ostalih može da pravi pare - cene postojećim brazilskim obveznicama će da skaču, npr, pa je taj neko mogao da ih kupi unapred

Itd, ... da ne preterujem sa veselim pričicama
Dragan Pleskonjic Dragan Pleskonjic 13:38 18.11.2011

Re: svako gresi

Milan Novković

- Kako god da se pogreši u rejtingu onaj ko zna o grešći pre većine ostalih može da pravi pare - cene postojećim brazilskim obveznicama će da skaču, npr, pa je taj neko mogao da ih kupi unapred


Mislim da bi dobar korak nadzornih tela i komisija bio da provere da li se neko ovajdio koristeći Short Sell i slične stvari u ovim situacijama (i ako da, ko je to bio). Ako ima takvih koji su "gledajući slučajno u kristalnu kuglu", došli do saznanja da mogu da naprave dobre pare, a to je baš "koincidiralo" sa greškama S&P, onda bi morali da to objasne.

Doduše, to nije naš problem.
Milan Novković Milan Novković 13:57 18.11.2011

Re: svako gresi

neko

Neko, kad su masters of the Universe u pitanju, nije čestica nego talasna funkcija
a_jovicic a_jovicic 14:32 19.11.2011

Re: svako gresi ... i ko kome!?!

Dragan Pleskonjic
Dal' je greška il' namera?

Kao i u svakoj dobroj detektivskoj priči treba samo otkriti ko je imao motiv!

A evo mog skromnog priloga istraživanju motiva ...

Eurozone debt web: Who owes what to whom?

... tj. ko kome tu šta?!? Prilično lep grafički prikaz ko kome duguje i koliko ... i zašto je jedino Grčka trenutno u go*nima (jes' da oni duguju drugima najmanje al' njima niko ništa ne duguje). Obratiti pažnju i na mighty USA!
Dragan Pleskonjic Dragan Pleskonjic 14:48 19.11.2011

Re: svako gresi ... i ko kome!?!

a_jovicic
Eurozone debt web: Who owes what to whom?

... tj. ko kome tu šta?!? Prilično lep grafički prikaz ko kome duguje i koliko ... i zašto je jedino Grčka trenutno u go*nima (jes' da oni duguju drugima najmanje al' njima niko ništa ne duguje). Obratiti pažnju i na mighty USA!


Zanimljivo, hvala za link.

Interesantno je i ovo: Detailed tables on preliminary locational and consolidated banking statistics at end-June 2011

(tu ima i Srbija).
a_jovicic a_jovicic 14:57 17.11.2011

Softver i gradjevina

Par "pošalica" na temu projektovanja i projekata ...

Da su arhitekte projektovale zgrade k'o što mi softverski inženjeri projektujemo softver, sad' na Zemlji ne bi našli kamen na kamen (a kamol' neke piramide, rimske akvadukte i koloseume, il' kineske zidove)

U svakom projektu postoje 3 varijable: resursi, vreme i kvalitet. Samo dve mogu da se fiksiraju. Treća ide sama kako joj ćefne.

Pareto princip (koga svi inženjeri uče ... ali ga svi brzo i zaborave) kaže: 80% projekta se završi za 20% vremena. Za finalnih 20% se potroši 80% vremena.

Dragan Pleskonjic Dragan Pleskonjic 15:29 19.11.2011

France’s fragile AAA rating

Jučerašnji Washington Times u tekstu pod naslovom GHEI: France’s fragile AAA rating kaže:

Once mighty Old World economies may fall as the eurozone debt crisis continues to spread. On Nov. 10, Standard and Poor’s accidentally issued a warning message to subscribers that France’s prized AAA credit rating was to be downgraded. S&P apologized for the “technical error,” but it’s becoming increasingly apparent the French have a AAA rating in name only.

Arhiva

   

Kategorije aktivne u poslednjih 7 dana