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