You are on page 1of 6

Modeliranje i sumulacija procesa testiranja programskih proizvoda

Zdenko Marinčić, Nenad Hećimović, Lovre Hribar


R&D
Ericsson Nikola Tesla
Krapinska 45, Zagreb, Hrvatska
Telefon: +385 1 3654372, E-mail: Zdenko.Marincic@ericsson.com

Sažetak – U ovom radu opisat će se modeliranje i programskog proizvoda. S vremenom se razvija i


simulaciju procesa testiranja provedena u studijskom poboljšava, a time i raste važnost programskih
slučaju u telekomunikacijskoj kompaniji. procesa kao grane programskog inženjerstva. Cilj
inženjerstva programskih procesa je poboljšanje
programskih procesa, čime se posredno poboljšava
I. UVOD kvaliteta programskih proizvoda i smanjuju
troškovi proizvodnje.
Programski proces testiranja predstavlja glavno
područje za poboljšanje kvalitete programskog
proizvoda jer su mu inherentni mehanizmi za II. OPĆENITO O TESTIRANJU SOFTVERSKIH
ispravljanje neispravnosti i provjeru funkcionalnosti APLIKACIJA
programskog proizvoda. Dinamička priroda okoline
u kojoj se razvija neki programski proizvod IEEE/ANSI definicija [1]:
zahtijeva mjerenja i stalna poboljšanja programskih « Testiranje softverske aplikacije ili programa je
procesa. Simulacija omogućava njihovu efikasnu proces u kojem se pod strogo definiranim uvjetima
analizu i rezultira performansama procesa na analizira izvedba (rad) jedne rutine i/ili cijele
temelju kojih se mogu predložiti optimalna aplikacije. Cilj testiranja je uočiti i ispraviti greške
poboljšanja. koje uzrokuju da krajnji rezultat nije prema
Ljudi razvijaju programske proizvode i u tome zahtjevima programa ili aplikacije te u skladu s
često dolazi do određenih neispravnosti. U svakom propisanim naredbama (instrukcijama).»
standardnom komercijalnom softveru postoje
greške. Greške su skupe, neke više od drugih.
A. Osnovni pojmovi
Tester ne može spriječiti njihovu pojavu, ali ih
može locirati i ispraviti u ranoj fazi, osobito one
kritične. On mora razumjeti i imati znanja  Tester – osoba koja testira softverski
implementirati pripadajuće tehnike testiranja. program ili aplikaciju
Ispitivanje svih ulaznih elementata koji bi mogli  Test uzorak (test case) – ulazne domene
rezultirati greškom u softveru je nemoguće. koji omogućuje jedno samostalno
Potrebno je odabratati reprezentativne ulazne izvođenje testne jedinice
elemente i pomoću njih izvoditi testiranje. Njome  Skup test uzoraka (test suite) – programi ili
se mogu otkriti neispravnosti u kodu, ali ne i rutine povezani u jednu logičnu cjelinu
njihovo nepostojanje. Cilj testiranja je pronaći  Otklanjanje (debugging) pogrešnog kôda -
neispravnost programskog koda i otkloniti ih. analiza kôda radi lokaliziranja i otklanjanja
Brzi razvoj računalne tehnologije doveo do sve neispravnosti.
većeg broja programskih produkata na tržište. Ono  Neočekivani prestanak rada programa
postaje jako konkurentno i proizvođači se natječu (failure) – izvođenje programa ne odvija
tko će prije izbaciti novi proizvod koji će biti se prema propisanim zahtjevima
kvalitetan i odgovarati zahtjevima korisnika. Da bi  Pogreška u softverskom programu (fault,
imao te karakteristike on mora biti kvalitetno bug) – programski kôd koji uzrokuje
testiran. Danas je nezamislivo razviti neki odstupanje od predviđenog rada programa
programski proizvod i ne testirati ga. Ne postoji  Test specifikacija – dokument koji
savršeni razvojni proces i vjerojatnost je vrlo velika propisuje što i kako testirati
da greške postoje.  Test jedinica (test unit) – programska
U zadnjih par godina mnogo je istraživanja cjelina koja se testira
posvećeno testiranju. Razvile su se metode,  Funkcionalni test (function test) –
programska pomagala i tehnike. Proces testiranja testiranje koje se izvodi na temelju
narastao je iz nečeg što je proizlazilo iz osnovnih funkcionalnosti softverskog programa
akcija ocjenjivanja izrađenog programskog
proizvoda u važan dio cijelog ciklusa razvoja
 Sustavno testiranje (system test) –  važni podaci bit će izgubljeni,
