Click here to load reader

PRIMERJAVA ORODIJ ZA TESTIRANJE SPLETNIH STORITEV

  • View
    0

  • Download
    0

Embed Size (px)

Text of PRIMERJAVA ORODIJ ZA TESTIRANJE SPLETNIH STORITEV

Diplomska nalogaRobi Kuserbanj
Diplomska naloga
PRIMERJAVA ORODIJ ZA TESTIRANJE SPLETNIH STORITEV
Študent: Robi Kuserbanj
Smer: Informatika
SoMentor: viš. pred. mag. BOŠTJAN KEMAH
Maribor, november
Zahvaljujem se svojemu mentorju dr. Marjanu Heriku, somentorju Boštjanu Kemahu, ter
Urošu Goljatu za pomo, strokovne nasvete ter potrpeljivo pregledovanje diplomske naloge.
Za vso pomo in nasvete bi se rad še zahvalil Andreju Krajncu.
Na koncu se še zahvaljujem svojim staršem, kateri so mi omogoili študij.
Primerjava orodij za testiranje spletnih storitev
Klju ne besede: programska oprema, spletne storitve, testiranje, primerjava orodij
UDK: 004.415.53:004.777(043.2)
Povzetek:
V diplomskem delu smo opisali in primerjali orodja za testiranje spletnih storitev.
Testiranje sodi k najpomembnejšim stvarem današnjega sveta, predvsem v sedanji dobi
raunalništva. Tako ima danes e skoraj vsako gospodinjstvo svoj raunalnik, s katerim
opravlja in dostopa do razlinih stvari in od katerih priakuje, da bodo vedno delovale
brezhibno. Prav zaradi tega je testiranje tako pomembno, kajti s testiranjem prepreimo
morebitne napake in druge nepotrebne teave. Tako smo v zaetnih poglavjih spoznali
razlike med programsko opremo oz. testiranjem le-te in testiranje spletnih storitev. Da bi
bilo testiranje programske opreme in spletnih storitev im enostavnejše, uporabljamo pri
tem razlina orodja. Tako smo v ospredje te diplomske naloge postavili orodja, s katerimi
testiramo spletne storitve, jih primerjamo med sabo itd. Predvsem smo hoteli prikazati, kaj
nekatera orodja imajo in esa druga nimajo. S tem, ko smo jih primerjali, testirali itd.,
smo prišli do zanimivih dejstev, katera so prikazana in komentirana v razlinih tabelah.
Comparison of Tools for Web-Services Testing
Key words: computer software, web services, testing, tool-comparison UDK: 004.415.53:004.777(043.2) Abstract:
In diplome work we described and compared web-services testing tools. Testing is
nowadays one of the most important things, especialy in the present computer era. Almost
every household has its own computer, with which it manages and accesses different things
and expects that they will always work perfectly. That is why testing is so important, we
can namely prevent future mistakes and other unimportant problems. In the first few
chapters we aknowledged the differences between computer software and the testing of it
and web services and their testing. To make the testing of computer software and web
services easier, we use specific tools. The main stress in the Diploma is on tools, with
which we test web services, compare them with each other and so on. We wanted to
present the advantages and disadvantages of individual tools. By comparing and testing
them, we came to interesting facts, which have been presented and commented in different
tables.
KAZALO:
1 UVOD....................................................................................................................... 1
2 TESTIRANJE.......................................................................................................... 3
2.2.1 Referenna meritev............................................................................................4
2.2.3 Uspešnost testiranja ........................................................................................... 5
2.4 Pri testiranju je dobro vedeti.............................................................................. 6
3.1. Testiranje ........................................................................................................... 7
3.1.1 Funkcionalnost .................................................................................................. 8
3.2.1 Testiranje modulov.......................................................................................... 12
3.2.2 Integracijsko testiranje..................................................................................... 12
3.3.4 Primerjava testiranja po metodi ''bele škatle'' in ''rne škatle''......................... 16
4 SPLETNE STORITVE............................................................................................ 17
4.6 Storitveno usmerjena arhitektura SOA............................................................ 26
4.6.2 Naslednja generacija SOA............................................................................... 28
5.2 Testiranje strenikov........................................................................................ 31
5.6 Faze testiranja spletnih storitev ....................................................................... 36
5.7 SOA testiranje z uporabo rne, bele in sive škatle .......................................... 39
5.7.1 Testiranje po metodi rne škatle...................................................................... 39
5.7.2 Testiranje po metodi bele škatle ...................................................................... 39
5.7.3 Testiranje po metodi sive škatle ...................................................................... 40
5.8 Testna orodja so kljuna za uspeh spletnih storitev ........................................ 40
6 ORODJA ZA TESTIRANJE SPLETNIH STORITEV........................................... 42
6.1 Opis orodij ....................................................................................................... 42
6.1.2 Orodje GreenHat.............................................................................................. 43
6.1.4 Orodje itko LISA 4 SOA................................................................................. 44
6.1.8 Orodje Altova XmlSpy.................................................................................... 47
7 ZNAILNOSTI ORODIJ ....................................................................................... 50
7.3.9 Podpora (dokumentov, baz, itd.) ..................................................................... 58
7.4 Uporabniške znailnosti orodij....................................................................... 59
RFC - Request for Comments
UDDI - Universal Descripton, Discovery and Integration
SMTP - Simple Mail Transfer Protocol
XMPP - Extensible Messaging And Presence Protocol
MIME - Multipurpose Internet Mail Extensions
EDA - Event Driven Architecture
HTML - Hypertext Markup Language
JDBC - Java Database Connectivity
EJB - Enterprise Java Beans
DTD - Data Transfer Device
IMAP - Internet Message Access Protocol
SSL - Secure Sockets Layer
Slika 2: Uporabnost karakteristik kakovosti po ISO 9126
Slika 3: Intenzivnost odpovedi
Slika 6: UDDI in SOAP
Slika 7: Sklad tehnologij spletnih storitev
Slika 8: Arhitektura SOA
Slika 9: Opredelitev URI
Slika 10: Arhitektura REST
Slika 12: Arhitektura spletnih storitev
Slika 13: Delovanje orodja SOAPSonar
Slika 14: Prikaz IT tveganja in zanesljivosti SOA
Slika 15: Arhitektura orodja itko LISA 4 SOA
Slika 16: Arhitektura orodja TestMaker
SEZNAM TABEL
Tabela 1: Primerjava testiranja po metodi ''bele škatle'' in ''rne škatle''
Tabela 2: Prikaz znailnosti posameznih orodij
Tabela 3: Osnovna primerjava orodij
Tabela 4: Podrobna primerjava orodij
Tabela 5: Uporabniške znailnosti orodij
Primerjava orodij za testiranje spletnih storitev 1
1 UVOD
Še pred nekaj leti spletne storitve niso bile dovolj zanimive za uporabo, saj so bile zelo
poasne. To se je zaradi prizadevanja razlinih razvijalcev spremenilo. Danes se
uveljavljajo kot kljuna tehnologija za elektronsko poslovanje. Prav tako omogoajo
povezljivost med informacijskimi sistemi ne glede na platformo, programski jezik in
operacijski sistem. O spletnih storitvah govorimo kot o revolucionarni tehnologiji, kot o
neem esar na podroju informatike še ni bilo.
Perea tema je testiranje spletnih storitev, ki postajajo vedno bolj kompleksne in jih je
posledino teje testirati. Prav zato bomo v diplomskem delu podrobno raziskali podroje
testiranja spletnih storitev.
V zaetku diplomske naloge smo opisali testiranje in ga v splošnem opredelili na vse
pomembnejše pojme, s katerimi se sreamo pri testiranju.
Ko smo spoznali posamezne pojme testiranja in se zavedli kako pomembno je
testiranje, nadaljujemo s predstavitvijo programske opreme. Nato smo opisali vse faze
razvoja programske opreme ter testiranje le-te. Testiranje programske opreme je proces, ki
se uporablja za 'merjenje' kvalitete pri razvijanju raunalniške programske opreme. Tukaj
se najprej osredotoimo na samo kvaliteto testiranja in prikaemo vse njegove
najpomembnejše lastnosti, kot so pravilnost, popolnost, varnost itd. Ko spoznamo te
pomembne osnove, zanemo s spoznavanjem metod testiranja po beli, rni in sivi škatli, ki
so najpomembnejše metode testiranja programske opreme.
Po opisu testiranja programske opreme opišemo spletne storitve in na zaetku prav tako
predstavimo celoviten pogled na spletne storitve. Zanemo z zgodovino in nadaljujemo s
predstavitvijo vseh pomembnejših lastnosti spletnih storitev. Predstavimo arhitekturo,
specifikacije, opišemo storitveno usmerjene arhitekture, spletno usmerjene arhitekture ter
princip REST (ang. Representational State Transfer je arhitektura programske opreme za
hipermedijske sisteme, kot je svetovni splet). Po opisu spletnih storitev preidemo na
testiranje spletnih storitev, ki predstavlja glavni del diplomske naloge.
Testiranje spletnih storitev smo razdelili na tri dele, in sicer na testiranje strenikov,
testiranje odjemalcev in na druge monosti testiranja. Ta razdelitev se nam zdi dokaj
Primerjava orodij za testiranje spletnih storitev 2
pomembna, saj se moramo najprej odloiti, kateri del bomo testirali in katero testiranje
bomo izbrali. Vse smo dodatno prikazali skozi faze testiranja, ko smo asovno prikazali,
kako je potekalo oz. kako poteka samo testiranje. Prav tako kot pri testiranju programske
opreme se tudi tukaj pojavijo pomembne metode testiranja in sicer testiranje po metodi
bele, rne in sive škatle.
Ker je rono testiranje spletnih storitev zamudno opravilo, smo raziskali monosti
uporabe orodij za avtomatizirano testiranje spletnih storitev. Prav tako smo poizkušali najti
orodje, ki bi bilo najprimernejše za našo nalogo, saj so razlina orodja pri testiranju
spletnih storitev bistvenega pomena. Uporabili smo nekaj najbolj uveljavljenih orodij za
testiranje spletnih storitev, ki smo najprej jih najprej opisali, predstavili njihove
karakteristike in jih na koncu medsebojno primerjali.
V zadnjem poglavju smo s pomojo najpomembnejših karakteristik, ki smo jih
predstavili v prejšnjih poglavjih, primerjali orodja. Najprej smo oblikovali osnovno
primerjalno tabelo, nato pa nadaljevali s podrobno primerjavo. Tako smo dobili veliko
tabelo z najpomembnejšimi primerjalnimi podatki o orodjih. Na koncu smo dodali tudi
tabelo z uporabniškimi znailnostmi orodij, v kateri podamo lastno mnenje o uporabnosti
posameznih orodij.
2 TESTIRANJE
2.1 Glavni mejniki
Ko zanemo spoznavati testiranje, se moramo najprej ustaviti pri letu 1956, ko je bilo
razhroševanju (ang. debugging) v vzponu. Z besedo razhroševanje se je v tistem asu
oznaevalo testiranje. To se je med letoma 1957 in 1978 spremenilo in vsaka od besed je
dobila svoj pomen. Prve razlike med razhroševanjem in testiranjem je predstavil
Glenforda J. Myersa leta 1979. V obdobju 1979–1982 se je raunalniška miselnost
nekoliko spremenila in glavni namen testiranja je postalo iskanje napak. Prav tako so ljudje
med letoma 1983 in 1987 zaeli razmišljati, kako pregledati oz. meriti kvaliteto izdelka v
asu njegovega delovanja. Od leta 1988 naprej pa se sprašujemo, ali programska oprema
zadoša specifikacijam, ki so bile napisane prav za njo [2].
Gelperin je prvi izdal standard IEEE 829-1989 skupaj s Hetzlom pa je izdal knjigo z
naslovom Celotni vodi skozi testiranje. Oba veljata za pionirja testiranja programske
opreme in še v današnjem asu testiranje v veliki meri temelji na njunih teorijah [1].
2.2 Kaj je testiranje?
Ko pridemo do tega vprašanja, se moramo zavedati, da nanj ne moremo odgovoriti kar
tako, saj moramo poznati veliko dejstev. Eno od njih je doloanje glavne vloge pri
testiranju, ki jo ima najvekrat preizkuševalec (ang. tester). To je oseba, ki je zadolena za
testiranje programske ali strojne opreme. Pred letom 1950 se je beseda preizkuševalec,
uporabljala splošno. Kasneje pa je zaela oznaevati razline osebe kot na primer testnega
vodja, preizkuševalca, oblikovalca testov, razvijalca avtomatinih testov in administratorja
testov.
Testiranje je analiza celotnega ali le dela programa, ki se izvaja z namenom preverjanja
ustreznosti programa oz. iskanjem odstopanj od priakovanih vrednosti. Osnovni namen
testiranja je dokazati prisotnost ene ali ve napak, ne pa lokacije napak [3].
Primerjava orodij za testiranje spletnih storitev 4
Poznamo tudi stopnje testiranja. Pri sestavni stopnji testiranje izvede veja skupina
programerjev. Tukaj so vse komponente kombinirane med seboj. Druga takšna stopnja
testiranja je sistemska stopnja, kjer proizvajalci ali neodvisni razvijalci testirajo produkte
ali storitve z enim ali ve zmogljivostnimi testi in e je le mogoe z enim ali ve programi
za testiranje referennih meritev.
Referenna meritev (ang. benchmarking ) je referenca, s katero odmerimo doloeno
stvar. Lahko jo opišemo tudi kot vrsto pogojev, s katerimi se lahko proizvod ali sistem
odmeri, oz. vrsto kriterijev, ki naj bi jih izdelek imel.
Tako Eric Raymond [4] o referenni meritvi govori kot o nenatannem merilu in
pravi: »Stari hekerji govorijo, da obstajajo v raunalniški industriji tri vrste lai, to so lai,
velike lai in referenne meritve«.
Metoda testiranja je nekakšen proces, ki nam da testne rezultate. Testiranje in
eksperimentiranje sodita med t.i. znanstvene metode, ki potrdijo ali ovrejo doloena
priakovanja. Za testnega preizkuševalca lahko reemo, da je to oseba, ki validira in
verificira kvaliteto programske opreme.
2.2.2 Verifikacija in validacija
Ko govorimo o verifikaciji, govorimo o procesu, pri katerem preverjamo ali produkt
tekoe faze ustreza zahtevam, postavljenim v predhodni fazi. Za verifikacijo lahko reemo,
da je sinonim za vse vrste preverjanj. Za razumevanje besede verifikacija si lahko
pomagamo tako, da se vprašamo, ali smo naredili ustrezen izdelek oz. izdelek, skladen s
specifikacijo [5, str. 12–15].
Drugi takšen proces je validacija, o kateri govorimo, ko vrednotimo programsko
opremo na koncu njenega razvoja z namenom, da ugotovimo njeno skladnost z zahtevami.
Za razumevanje besede validacija si lahko pomagamo tako, da se vprašamo, ali smo
naredili ustrezen izdelek oz. ali je to izdelek, ki ga hoe stranka [5, str. 12–15].
Primerjava orodij za testiranje spletnih storitev 5
2.2.3 Uspešnost testiranja
Testiranje je uspešno, e uspemo dokazati prisotnost napak. Testiranje predstavlja
destruktiven proces, razvoj programske opreme pa oznaujemo kot konstruktiven proces
[5]. Ena izmed pomembnejših trditev je, da naj oseba, ki doloen proizvod razvija, tega ne
testira sama.
Odpravljanje napak se pogosto zamenjuje s testiranjem. V bistvu pa gre za postopek,
pri katerem vnaprej vemo, da je v programu napaka (ena ali ve). Naloga razhroševanja
pa je, da na primer ugotovimo, na katerih mestih so napake oz. kje se te napake pojavljajo
itd.
Najveje teave se pojavijo pri vprašanju, kdaj prenehati s testiranjem. Pri tem nam
pomaga kriterijska funkcija, s katero predpišemo, kdaj konati s preverjanjem. Ta funkcija
je zelo pomembna, kajti od nje so odvisni stroški preverjanja. Sestavljajo jo razlini
parametri kot npr. testni as, število uporabljenih testnih vzorcev itd.
2.3 Kdo nadzoruje preizkuševalca ?
Pri testiranju se pojavlja klasino latinsko vprašanje ''Quis Custodiet Ipsos Custodes''
oz. kdo nadzoruje preizkuševalca. Bistvo je v tem, da je nadzorovanje neka vrsta
delovanja, ki ima posledice za testiranje. Na to, ali je tak nadzor dober ali slab, vpliva
veliko dejavnikov.
V praksi preizkuševalec testira programsko opremo z drugimi programskimi rešitvami
in sistemi. V procesu testiranja lahko celotna zadeva propade in ne dobimo nobenega
poroila o napakah v sistemu, lahko pa se te napake pojavijo pri naših orodjih za testiranje
[9].
Zato se razvijajo metrike, na podlagi katerih se ocenjuje uinek nekega testiranja.
Z merjenjem števila napak v programu in s primerjanjem le-teh s podobnimi projekti,
dobimo priblino sliko testiranja. Pri testiranju se lahko pojavljajo tudi napake, ki so bile
namenoma povzroene. Za dokazovanje teh namernih napak ni posebne metode in jih je
sila teko dokazati.
2.4 Pri testiranju je dobro vedeti
Obstaja kar nekaj zadev, ki jih moramo pri testiranju upoštevati. Prva od njih je ta, da je
proizvod nemogoe testirati v celoti. Naslednja je ta, da je nemogoe kakovostno testirati
lasten program. Prav tako je pri testiranju teko dokazati oz. pokazati, da napak ni. im
ve napak najdemo, toliko ve napak še ostane. In vse te napake, ki jih najdemo, ne bodo
popravljene iz razlinih razlogov, itd. [60].
Testiranje naj opravljajo najbolj kreativni ljudje v podjetju. Za vsak testni primer
moramo obvezno e pred testiranjem ugotoviti pravilne rezultate. O tem, kdaj je testiranje
konano, se moramo odloati na podlagi vnaprej doloenih kriterijev.
Primerjava orodij za testiranje spletnih storitev 7
3 TESTIRANJE PROGRAMSKE OPREME
3.1. Testiranje
Testiranje je informacijska rešitev, ki se uporablja za merjenje kvalitete pri razvijanju
programske opreme. Ponavadi je kvaliteta omejena na razline zadeve, kot so pravilnost
(ang. correctness), ki je doseena, ko se algoritem ujema z zahtevami specifikacije,
popolnost (ang. completeness), ki doloa, da je program popoln, e mu ni treba niesar
dodati, kar pa se v praksi le redko zgodi. Zato uporabljamo formalni sistem, ki je lahko
maksimalno, ekstremno in mono popoln, kot zadnja je tukaj še varnost (ang. security), ki
je lahko rona ali avtomatina [10].
Zraven vseh teh pomembnih stvari testiranje programske opreme vkljuuje tudi bolj
tehnine zahteve (ISO 9126) (Slika 1), kot so npr. funkcionalnost, zanesljivost, uporabnost,
uinkovitost, vzdrevalnost in prenosljivost.
3.1.1 Funkcionalnost
Kako proizvod deluje, da zadovolji potrebe uporabnika se sprašujemo pri
funkcionalnosti (ang. functionality). Tukaj so pomembni pojmi ustreznost (govori o
prisotnosti in primernosti posameznih funkcij), natannost (govori o priakovanih
natannih rezultatih), kompatibilnost (govori o tem, kako se proizvod povezuje z
navedenim okoljem glede na prejšnje verzije), skladnost (govori o skladnosti z zakonodajo,
standardi, poroili itd.) in zašita (nanaša se na onemogoanje neavtorizirane uporabe
programske opreme) [11, 12].
3.1.2 Zanesljivost
Zanesljivost (ang. reliability) je sposobnost osebe ali sistema, da izvaja in vzdruje
svoje delovanje v razlinih okolišinah. Loimo podatkovno zanesljivost (lastnost
nekaterih diskovnih razporeditev in raunalniških diskov) in inenirsko zanesljivost
(zagotavlja, da bo sistem zanesljiv, ko bo deloval v doloenih nainih) [11].
3.1.3 Uporabnost
Uporabnost (ang. usability) se ponavadi nanaša na prefinjenost in jasnost, pri em se
delovanje kae v raunalniških programih in spletnih straneh.
O uporabnosti govorimo tudi tedaj, ko se pogovarjamo o uporabnosti nekega izdelka, ki
je povezan z uporabniških vmesnikom. Besedo uporabnost lahko prav tako uporabljamo v
kontekstu z besedno zvezo uporabniku prijazno. Uporabnost lahko ugotovimo tako, da se
vprašamo, kdo so uporabniki, kaj hoejo, kaj potrebujejo, kaj se lahko nauijo itd. [11].
3.1.4 Uinkovitost
Uinkovitost (ang. efficiency) razdelimo na dva dela, in sicer na hitrost in prostor.
1. Hitrost (as potreben za konanje operacije)
Primerjava orodij za testiranje spletnih storitev 9
Hitrost algoritma se lahko meri na razline naine. Najpogosteje uporabljena metoda je ta,
da uporabljanje asovne zapletenosti za doloitev Big-O algoritma. Tako lahko poveamo
hitrost našega algoritma.
Big-O se uporablja za opisovanje, kako velikost vhodni podatkov vpliva na hitrost
algoritma (ponavadi tekoi as ali as pomnilnika) [11, 12].
2. Prostorsko zahtevnost (disk oz. pomnilnik porabljen pri procesiranju )
Prostor algoritma dejansko delimo na dva loena, vendar podobna vidika. Prvi del
algoritma je prostor s strani delovanja diska. Tega lahko pogosto zmanjšamo z ocenitvijo
asa izvajanja. Drugi del algoritma predstavlja as pri procesiranju zaasnega pomnilnika.
Optimizacija celotnega algoritma za zmogljivost je v veini primerov odvisna od tega, na
kakšnem raunalniku bo algoritem deloval [11, 12].
3.1.5 Vzdrevalnost
Vzdrevalnost (ang. maintainability) pomeni kako dolgo lahko programsko ali strojno
opremo spreminjamo, v smislu da bo delovala brez napak, pri emer skušamo poveati
zmogljivost, prilagodljivost, vstavljanje novih atributov itd. [11].
3.1.6 Prenosljivost
Prenosljivost (ang. portability) pomeni prilagajanje programske opreme tako, da se
lahko prilagodi program, ki je drugaen od tistega, za katerega je bil v prvi vrsti namenjen
(operacijski sistemi, razline knjinice itd.). Glavni namen prenosljivosti je uporabnost
programske in strojne opreme v razlinih raunalniških okoljih [11].
Primerjava orodij za testiranje spletnih storitev 10
Slika 2 prikazuje uporabo tehninih zahtev ISO 9126 v praksi. Iz nje je razvidno, da
predstavlja funkcionalnost in zanesljivost najpomembnejši del razvoja programske opreme,
najmanjši pa uporaba prenosljivosti.
Slika 2: Uporabnost karakteristik kakovosti po ISO 9126 [45]
Tako lahko reemo, da je testiranje proces tehnine raziskave v prid nepristranske
osebe, katere namen je ugotoviti kakovost oz. skladnost proizvoda, z upoštevanjem
priakovanj o delovanju našega proizvoda [10].
To vkljuuje programe in aplikacije z njihovo namero, da najdejo napake. Tako je
najbolje, da testiranje programske opreme opravljajo razline ustanove kot enota, oddelek,
skupina za SQA, katere obseg dela zajema vse procese, ne le testiranja.
SQA (Software Quality Assurance) – zagotavljanje kvalitete programske opreme
V današnjem asu se programska oprema razvija zelo hitro, kar lahko opazimo v vsej
njeni zapletenosti in velikosti. Vsa ta programska oprema se mora tako hitro razvijati
zaradi vse vejih sistemskih zahtev. Vsak programski proizvod ima svojo ciljno skupino.
Zato mora industrija, ki razvija programsko opremo, biti posebej pazljiva v kaj vlaga
denar, kajti proizvod mora biti na koncu dostopen oz. dovolj dober, da bo zadovoljil kupce.
Prav tukaj nam testiranje zelo pomaga. Testiranje ne pomeni samo iskanja napak in
''hrošev'' v proizvodu, ampak lahko ovrednotimo kvaliteto proizvoda oz. programske
Primerjava orodij za testiranje spletnih storitev 11
opreme. Programska oprema pa lahko deluje pravilno ali deluje nepravilno (je v stanju
odpovedi).
Programsko opremo delimo na programsko opremo z napako in programsko opremo,
katera ima napake. O napaki programske opreme govorimo tedaj, ko programska oprema
ne deluje tako, kot eli uporabnik. O programski opremi, ki ima napake, pa govorimo
tedaj, ko delamo popravke v smislu semantinih popravkov in kot rezultat namesto
delovanja programa dobimo napako (error).
Najpogostejša praksa testiranja programske opreme je, da je ta testirana s strani
razlinih skupin programerjev inenirjev (preizkuševalec). Z vsemi popravki se lahko
podaljša izdaja izdelka in posledino lahko s tem prekoraimo proraun, predviden za ta
izdelek. Zato tudi velja, da prej ko najdemo napako v proizvodu, ceneje nas bo stalo njeno
odpravljanje. Programi brez napak so zelo redki. Takšne programe imenujemo korektni
programi. Korektni program je tak program, ki nikoli ne odpove [10].
Slika 3 prikazuje intenzivnost odpovedi, ki jo izraunamo tako, da število odpovedi
delimo s asovno enoto.
Primerjava orodij za testiranje spletnih storitev 12
3.2 Stopnje testiranja programske opreme
3.2.1 Testiranje modulov
Pri testiranju modulov (ang. unit testing) gre za testiranje manjših programskih delov
ali modulov. Vsak modul proizvoda je testiran tako, da se pogleda, e je bil pravilno
implementiran. Ponavadi se to testiranje izvaja v sami kodi programa na t.i. razredih in pri
konstruktorjih in destruktorjih.
Loimo tri tipe modulov. To so navadni moduli, reemo jim lahko kar moduli, krmilni
moduli, ki imajo nalogo, da prenesejo izbrane testne vzorce v modul, ki ga potem
testiramo, in dobimo izhodne podatke, in nadomestni moduli, ki simulirajo delovanje
originalnega modula, ki jih je zahteval klicani modul [5, str. 46–78].
3.2.2 Integracijsko testiranje
Po opravljenem testiranju modulov lahko zanemo s testiranjem integracije (ang.
integration testing). To testiranje razkrije pomanjkljivosti oz. napake v samem vmesniku in
interakcije med integriranimi moduli. Enostavno reeno je testiranje integracije faza, v
kateri se posamezne programske enote testirajo v skupinah [5, str. 50–51].
Poznamo razline tipe testiranja integracije.…

Search related