Ne tako davne 2008. godine, posetio sam međunarodnu konferenciju iz oblasti testiranja softvera, na kojoj sam odslušao predavanje prof. Patricia McQuaid pod nazivom “Software Disasters – What Have We Learned?”. Da li je ovo predavanje ostavilo veliki utisak na mene? Svakako. Zapravo, ovo je jedino predavanje kojeg se sa tog događaja u potpunosti sećam.

Tada, sa deset godina iskustva u različitim IT ulogama, ali i kao neko ko je tek zagrebao svet testiranja softvera, učestvovao sam na projektu iz oblasti medicine. A na predavanju, pored nezaobilaznih defekata povezanih sa svemirskim letelicama (Mars Polar Lander, Ariane 5), bio je spomenut i neslavni predstavnik iz sveta medicine, Therac-25. Ovaj uređaj je bio kontrolisan od strane softvera koji je imao grešku u konkurentnom programiranju. Zbog te greške uređaj je ponekad pacijentima davao doze zračenja koje su bile stotine puta veće od dozvoljenih, što je rezultiralo smrću ili ozbiljnim povredama.
Posle tog predavanja testiranje softvera gledao sam iz neke druge perspektive. Stalno sam se pitao, koliko će greška koju nisam primetio uticati na živote ljudi, korisnika medicinskog softvera koji smo moje kolege i ja proizveli. Pitanja o nivoima rizika, kontekstu, strategiji i pristupu, procesu, tehnikama, alatima, tipovima i nivoima, dubini i širini testiranja i sl. nisu više imala nikakve veze sa softverom i test aktivnostima, već sa zdravljem i životima ljudi.
Slažem se, ne utiču svi softverski defekti na ljudske živote, bar ne direktno. U finansijama transakcije novca je praktično nemoguće zamisliti bez softvera kao posrednika. Međutim, i pored velike posvećenosti u razvoju finansijskih aplikacija, ponekad dolazi do ogromnih novčanih gubitaka, pa čak i do gašenja kompanija. Jedan spektakularni događaj doveo je firmu Knight Capital Group do propasti. “Mali kvar”, kako su ga prozvali u medijima, u novoj verziji softvera bio je uzrok gubitka od 440mil. dolara u svega 45 minuta “automatske” trgovine na berzi. Za manje od sat vremena zbog greške u softveru oko 1400 ljudi je ostalo bez posla u preko dvadeset država.
Severni Ohajo, 2003. godina. Jedan od visoko naponskih strujnih vodova oslabio je, zapetljao se u drveće i pao. Ništa toliko neobično, dešava se. Ipak, za posledicu je imao nestanak struje za 50 miliona ljudi u severno-istočnoj Americi u trajanju od nekoliko dana. Totalna šteta je procenjena na oko 7-10 milijardi dolara, a sve zbog jednog bug-a u softveru. Naime, problemi sa radom strujnog voda trebali su da aktiviraju alarm u kontrolnoj sobi kompanije FirstEnergy u Ohaju, ali je alarm zatajio.
Neke druge greške u softveru zadovoljne korisnike mogu da pretvore u frustrirane koji će napustiti vaš sajt, aplikaciju ili uslugu. Odlazak korisnika rezultiraće lošijom zaradom, potencijalnom refundiranju sredstava i srozanom reputacijom. Softverske greške ruše poverenje u vas i vaš kredibilitet, što može da odbije potencijalne nove korisnike.
Naravno, nije sve tako crno. Najveći broj grešaka razvojni timovi na vreme otkriju i uklone. Ali o takvim uspesima ne čitamo u novinama. To su neke druge priče, za knjige, blogove ili konferencije poput one sa početka teksta.
Kakvo je vaše iskustvo? Kada testirate softver da li se i vi zapitate: “Koliko košta moj (propušteni) bug?”
Podelite Vaše mišljenje sa nama na Linkedin-u