testiranje koje obuhvaća cjelokupnu  funkcioniranje (rad) aplikacije bit će
aplikaciju i pojedinačne programe (rutine) narušen,
koje čine neki sustav  usluga prema korisniku bit će nekvalitetna,
 Osnovni test (basic test) – testiranje koje  aplikacija će biti komplicirana za
se izvodi za jednu programsku jedinicu održavanje,
 izvedba (rad) aplikacije bit će ispod
B. Testiranje zadovoljavajuće razine,
 aplikacija se neće moći povezati s drugim
Kao i svaki proces tako i testiranje treba aplikacijama i sustavima.
promatrati s aspekta efikasnosti. U tu svrhu
potrebno je odabrati najbolju metodu da se analizira Bilo koji od navedenih gubitaka jednostavno
i ocijene rezultati testiranja za daljnja poboljšanja i znači neuspjeh softverske aplikacije što
primjenu određenog programa ili aplikacije. možedovesti do neželjenih posljedica kao sto su
Uspješno i efikasno testiranje obuhvaća planiranje, financijski gubitci, neispunjenje rokova pa i stečaj.
vrijeme, sredstva i obvezu. Za to su zaduženi Prema veličini rizika će se zato i odrediti i izvršiti
specijalisti koji organiziraju i izvode testiranje. Oni testiranje, ocijeniti i primijeniti metoda testiranja.
su, također, zaduženi za pripremu test specifikacija, Za svaki softverski program mora se primijeniti
metodologiju, test uzoraka, redoslijed izvođenja, najefkasnije testiranje koje će osigurati pouzdanost i
predviđanje rizika, analiza, pronalaženje i ispravak povjerenje korisnika programa (aplikacije). Ovo
grešaka te daljnja poboljšanja. zvuči jednostavno, međutim dosadašnje iskustvo
Iako se primjenjuju različite metode i postupci govori da može biti izuzetno veliki broj test uzoraka
testiranje se uglavnom svodi na sljedeće: za samo par linija kôda. Ako bi izvršavanje svakog
test uzorka iznosilo pola sekunde, onda bi za neku
 Testiranje počinje od najmanje programske veću aplikaciju trebalo skoro stoljeće da se izvrše
jedinice (rutine) i završava s cijelom svi mogući test uzorci. Ovo ne znači da se mora
aplikacijom. odustati od testiranja. Jednostavno nema dovoljno
 Metoda i postupci testiranja se prilagođuju vremena da se sve u potpunosti testira. Odluka o
zahtjevima i potrebama aplikacije ili tome što će se testirati mora biti temeljena na
programa. rizicima. Kada se rizik koristi kao osnova za odluku
 Testiranje vrše specijalisti koji su razvili i što će se testirati tada je to racionalno razmišljanje
primijenili softver. Ovisno o veličini koje za rezultat ima fokus i koncentraciju testiranja
aplikacije može biti uključeno i više osoba. u najkritičnijim dijelovima aplikacije.
 Pronalaženje i ispravak grešaka Jedna od osnova za odabir testiranja je dio kôda
