Professional Documents
Culture Documents
Sistemsko testiranje
Sistemsko testiranje
• Sistemsko testiranje se zasniva na testiranju
celog sistema kao celine, nakon što je završena
kompletna integracija
• Definisano je funkcionalnim zahtevima i
specifikacijama sistema
• Dodatno uključuje testove bazirane na riziku,
poslovne procese, scenarije upotrebe ili druge
opise sistema visokog nivoa, zatim interakcije sa
drugim sistemima i sistemskim resursima
Sistemsko testiranje
• Najčešće je u pitanju finalni test kako bi se
verifikovalo da sistem kao celina ispunjava
zahteve specifikacije i svoju svrhu
• Najčešće izvršavaju testeri specijalisti ili čak
nezavisni timovi testera
• Testovi se izvršavaju iz perspektive sa kraja na
kraj (end-to-end)
• Pošto se bazira na specifikaciji zahteva, u
pitanju je metoda crne kutije
• Ispituju se kako funkcionalni tako i
nefunkcionalni zahtevi
Sistemsko testiranje
Sistemsko testiranje
• Sistemsko testiranje može biti i drugačijeg
tipa od već opisanog funkcionalnog.
• Potrebno je proveriti i nefunkcionalne
zahteve, među kojima su performanse
sistema, interoperabilnost sa drugim
sistemima, zatim skalabilnost, pouzdanost,
test opterećenja i slično.
• Postoji preko 50 različitih podvrsta
sistemskog testiranja
Sistemsko testiranje
Funkcionalno
Inter-Operabilnost
Performanse
Skalabilnost
Test opterećenja
Test pouzdanosti
Regresiono
Regulatorno
Testiranje performansi
• Performanse poput vremena odziva,
pouzdanosti, korišćenja resursa i
skalabilnosti su takođe od velikog značaja.
• Testiranje performansi je tip testiranja koji
verifikuje da se softverski sistem ponaša
adekvatno pod očekivanim opterećenjem.
• Cilj je da se uoče i eliminišu potencijalna
uska grla koja utiču na performanse
sistema.
Testiranje performansi
• Prilikom testiranja performansi sistema,
pažnja se obraća na sledeće aspekte:
– Brzina – proverava se brzina odziva aplikacije
– Skalabilnost – određuje se maksimalno
korisničko opterećenje koje softver može da
podrži
– Stabilnost – proverava se da li je aplikacija
stabilna pod različitim opterećenjem
Testiranje performansi
• Pod testiranjem performansi se može
grupisati više različitih tipova testiranja, od
kojih su najbitniji:
– Testiranje opterećenja (engl. load test)
– Stres test (engl. stress test)
– Test izdržljivosti (engl. endurance test)
– Testiranje skalabilnosti (engl. scalability
testing).
Testiranje performansi
• Aplikacije sa lošim performansama (usled loše
izvedenog testiranja performansi ili potpunog
izostanka istog) koje se pošalju na tržište će
skoro sigurno steći lošu reputaciju i neće dostići
očekivan nivo prodaje.
• Sa druge strane, kritični softverski sistemi poput
softvera medicinske opreme ili softvera u
avionima se moraju dodatno testirati kako bi se
osiguralo da mogu da rade duži vremenski
period bez ikakvih odstupanja u radu
Testiranje performansi
• Najčešći problemi koje otkriva testiranje
performansi, očekivano, jesu brzina rada
aplikacije, vreme odziva, vreme učitavanja
aplikacije i loša skalabilnost.
• Brzina je jedan od najznačajnijih atributa
aplikacije.
• Spora aplikacija skoro sigurno dovodi do gubitka
potencijalnih korisnika.
• Testiranje performansi osigurava da se
aplikacija izvršava dovoljno brzo kako bi privukla
pažnju i interesovanje korisnika
Testiranje performansi
• Najčešći problemi po pitanju performansi (može
se uočiti da je brzina zajednički faktor za
većinu):
– Predugo vreme učitavanja aplikacije
– Loše vreme odziva
– Loša skalabilnost
– Uska grla
Testiranje opterećenja
• Testiranje opterećenja je vrsta testiranja
performansi, koja određuje performanse sistema
u okviru realnih uslova upotrebe
• Određuje se ponašanje sistema kako pod
normalnim opterećenjem, tako i pod očekivanim
najvećim opterećenjem.
• Identifikuje se maksimalni operativni kapacitet,
postojanje uskih grla i određuje koja
komponenta izaziva degradaciju performansi.
• Kada se opterećenje podigne iznad razumnog
nivoa, test opterećenja postaje stres test sistema
Testiranje opterećenja
• Formalno gledano, test opterećenja određuje: