Post on 11-Oct-2015
description
Softversko inenjerstvoTestiranje programa
SadrajGreke i otkazi softveraPitanja testiranjaJedinino testiranjeIntegraciono testiranjeTestiranje objektno orijentisanih sistemaPlaniranje testaAutomatizovani alati za testiranjeKada treba prestati sa testiranjemta ovo poglavlje znai za vas*
Greke i softverski otkaziOtkaz je situacija u kojoj softver ne radi ono to je opisano u zahtevima(primer: sistem odgovori na zahtev neovlaenoj osobi)Mogui uzrociPogrena specifikacija ili nedostatak zahtevaPostoji zahtev koji nije mogue implementirati na propisanim hardverom i softveromGreka u dizajnu sistemaGreka u programskom koduOtkaz je rezultat jedne ili vie greakaTestiranjem se dokazuje postojanje greakaPrepoznavanje greaka i otklanjanje greakaBug (bubica)*
Vrste greakaAlgoritamska grekaGreke izraunavanja i greke preciznostiGreka dokumentacijeGreke preoptereenja ("stress" greke)Greke kapacitetaGreke vremenskog rasporeda (greke koordinacije)Greke performansiGreke oporavkaHardverske i sistemske grekeGreke standarda i procedura*
Organizacija testiranjaTestiranje modula (jedinino testiranje, unit testing)Integraciono testiranjeFunkcionalno testiranjeTestiranje performansi (proizvod je validiran sistem)Zavrni test prihvatanjaInstalacioni testTestiranje sistema
*
Ko i kako vri testiranje?Programer?Bezlino programiranjeNezavistan tim !Zatvorena (crna) kutija ili otvorena (bela) kutijabroj moguih logikih putanjapriroda ulaznih podatakakoliina potrebnog izraunavanjasloenost algoritma
*
Jedinino testiranje (unit testing)Ispitivanje kodaProlasci kroz kod (letimian pregled i inspekcija koda)Testiranje programskih komponentiIzbor sluajeva za testiranje (klase ulaza)Klase pokrivaju sve mogue ulaze u sistemSvaki ulazni podatak pripada samo jednoj klasi (klase su disjunktne)Ako se greka javi za konkretan ulaz, onda se mora javiti za sve ulaze iz te klasePrimer: komponenta oekuje pozitivne vrednosti na ulazujedan veoma veliki ceo pozitivan brojjedan pozitivan ceo brojjedan pozitivan decimalan brojjedan broj vei od nule ali manji od jedannulajedan negativan brojjedan nenumeriki znak
*
Jedinino testiranje (unit testing)Potpunost testiranjaTestiranje iskaza (1-2-3-4-5-6-7)Testiranje grananja (1-2-3-4-5-6-7, 1-2-4-5-6-1)Testiranje putanja (1-2-3-4-5-6-7, 1-2-3-4-5-6-1, 1-2-4-5-6-7, 1-2-4-5-6-1)*
Integraciono testiranjeTestiranje odozdo na goreRukovalac komponentom *
Integraciono testiranjeTestiranje odozgo na doleLana rutina *
Integraciono testiranjeTestiranje po principu "velikog praska" *
Integraciono testiranjeSendvi testiranje *
Planiranje testaUtvrivanje ciljeva testiranjaDizajn sluajevaPisanje sluajevaTestiranje sluajevaIzvravanje testovaOcenjivanje rezultata testiranja*
Automatizovani alati za testiranjeAlati za analizu kodaStatika analizaDinamika analizaAlati za izvravanje testaSnimanje i ponavljanjeLane rutine i rukovaociAutomatizovana okruenja za testiranjeGeneratori sluajeva za testiranje
*
Kada treba prestati sa testiranjmSejanje greakaPoverenje u softverOstali kriteriju mi za zavretakOtkrivanje koda sklonog grekama
*
ta ovo poglavlje znai za vasVano je shvatiti razliku izmeu greke (problema sa zahtevima, dizajnom, kodom, dokumentacijom ih sluajevima za testiranje) i otkaza(problema u funkcioni-sanju sistema). Cilj testiranja je da se pronau greke, a ne da se dokae ispravan rad
*
LiteraturaPfleeger, S., Softversko inenjerstvo, poglavlje 8, str.365-414.*