Cilj i ishod predmeta
Cilj kursa je da studenti razumeju i savladaju metode i tehnike iz oblasti kvaliteta, testiranja i održavanja softvera. Savladaće: modele kvaliteta softvera i njegove specifičnosti u odnosu na ostale proizvode, određivanje atributa kvaliteta softvera i mere kvaliteta kao i standarde koji se primenjuju u ovoj oblasti. Student je stekao teorijska, metodološka i praktična znanja o razvoju softverskih proizvoda koja se primenjuju korišćenjem savremenih tehnika, modela i procesa za: Osiguranje kvaliteta softvera – pružanje, merenje i procena; Merenje i predviđanje kvaliteta softvera (CMMI i TMM modeli unapređenja); Testiranje softvera – planiranje i primena, vrste (klase) tehnika, funkcionalno testiranje (tehnike crne kutije), strukturno testiranje (tehnike bele kutije), hibridne tehnike (tehnike sive kutije), vrste i nivoi ispitivanja itd.
Teorijska nastava
Kvalitet softvera – osnove. Faktori kvaliteta softvera – procesi, modeli, zahtevi i metrike. Testiranje softvera (TS) – osnove, ciljevi, pristupi, procesi, planiranje i primena. Testiranje softvera – Strategije, Vrste tehnika ispitivanja (Klase). Nivoi testiranja prema fazama razvoja softvera (u razvoju i isporuci). Verifikacija i validacija kao tehnike testiranja. Skup tehnika testiranja softvera. Tehnike otkrivanja grešaka: tehnike otkrivanja zasnovane na specifikacijama; Testiranje na osnovu definicije interfejsa; Testiranje programa na bazi karakteristika; Testiranje softvera metodama crne kutije (funkcionalno testiranje): Dizajn testnih slučajeva; Analiza graničnih vrednosti; Izbor primera ispitivanja i rešenja za testiranje (Oracle problem); Testiranje softvera tehnikama bele kutije: Pokrivenost komandi; Prekrivanje grana; Ispitivanje petlji i uslovnih grana; Ciklomatska složenost. Strukturno testiranje i tehnike sive kutije: ispitivanje protoka podataka, dinamička analiza protoka podataka, kombinacija testiranja crne kutije i bele kutije. Grafikon uzroka i posledica. Tabela odluke za grafikon uzroka i posledica. Ispitivanje performansi. Testovi konfiguracije. Ispitivanje dokumentacije. Tehnike zasnovane na prirodi primene: Objektno orijentisano testiranje; Komponentno testiranje; Internet bazirano testiranje; GUI testiranje. Testiranje sistema u realnom vremenu i bezbednosno kritično testiranje sistema (IEEE 1228-94). Nivoi i vrste testiranja softvera. Organizacija procesa testiranja softvera. Ispitivanje jedinice. Ispitivanje integracije modula. Testiranje sistema. Handover testiranje (Alfa i Beta testiranje). Nivoi zrelosti procesa testiranja (TMM); Plan testa – glavni i pojedinačni. Poreklo grešaka i njihova distribucija. Troškovi otklanjanja nedostataka softvera. Model troškova za otklanjanje nedostataka softvera. Tipična alokacija lokacije i troškovi uklanjanja pogrešaka. Sveobuhvatan plan osiguranja kvaliteta.
Praktična nastava
Prikaz primera sa kritičnom misijom – testiranje sistema jednosmernog tunela koji je realizovan u programskom jeziku Java. Proučavanje slučajeva sa kritičnom misijom – obezbeđivanje kvaliteta, metrike kvaliteta i testiranja bankarskih aplikacija ATM mašine: Plan obezbeđenja kvaliteta i procese testiranja softvera ATM mašina; Faze testiranja, izvršavanje i izveštavanje (analiza, predstavljanje, upravljanje greškom itd.) Testiranja softvera ATM mašina; Primena tehnika analize – inspekcija, prolazak kroz programski kod i sl . Testiranje na bazi specifikacija. Testiranje na bazi strukture programskog koda. Testiranje korisničkog interfejsa – UI. Dizajniranje testova softvera ATM mašine po metodi „crne kutije“ i „bele kutije“ softvera ATM mašina. Dizajniranje test sličajeva strategija „sive kutije“ softvera ATM mašine.
1 thought on “Testiranje softvera”
Comments are closed.