RPA 7. Lekcija - 1. dio Flashcards
Studying
Testiranje softvera - zašto se provodi, što detektira, dio je koje veće faze i izvršava program kakvim podacima?
▰ provodi se kako bi se pokazalo da program obavlja traženu funkcionalnost i kako bi se otkrili nedostaci prije samog početka korištenja programa
▰ Prilikom testiranja program s e izvršava korištenjem konstruiranih („izmišljenih”)
podataka
▰ Rezultati testnog izvršavanja programa mogu detektirati:
▻ Greške u radu
▻ Neočekivane vrijednosti obrada
▻ Informacije o nefunkcionalnim svojstvima programa
▰ Testiranje je dio općenitijeg procesa verifikacije i validacije procesa softvera
Ciljevi testiranja (2 cilja)
▰ 1. Pokazati razvojnom timu i naručitelju da softver udovoljava specifikacijama
▻ Uspješan test potvrđuje da softver radi kako je zamišljeno.
▰ 2. Utvrditi situacije u kojima ponašanje sustava nije ispravno, nepoželjno je ili ne udovoljava traženim specifikacijama
▻ Uspješan test je test koji pokazuje da sustav radi neispravno, i pri tome otkriva nedostatke sustava.
▻ Testovi trebaju ukazati na postojanje a ne na odsustvo nedostataka!
Kada testirati?
▰ Što ranije:
▻ Pogreške se pronalaze u
ranijim fazama razvoja programa
▻ Ispravljanje pogrešaka
jeftinije (uočena pogreška se
ne pojavljuje kasnije)
▻ Boehm: Troškovi detektiranja
i ispravljanja pogrešaka u fazi analize zahtjeva 10$, u fazi postupka testiranja 100$, u fazi implementacije 1000$.
▰ Što kasnije:
▻ Ušteda vremena i napora
▻ Razviti softver što brže
(odgovara sa aspekta rokova
ali ne i kvalitete)
▻ Testiranje u svim kasnijim
fazama (troškovi permanentnog testiranja
manji od troškova ispravljanja pogrešaka pri kasnijem testiranju)
Tko treba obavljati testiranje?
▰ Nezavisna osoba
▰ Osoba koja je razvila softver:
▻ Teško “vidi” svoje pogreške (može pronaći 25-30% svojih pogrešaka, nezavisna osoba 70%)
▻ Teško motivirati samog sebe na destrukciju učinjenog
Troškovi procesa testiranja
▻ pripremanje za testiranje (oblikovanje testa, određivanje vrste test
podataka),
▻ sređivanje test podataka (stvarni podaci spremni za testiranje),
▻ pripremanje samih testova (debugging testovi),
▻ izvođenje testova…
Organizacija testiranja
▰ vrlo je važno testirati najkritičniji dio sustava (onaj koji je najkritičniji za
korisnika),
▰ koncentrirati testiranje na najteži i najkompleksniji dio sustava, onaj kojeg je
bilo najteže programirati,
▰ softver koji je “težak” za korištenje vrlo je pogodan za pojavu “ljudske
greške”,
▰ softver koji najmanje izgleda da bi mogao sadržavati pogreške jer je iznimno
jednostavan, upravo je pogodan za pogreške.
Načini testiranja
▰ alfa testiranje - provodi ga stvarni korisnik
kod projektanta (u njegovom okruženju)
▰ beta testiranje - provodi ga korisnik u svom
okruženju.
Razine Procesa testiranja
Dvije osnovne:
▻ Testiranje komponenti
▻ Integracijsko testiranje (testiranje cjeline)
Testiranje komponenti
▻ Testiraju se pojedine programske komponente
▻ Provode ga osobe koje su razvile program i napisale kod
▻ Testovi su rezultat iskustva developera i programera
Integracijsko testiranje - kakvih grupa, kakav tim ga provodi, temelji se na?
▻ Testiranje integriranih grupa komponenti koje tvore sustav ili podsustav
▻ Provodi ga nezavisni tim
▻ Testovi se temelje na specifikaciji sustava (detaljna specifikacija zahtjeva)
▻ Moguće je da se neke previđene ili propuštene pogreške tek sada iskažu