Testiranje programa 2014

Embed Size (px)

DESCRIPTION

Testiranje programa informatika i racunarstvo, softversko inzenjerstvo

Citation preview

  • 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.*