2. ispitivanje Flashcards
(54 cards)
Što je validacija a što verifikacija?
Validacija odgovara na pitanje gradimo li ispravan sustav, tj. zadovoljava li sustav funkcijske zahtjeve. Validacija se provodi ispitivanjem sustava.
Verifikacija odgovara na pitanje gradimo li sustav ispravno, tj. zadovoljava li sustav zahtjeve na ispravan način. Verifikacija uključuje provjeru poželjno zasnovanu na formalnim matematičkim logičkim metodama.
Tehnike verifikacije programa
@Statička verifikacija – ispitivanje strukture i provjera ispravnosti;
# nadzor izvornog koda(prolazak,nadzor)
# analizatori programa
# formalne metode
-sintaksne i semantičke greške
@Dinamička verifikacija – pokretanje programa s realnim podacima i traženje grešaka
@Formalna verifikacija - primjena formalnih metoda matematičke logike za dokazivanje ispravnosti programa
Vrste ispitavanja
1.)Ispitivanje komponenti
2.)Integracijsko ispitivanje
3.)Ispitivanje sustava – ispitivanje prihvatljivosti, ispitivanje performansi, ispitivanje instalacije
(komponente i moduli, sustav, prihvatljivost)
Kvar
Proglašeni uzročnik problema, unosi se pri oblikovanju ili programiranju
Pogreška
Manifestacija kvara, uzrokuje zatajenje
Zatajenje
Neispravno ponašanje sustava s obzirom na zahtjeve, problem vidljiv izvan sustava
Paretov princip
Mali broj pogrešaka dovodi do velikog broja zatajenja(20/80)
Regresijsko ispitivanje
Ponovljeno ispitivanje nakon promjene ili popravka koda s ciljem potvrđivanja ispravnosti promjena i nepostojanje negativnog utjecaja na nepromjenjene dijelove programa
V model ispitivanja
Ispitivanje se provodi nakon implementacije
V model s ranom pripremom
Priprema ispitivanja paralelno s razvojem
W model
Ispitivanje paralelno s razvojem aplikacije
Ispitni slučaj
Uređeni par (I,O) ispitnih podataka i očekivanog izlaza koji je zabilježen prije provođenja ispitivanja. Uspoređujemo stvarni izlaz s očekivaim pomoću kriterija prolaza ispitnog slučaja. Primjer glasovanje
Potpuno ispitivanje
- )Ispitivanje svih mogućih vrijednosti varijabli
- )svih mogućihk kombinacija ulaza
- )svih mogućih sekvenci izvođenja programa
- )svih mogućih HW/SW konfiguracija
- )svih mogućih načina uporabe programa
Ispitivanje komponenti
Ispitivanje koda na pogreške u algoritmima, podacima, sintaksi. Provodi se u kontextu specifikacije zahtjeva. Verificira rad programskih dijelova koje je moguće neovisno ispitivati, pojedinačne funkcije ili metode unutar objekta, klase objekata s više atributa i metoda, složene komponente s definiranim sučeljem-. Postoji pristup programskom kodu - white box.
Slučajno ispitivanje u OO
- )Identificirati operacije primjenjive na razred
- )Definirati ograničenja na njihovo korištenje 3.)Identificirati minimalni ispitini slučaj
- )Generirati niz ispravnih slučajnih ispitnih sekvenci.
Tipovi sučelja programskih komponenti.
- )Parametarsko - podaci i funkcije prenose se pozivima procedure
- )Dijeljena memorija
- )Proceduralno sučelje - komponente obuhvaćaju skup procedura koje pozivaju ostali podsustavi
- )Sučelje zasnovano na porukama - podsustavi traže usluge od ostalih podsustava slanjem poruke(klijent-poslužitelj)
Integracijsko ispitivanje
Proces verifikacije interakcije programskih komponenti,. Cilje osigurati zajednički rad grupe komponenti prema specifikacije zahtjeva. OSnovni problem_lokalizacija pogrešaka zbog složenih interakcija
Veliki prasak
integrirati sve komponente bez prethodnog ispitivanja, problem otkrivanja mjesta pogreške
Funkcijska integracija
Integriranje komponente u konzistentne funkcje bez obzira na hijerarhijsku strukturu, kombinacija najčešće
Ispitivanje sustava
Proces ispitivanja inačice namijenjene korisniku. Osnovni cilj provjera podudarnosti s funkcijskim zahtjevima
Iscrpno ispitivanje
Svih mogućih scenarija, moguće samo za ograničene primjere
Poboljšani veliki prasak
Integracija svih komponenti nakon provedenog ispitivanja, i dalje je problem otkriti mjesto pogreške
Inkrementalni pristup
Integracija i ispitivanje sustava dio po dio, uobičajen pristup u praksi, efikasan u lokalizacija mjesta pogreške
Top down – Inkrementalno integracijsko ispitivanje
Razviti kostur sustava i popuniti ga komponentama, ne treba razvijati upravljačke programe