(debugging) mora biti sastavni dio svakog koji se najčešće izvodi. Ako se tu nalazi greška,
testiranja. frekventnost izvršavanja tog dijela kôda rezultirat
će neuspjehom ili promašajem u aplikaciji
Bez obzira na to što se testiranje sastoji od vrlo (programu). Primjerice, ako se isti dio kôda izvodi
temeljitih priprema, metoda i postupaka ono ipak (ponavlja) u beskonačnoj petlji, i u tom dijelu kôda
ima određene rizike. Ti rizici se moraju predvidjeti se nalazi greška, ona će se pojaviti svaki put kada
da bi se postigla što veća pouzdanost i efikasnost. program prođe kroz taj dio. Stoga je važno da se
takva greška što prije ispravi.
C. Rizici u testiranju programskih proizvoda
D. Isplativost
Rizik je stanje koje može rezultirati gubitkom.
Cijeli problem u riziku je vjerojatnost da će se Efikasno testiranje je najbolji način pronalaženja
gubitak dogoditi. Rizične situacije uvijek postoje grešaka gledano s financijskog aspekta. Stoga je
iako se gubitak možda nikada neće dogoditi. potrebno razmotriti sve moguće gubitke uzrokovane
Naprimjer uvijek postoji rizik od požara, ali se neuspjehom aplikacije i na temelju toga planirati
požari rijetko dogode. S obzirom na to da postoji testiranje. U tom smislu treba razmotriti i odgovoriti
mogućnost od požara moraju se poduzeti određene sljedeća pitanja:
preventivne mjere kako bi se smanjila vjerojatnost ► Da li se znaju krajnji troškovi testiranja?
da do njega dođe. Rizici se ne mogu eliminirati, ali ► Kako će testiranje utjecati na vrijeme razvoja
se zato može smanjiti vjerojatnost da se gubitak aplikacije (softverskog programa)?
dogodi. ► Koliko sredstava i vremena odvojiti na
Kao što je prethodno spomenuto testiranje je testiranje?
proces kojim se postiže da je primjena softversikih ► Koje metode i softverske tehnike primijeniti za
aplikacija pouzdana, tj. smanjenje predviđenih i testiranje?
nepredviđenih grešaka. I unatoč svim poduzetim ► Je li testiranje isplativo?
mjerama uvijek postoji vjerojatnost da : Kada dođe do postavljanja ovih pitanja u nekoj
organizaciji, raskorak između akcija i svijesti gdje
se problem nalazi može biti velik. Taj problem je Da bi tester dao kvalitetnu ocjenu testiranja
problem menadžmenta i postoje mnoge studije o predlažu se sljedeća pitanja koja bi on morao
tome[1]. postaviti na kraju svoga rada:
Za efikasno testiranje postoji ravnoteža između
kvalitete softvera i troškova utrošenih na testiranje.  Da li je testirao sve opće poznate greške?
Premalo testiranja smanjuje kvalitetu softverskog  Da li je testom pokriosav kôd?
programa, a time i manje troškove. Previše  Da li je predvidio sve moguće uzroke koji
testiranja daje visoku kvalitetu, ali i visoke će dovesti do prekida ili nepredviđenog
troškove. Ovaj problem prikazan je na slici 1. funkcioniranja (rada) programa?
 Da li je koristio sve ulazne podatke?
 Da li je predvidio i isprobao sve moguće
izvedbe programa koje bi mogao i
korisnik?

Ova pitanja su uvijek korisna jednom testeru


pomoću kojih on sam može odrediti u kojem
trenutku testiranje prestaje i kada je programska
aplikacija spremna upotrebu i isporuku.

III. OPĆENITO O SIMULACIJI I


MODELIRANJU

U posljednjih nekoliko desetljeća došlo je do


Slika 1. Krivulja troškova testiranja velikog razvoja u softverskoj djelatnosti i paralelno
s time potražnja korisnika za boljim, bržim i
Većina problema vezana uz testiranje događa se iz jeftinijim softverom. Potražnja na tržištu osjetno je
sljedećih razloga: podigla razinu kompleksnosti softvera, a time one
koji rade na razvoju softvera da poboljšaju svoju
 Krivo se definira što će se testirati, kompetentnost. Istodobno, softverska djelatnost se
