190 likes | 408 Vues
Dodaci. Klasifikacija ispitivanja. S obzirom na odabir scenarija ispitivanja Ispitivanje zasnovano na pokrivenosti (engl. coverage) Ispitivanje zasnovano na pogreškama (engl. error) Ispitivanje zasnovano na kvarovima (engl. fault) S obzirom na izvor informacija za scenarij
E N D
Klasifikacija ispitivanja • S obzirom na odabir scenarija ispitivanja • Ispitivanje zasnovano na pokrivenosti (engl. coverage) • Ispitivanje zasnovano na pogreškama (engl. error) • Ispitivanje zasnovano na kvarovima (engl. fault) • S obzirom na izvor informacija za scenarij • Funkcijsko (engl. black box) • Strukturno (engl. white box)
Potpuno ispitivanje Važne posljedice nemogućnosti potpunog ispitivanja su: • A. Ne možemo nikad biti sigurni da će program biti bez pogrešaka. • B. Ne postoji konačni kriterij za prestanak ispitivanja, što omogućuje nekim menadžerima da se tuže da je bilo premalo ispitivanja. • C. Nema jednostavnog odgovora na to što su sve zadaci ispitivanja (što se sve očekuje da se ispita), budući da svako ispitivanje treba vremena koje je moglo biti potrošeno na druge, važnije zadatke. • D. Sve navedeno. Odgovor: ?
Praćenje kvarova i upravljanje procesom ispitivanja • Alati za praćenje kvarova (engl. Bug tracking tools) • Spremanje, praćenje, izvještavanje i upravljanje kvarovima • Integracija s različitim inačicama programa • Dosta slobodnih alata: Bugzilla, Mantis, Trac, Redmine... • Upravljanje procesom ispitivanja (engl. Test management tools) • Upravljanje čitavim procesom ispitivanja što uključuje: unit-testing, GUI-testing, integration testing • Često uključuje Bug tracking tools • Puno alata, većinom vlasničkih (engl. proprietary): IBM Rational Quality Manager, SpiraTest, Klaros-Testmanagement...
Radni okvir za ispitivanje • Test framework obično uključuje: • Definiciju oblika u kojem se izražavaju očekivani rezultati • Stvaranje mehanizma za priključivanje na ispitivani kod • Provođenje ispitivanja • Izvještavanje o rezultatima
JUnit 4.0 • Integriran u Eclipse i druga okruženja, ne mora se koristiti iz komandne linije (zamorno postavljanje CLASSPATH-a i pozivanje ispitnog razreda: java org.junit.runner.JUnitCore <test class name>) • Pojednostavljeno automatizirano ispitivanje komponenata (engl. unit testing)
Razred koji je generiran za ispitivanje Test fixture (test context) - Postavljanje okvira za ispravno provođenje ispitivanja
Modalna logika • Nužno vrijedi p: ⃣ p • Možda vrijedi p: ◊ p • Značenje u epistemičkoj logici • ⃣ p : "p zna da..." (znanje) • ◊ p : "s obzirom na to što p zna, možda je istina da..." (vjerovanje) • Značenje u vremenskoj logici • ⃣ p : "p je istinito u svakom trenutku" • ◊ p : "p je istinito u nekom trenutku"
Zadaci – propozicijska logika • Pretvori u CNF oblik sljedeću formulu propozicijske logike: • (P Q) (P R)
Zadaci – predikatna logika • Preslikajte sljedeće rečenice prirodnog jezika u formalizam predikatne logike prvoga reda (FOPL). Pritom definirajte sve potrebne predikate i konstante. • "Svako dijete je mlađe od svog oca." • "Maja voli sve životinje koje vole i nju i Ivanu." • "Svaki profesor je zaposlenik samo (točno) jednog fakulteta.“ • “U programu postoje definirana najmanje dva razreda.”
Zadaci - CTL 4. Za danu Kripke strukturu M odredi (S,R,L). Vrijede li sljedeći izrazi za stanje S0: • a) AF q • b) EG p • c) EF (q ˄ AX (p ˄ r)) S0 S2 p p, r q S1 S3
Zadaci - CTL 5. Za svako stanje sustava modeliranog Kripke strukturom odredite jesu li istiniti CTL izrazi: 1)EF EG p 2)AF (p ˄ AX p) S0 S1 p p S2
Zadaci - CTL • Nacrtajte Kripke strukturu s tri stanja takvu koja bi zadovoljila sve sljedeće CTL izraze za neko početno stanje S0: • AG(p => AX r) • AG(r => AX p) • EF p • EG !p