Preskoči na sadržaj
Ista raja. Nova runda.
GAMERZ.ba — REBORN
Diskusija

Testiranje programa

139 pregleda · 5 odgovora · otvorena 05.08.2009. u 01:35

Evo napisao sam nesto, ako koga interesuju ove stvari neka procita..

Posao programera ni u kom slucaju nije zavrsen onog trenutka kada se kompletan program napise i prevede. Nakon te faze, dolazi faza testiranja programa, koja je mozda i jos teza nego sama faza izrade programa (kodiranja). Cilj ove faze je pronaci i otklonuti greske u programu.

Kako je testiranje programa slozen i mrkotrpan posao, on se obicno odvija u tri faze. U prvoj fazi, koja se naziva rucno testiranje, algoritam (apstraktni program) se testira rucno, sa papirom i olovkom. To znaci da se za predlozeni algoritam rucno zadaju neki ulazni podaci (obicno male velicine), i vrsi se provjera da li algoritam daje ocekivane izlazne rezultate.

Druga faza testiranja naziva se testiranje po principu crne kutije. U teoriji sistema pod crnom kutijom se smatra sistem za koji se zna koje funkcije obavlja. U ovoj fazi, testiranje izvodimo na programu koji je vec napisan i preveden, tako da je spreman za izvrsenje na racunaru. Pri tome pretpostavljamo da nam nije poznat nacin na koji program radi, vec samo sta bi on trebao da radi.
U drugoj fazi testiranja mogu se detektirati greske koje su posljedica pogresno upotrijebljenih elemenata programa. Medjutim, mnoge greske nije moguce otkriti u ovoj fazi. Stoga je pozeljno, ukoliko je to ikako moguce, obaviti i trecu fazu testiranja, poznatu pod nazivom testiranje po principu bijele kutije. U ovoj fazi pretpostavljamo da nam je funkcionalnost programa poznata u potpunosti, i cilj nam je da odaberemo takve ulazne vrijednosti koje nam garantiraju da ce se svaki, pa i najsitniji ogranak algoritma izvrsiti barem jedanput. Nazalost, trecu fazu testiranja je, osim u rijetkim slucajevima, gotovo nemoguce u potpunosti provest, narocito kada je program razgranat.

Navescemo jedan veoma poznat primjer iz racunarske historije. Jedna od letjelica iz Apolo serije, prilikom lansiranja, umjesto na Mjesecu zavrsila je u Tihom okeanu (srecom, bez ljudskih zrtava).
Letjelicom je upravljao program pisan u jeziku FORTRAN, dug oko 200000 linija koda. Na jednom mjestu u programu, programer je napisao naredbu


DO 10 I = 1.3

-Umjesto toga naredba je trebala da glasi:


DO 10 I = 1,3


Dakle, razlika je u jednom jedinom znaku (zarez umjesto tacke). Problem je bio u tome sto je i neispravna naredba bila sintaksno ispravna u jeziku FORTRAN, tako da kompajler nije mogao da prijavi gresku.


-Cilj testiranja nije samo utvrditi kako se program ponasa pri unosu ispravnih ulaznih podataka, vec i sta se desava kada su ulazni podaci neispravni. Naime, moze se desiti da program radi korektno dok su ulazni podaci korektni, ali da se ponasa potpuno haoticno ukoliko mu se ponude pogresni podaci.
Za sve ostalo ljudi koriste beta verzije da se nebi mučili.
Box testing je samo mali dio testiranja (ozbiljnijih softverskih sistema).
nc je napisao/la:
Box testing je samo mali dio testiranja (ozbiljnijih softverskih sistema).
Da, znam..
Imao sam ja jos ovoga da pisem, ali sam skratio malo.. =)
Ovo si prepisao iz časopisa INFO, neznam tačno koji mjesec ali nije bilo davno....i da upravu si
Izvini ali, zašto bih ovo trebalo mene ili ostale da zainteresuje ?

Mogao si barem staviti u odgovarajući podforum...

Prijavi se da bi odgovorio/la na ovu temu.