oslanja na razvoj računala, programske tehnike i
 Testiranje se izvršavalo u krivoj fazi
programske jezike. Pitanje koje se postavlja je kako
razvojnog procesa,
poboljšati procese u ovoj djelatnosti koristeći
 Koristile su se neefikasne tehnike
programske tehnike, cjelokupnu računalsku
testiranja.
tehnologiju i povećati kompetentnost onih koji se
bave razvojem softvera. Odgovor se nalazi u
Što je efikasnije pronalaženje grešaka to su i veće
primjeni simulacije u softverskom inženjerstvu.
uštede u razvojnom procesu i procesu održavanja.
Najpoznatiju definiciju simulacije dao je Robert
E. Shannon:
E. Izvođenje testa
“Simulacija je proces dizajniranja modela realnog
sustava i izvođenje niza ekperimenata na tom
Nakon izrade test specifikacije slijedi njeno modelu s ciljem razumijevanja ponašanja sustava
pretvaranje u izvedivi (izvršni) oblik, obično kao ili istraživanja različitih pristupa upravljanja
kôd. Izvršavanje testa je obično automatsko, ali isto sustavom.” [4]
tako koristi se i manualno izvršavanje. Kôd
automatskog izvršavanja koriste se programske A. Modeliranje sustava
tehnike u tu svrhu. One su napravljene tako da na
temelju test specifikacije same izvršavaju test, te Najvažnija komponenta u simulaciji je
prijavljuju otkrivene greške. modeliranje sustava. Stoga su definirani sljedeći
postupci kako bi se razvio vjerodostojan
F. Ocjena testiranja simulacijski model [3]:

Po završetku testiranja vrši se ocjena koja 1) Identifikacija problema – prepoznati i navesti


uključuje sve aspekte koji proistječu iz tog cijelog probleme u postojećem sustavu te postaviti zahtjeve
procesa. Svakako se treba razmotriti uspješnost i za promatrani sustav.
efikasnost testiranja. Jedan od važnih aspekata u 2) Formuliranje problema – odrediti granice
krajnjoj prosudbi je prihvaćanje krajnjeg rezultata sustava ili njegovog dijela koji će se promatrati.
od strane onih koji nemaju iskustva u testiranju, a Definirati ukupni cilj razmatranja i kvantitativne
trebaju to odobriti i prihvatiti. To su uglavnom kriterije na osnovi kojih će se uspoređivati i
korisnici i menadžeri. ocjenjivati različite konfiguracije sustava. Važno je
odrediti da li će se model koristiti za jednokratnu
odluku ili će se koristiti na dulje vrijeme. Također provjeriti da li postoje neke netočnosti u
se u cilju što boljeg definiranja problema mora podacima,
identificirati korisnik. ustanoviti postupak prikupljanja
3) Sakupljanje i obrada podataka iz stvarnog podataka u pogrešnom formatu i njihovu pretvorbu
sustava – prikupljanje podataka o specifikaciji u prikladni format,
sustava, ulaznim varijablama te o izvedbama spremiti podatke odvojene od
postojećeg sustava. Također se treba uzeti u obzir simulacijskog kôda.
vjerojatnost koja se odnosi na varijable i njhove 3) Verifikacija i strukturna validacija – ove dvije
raspodjele. metode se navode zajedno jer se tijekom faze
4) Formuliranje i razvoj modela – razvoj sheme i kodiranja modela obje izvode kontinuirano. Metode
dijagrama tijeka sustava, tj. kako entiteti prolaze verifikacije i strukturne validacije su:
kroz sustav. Nakon toga kreira se model prilagođen provjera kôda – prolaskom kroz kôd
simulacijskom programu. Ovdje se još uključuje provjerava se da li su primijenjeni pravi podaci i
provjera izvođenja modela prema danoj logika,
specifikaciji. vizualna provjera modela – neki od
5) Validacija modela – provjera da li izgrađeni načina vizualne provjere modela su: prolaženje kroz
simulacijski model uistinu odgovara realnosti. model događaj po događaj, zaustavljanje modela u
Validacija se provodi tako da se kao ulaz određenom trenutku, predviđanje sljedećeg
simuliranog modela koriste ulazne varijable iz događaja te njegova provjera uz ponovno
realnog sustava za koje su poznate izlazne varijable. aktiviranje, interaktivno postavljanje uvjeta kako bi
Nakon simulacije uspoređuju se dobiveni rezultati s se naglasilo izvođenje određenih problematičnih
onima iz realnog sustava. Ako se poklapaju tada je događanja, izoliranje pojedinih dijelova modela,
modeliran sustav valjan. praćenje kretanja pojedinog entiteta kroz model,
6) Dokumentacija modela za buduću upotrebu – provjera izlaznih rezultata simulacije uspoređivanje
kako bi olakšali ponovnu upotrebu modela za druge pohranjenih rezultata i s onim koji se očekuju.
namjene, dokumentiraju se ciljevi razvoja 4) Validacija cjelokupnog modela :
simulacijskog modela, pretpostavke korištene pri usporedba s realnim sustavom –
izgradnji te ulazne varijable. prikupljanje zastarjelih podataka ponašanja sustava
te uspoređivanje prosječne vrijednosti, raspršenost
S obzirom na to da simulacijski modeli podataka, distribucije podataka i odnosa ulaznih i
nadomještaju eksperimente na stvarnim sustavima izlazni veličina za stvarni sustav i model,
koji mogu biti jako skupi i kompleksni, oni moraju usporedba s drugim modelima – ako ne
osiguravati aproksimaciju stvarnog sustava kako postoje zastarjeli podaci onda se sljedeće metode
niti jedan zaključak izvučen iz njega ne bi bio primjenjuju: usporedba s matematičkim modelom –
pogrešan. U tu svrhu provodi se validacija gruba aproksimacija očekivanih rezultata uz
simulacijskog modela. upotrebu matematičkih formula, teorije
posluživanja i statističke analize, usporedba s
B. Metode verifikacije i validacije determinističkim modelom – uklanjanje svih
elemenata iz modela koji uzrokuju slučajnost,
Dok validacija provjerava da li je model ispravan usporedba s drugim simulacijskim modelima –
u odnosu na stvarni sustav, verifikacija provjerava usporedba s modelom koji je već verificiran i
da li je računalni model pomoću kojeg će se ocijenjen kao valjan na temelju ulaznih i izlaznih
realizirati simulacija ispravan u odnosu na podataka te njihovih odnosa[2].
konceptualni model. Putem tih procesa mora se
osigurati dovoljna ispravnost modela s obzirom na C. Simulacija diskretnih događaja
svrhu i ciljeve.
Metode verifikacije i validacije su sljedeće[3]: Simulacijom diskretnih događaja dobiva se
najbolji opis događaja iz realnog svijeta. Ta
1) Validacija konceptualnog modela – ne postoji simulacija spada pod vjerojatnosnu simulaciju kod
neka formalna metoda za validaciju konceptualnog koje se ulazni parametri mogu dobro opisati
modela. Najčešće se radi o proučavanju projektne funkcijama raspodjele vjerojatnosti te na osnovi
specifikacije. U tom se slučaju analiziraju pristupi njih upotrijebiti algoritme koji generiraju slučajne
modeliranju i ciljevima nekog projekta. Dokument vrijednosti. Simulacija diskretnih događaja
se kao izvještaj šalje svim važnim sudionicima s predstavlja model sustava koji se mijenja u
dobrim poznavanjem problematike te se od njih vremenu. Njegove varijable stanja se trenutno
prikupljaju povratne informacije o prikladnosti mijenjaju u odvojenim vremenskim točkama. Ti
modela. događaji mogu utjecati na stanje simuliranog
2) Validacija podataka – da bi podaci bili što sustava. Zbog mogućnosti mijenjanja dinamike
precizniji potrebno je: stvarnog sustava ova simulacija ima jako veliku
ispitati pouzdanost i vjerodostojnost važnost.
svakog izvora podataka,
Osnovne komponente od kojih se sastoje sve dokumentacije (dokumentacija vezana za ono što će
simulacije diskretnih događaja su [4]: se testirati), priprema test specifikacije i pomoć
manje iskusnim testerima u izradi test specifikacije.
1) Entiteti – uzrokuju promjene u stanju simulacije. U izvođenje testa definirano internim kompanijskim
Bez njih se ništa ne bi događalo. Imaju svoje procesom testiranja spadaju sljedeće podaktivnosti:
jedinstvene karakteristike, tj. atribute. Atributi su izvođenje testa, pomoć pri izvođenju testa manje
važni za razumijevanje izvedbe i funkcije entiteta u iskusnim testerima, evidentiranje greške i
simulaciji. regresijsko testiranje.
2) Aktivnosti i događaji – aktivnosti su procesi i Kod više iskusnih testera u pripremu test
logika unutar simulacije. Događaji su uvjeti koji se specifikacije definirane internim kompanijskim
pojavljuju u određenom vremenskom trenutku i procesom spadaju podaktivnosti: proučavanje
uzrokuju promjene u sustavu. Događaj kreiraju ulazne dokumentacije i priprema test specifikacije.
entiteti u interakciji s aktivnostima. Tri su osnovne U izvođenje testa definirano internim kompanijskim
vrste aktivnosti: odgoda (delay), rep (red čekanja) i procesom spadaju podaktivnosti: izvođenje testa,
logika. Odgoda je aktivnost u kojoj je izvršenje evidentiranje greške i regresijsko testiranje.
entiteta odgođeno za točno određeni vremenski Kod manje iskusnih testera u pripremu test
period. Rep je aktivnost u simulaciji u kojoj entitet specifikacije definirane internim kompanijskim
mora čekati neodređeni vremenski period. Logika procesom spadaju sljedeće podaktivnosti:
omogućava entitetu da utječe na stanja sustava kroz proučavanje ulazne dokumentacije, priprema test
upravljanje varijablama ili logikom odlučivanja. specifikacije i dorada test specifikacije. U izvođenje
3) Sredstva – ona su u simulaciji sve što ima testa definirano internim kompanijskim procesom
ograničenu vrijednost i kapacitet. To može biti npr. spadaju podaktivnosti: izvođenje testa, regresijski
broj ulaznih varijabli, broj testera, broj računala i sl. test i evidentiranje greške.
4) Globalne varijable – one se koriste kako bi se
pratile vrijednosti svih važnih faktora u simulaciji. B. Simulacija procesa u studijskom slučaju
Ove su varijable uvijek dostupne čitavom modelu
tijekom izvođenja simulacije. Model mreže repova transformiran je u
5) Generator slučajnih brojeva – služi generiranju simulacijski model primjenom grafičkog sučelja
slučajnih vrijednosti između 0 i 1. Te se vrijednosti simulacijskog softvera Micro Saint. Repovi su
koriste prilikom kreiranja vjerojatnosnih raspodjela. pridruženi onim čvorovima koji prikazuju
6) Kalendar – kalendar sadrži popis događaja koji aktivnosti posluživanja zahtjeva za modifikacijom
se trebaju dogoditi nakon početka simulacije. Ti koje se, zbog ograničenosti resursa procesa, ne
događaji ovise samo o vremenu a ne o uvjetima u odvijaju trenutno, nego se neko vrijeme provodi
simulaciji. čekajući. S obzirom da je proces dizajniran tako da
7) Vrijeme – vrijeme je varijabla koja je zajednička se neke aktivnosti nad istim zahtjevom izvode
svim simulacijskim modelima. sekvencijalno od strane istog poslužitelja, tim
. aktivnostima nije pridružen rep, jer se pretpostavlja
da poslužitelj obrađuje isti zahtjev od prve do
zadnje aktivnosti u dotičnoj fazi procesa bez
IV. SIMULACIJA STUDIJSKOG SLUČAJA prekida i bez čekanja.
Historijski podaci o projektu u studijskom
Studijski slučaj na kojem je provedena simulacija slučaju dobiveni su iz baze podataka o projektu i iz
i analiza procesa sastoji se od šest intervjua sa svakim od testera. Svi dobiveni podaci
testera. Testere prema razini znanja, uvršteni su u simulaciju za pojedinu aktivnost.
brzini rješavanja problema i iskustvu Ukupna simulacija je imala sto reputacija, što znači
dijelimo u tri skupine: eksperte, one da je u jednom pokretanju simulacijskog modela
koji su više iskusni i one koji su manje svaka pojedina. Vremenska jedinica koja se koristila
iskusni. Studijski test tim sastoji se od u simulaciji i u svim aktivnostima su sati. U svakom
jednog eksperta, dva više iskusna koraku simulirao se proces kroz vremensko
testera i tri manje iskusna testera. razdoblje od 12383 sata koje je ujedno i ukupno
vrijeme trajanja testiranja u projektu. Na osnovi
A. Opis aktivnosti u studijskom slučaju dobivenih podataka prilikom izvođenja simulacije
te njihovih malih odstupanja od podataka iz
Internim kompanijskim procesom testiranja stvarnog procesa može se zaključiti da se radi o
definirane su dvije aktivnosti za testere: priprema valjanom modelu koji kao takav čini dobar prikaz
test specifikacije i izvođenje testa. Ove dvije stvarnog procesa (tablica 1.).
aktivnosti obuhvaćaju niz podaktivnosti koje
detaljnije opisuju rad pojedinog testera. Tablica 1.
Kod eksperta u internom kompanijskom procesu Broj nađenih
Broj ulaza
testiranja za pripremu test specifikacije spadaju grešaka
Historijski
sljedeće podaktivnosti: proučavanje ulazne 73 45
podaci
Podaci dobiveni
74.61 46.71
procesa. U radu se koristio simulacijski programski
simulacijom paket Micro Saint koji sadrži razne mogućnosti
analize simuliranog procesa. Simulacijom su
Daljnjom analizom podataka koji su dobiveni omogućena brža i jednostavnija prikupljanja
putem simulacije dobilo se da je iskoristivost korisnih podataka koja bi u stvarnosti trajala puno
eksperta 0.784, više iskusnih testera 0.795 i manje duže. Na osnovi prikupljenih podataka provedene
iskusnih testera 0.641. Iz pretpostavke koje se su statističke obrade i analize, a omogućen je i
dobila putem intervjua da manje iskusnom testeru prikaz putem raznih dijagrama i grafova. Ti će
za isti posao treba dva puta više vremena od podaci otvoriti razne mogućnosti poboljšanja
eksperta, i jedan i pol puta više vremena od više dotičnog procesa u onim segmentima koji su prema
iskusnog testera vidi se da su manje iskusni testeri prikupljenim podacima na to ukazivali. Na taj način
najkritičniji dio procesa testiranja u studijskom će se ujedno smanjiti rizici ukoliko se krene u takav
slučaju. Manje iskusne testere treba što više eksperiment jer će se sva ispitivanja obavljati na
educirati da bi stekli odgovarajuća znanja, vještine i modelu bez uplitanja u stvarni proces.
iskustvo, a samim time bi se povećala efikasnost Rezultati koji su dobiveni provođenjem
cjelokupnog procesa. Više iskusni testeri imaju simulacije na modelu pokazali su da je model
visoku iskoristivost i kada se uzme u obzir da oni valjan, te da su na njemu moguće daljnje analize
naprave velik dio posla, omjer znanja i cijene koju procesa. Analizom studijskog slučaja došlo se do
se za njih mora platiti je najidealniji u procesu saznanja o nedostacima procesa, i to konkretno kod
testiranja u studijskom slučaju. Ekspert napravi manje iskusnih testera. Da bi se proces testiranja
najveći dio posla u studijskom slučaju i kraj toga programskih proizvoda poboljšao potrebno je što
pomogne u radu manje iskusnim testerima. On je prije obučiti manje iskusne testere znanjem,
ključni čovjek za projekt (eng. key person). vještinama i iskustvom. Analizom procesa se
usredotočilo na promatranje onih performansi
procesa koje se mogu prikazati karakterističnim
V. ZAKLJUČAK parametrima mreže repova. To se odnosi na vrijeme
zadržavanja, vrijeme posluživanja i vrijeme čekanja
Programski proces testiranja predstavlja važnu radnih cjelina i promjeni zahtjeva, kao i stupnju
kariku u životnom ciklusu razvoja programskog iskoristivosti pojedinih testera. Prikupljeni podaci
proizvoda. Riječ je o vrlo složenom procesu koji upozorili su na one dijelove koji trebaju krenuti za
uključuje mnogo različitih aktivnosti, interakcija i poboljšanjem kako bi se postigla viša razina
povratnih veza. Svaka od tih aktivnosti ima veliku efikasnosti promatranog procesa, a na taj način
važnost u uspješnom dovršenju programskog osigurati što kvalitetniji programski proizvod.
procesa testiranja. Proces započinje ulaskom radne
cjeline ili promjene zahtjeva u fazu testiranja u
studijskom slučaju u čijoj se grupi nalazi šest LITERATURA
testera: jedan ekspert, dva više iskusna testera i tri
manje iskusna testera. Radna cjelina ili promjena [1] Perry, W., “Effective Methods for Software
zahtjeva se dodijeli jednom od šest testera i to Testing”, John Wiley & Sons, New York, USA,
počinju aktivnosti vezane uz testiranje. Za vrijeme 1995.
testiranja se evidentiraju greške nađene u softveru [2] Car, Ž, “Modeliranje procesa održavanja
koje su u domeni radne cjeline ili promjene telekomunikacijske programske podrške”,
zahtjeva. Doktorska disertacija, Fakultet elektrotehnike i
Prethodnica postupku modeliranja predstavljalo računarstva, Zagreb, 2001.
je prikupljanje podataka i znanja o procesu, [3] Law, A. M., W. D. Kelton., “Simulation
neizostavnih aktivnosti prilikom svakog Modeling and Analysis”, McGraw-Hill Inc., 2000.
modeliranja nekog procesa. Analizom prikupljenih [4] Ingalls, R.G., “Introduction to Simulation”,
podataka utvrđuje se ponašanje procesa, a samim Proceedings of the 2001 Winter Simulation,
time se omogućuje lakše i efikasnije postizanje Conference, pp.7-16.
konačnog, valjanog modela. Modeliranje je
zasnovano na temeljima teorije posluživanja i
mrežama repova. Na taj je način bilo moguće
prikazati događaje iz realnog svijeta i u tome
obuhvatiti interakcije promatranog procesa. Kao
rezultat modeliranja dobiva se jasan prikaz
redoslijeda i načina odvijanja aktivnosti sadržanih
unutar procesa koji se promatra.
Simulacija se pokazala kao korisna tehnika koja
omogućuje razmatranje ponašanja i performansi
procesa testiranja programskih proizvoda. Njena
primjena donosi velik napredak u daljnjoj analizi

You might also like