06.1. - Testiranje softvera Flashcards

(24 cards)

1
Q

zašto se provodi testiranje softvera

A

testiranje se provodi da bi se pokazalo da program obavlja traženu funkcionalnost i da bi se otkrili nedostaci prije samog početka korištenja programa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

što mogu detektirati rezultati testnog izvršavanja programa

A
  • greške u radu
  • neočekivane vrijednosti obrada
  • informacije o nefunkcionalnim svojstvima programa
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

koji su ciljevi testiranja

A
  1. pokazati razvojnom timu i naručitelju da softver udovoljava specifikacijama
  2. utvrditi situacije u kojima ponašanje sustava nije ispravno, nepoželjno je ili ne udovoljava traženim specifikacijama
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

zašto je softver bolje testirati ranije, a zašto kasnije

A

ranije:
- pogreške se pronalaze u ranijim fazama razvoja programa
- ispravljanje pogrešaka jeftinije
kasnije:
- ušteda vremena i napora
- razviti softver što brže
- testiranje u svim kasnijim fazama (troškovi permanentnog testiranja manji od troškova ispravljanja pogrešaka pri kasnijem testiranju)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

što uključuju troškovi procesa testiranja

A
  • pripremanje za testiranje
  • sređivanje test podataka
  • pripremanje samih testova
  • izvođenje testova
  • postupci ispravljanja svih vrsta pogrešaka
  • ponovno testiranje promijenjenog dijela softvera
  • ponovno testiranje cjelokupnog softvera
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

na koji se način organizira testiranje

A
  • testirati najkritičniji dio sustava (u vidu korisnika)
  • testirati najteži i najkompleksniji dio sustava (u vidu programiranja)
  • softver koji je “težak” za korištenje pogodan je za pojavu “ljudske greške”
  • softvere koji najmanje izgleda da bi mogao sadržavati pogreške, uglavnom je pogodan pogreškama
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

navedi dva načina testiranja

A
  1. alfa testiranje - provodi ga stvarni korisnik kod projektanta
  2. beta testiranje - provodi ga korisnik u svom okruženju
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

navedi dvije osnovne razine testiranja

A
  1. testiranje komponenti - odnosi se na testiranje funkcionalnosti komponenti
  2. integracijsko testiranje - testiranje se fokusira na interakciju između komponenti te na funkcionalnost i izvođenje sustava kao cjeline
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

objasni testne podatke i testne slučajeve

A

testni podaci - ulazi koji su izmišljeni kako bi se testirao sustav
testni slučajevi - ulazi koji testiraju sustav i predviđeni izlazi temeljeni na tim ulazima ako sustav funkcionira u skladu sa specifikacijom

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

navedi tipove testiranja komponenti

A
  • testiranje crne kutije
  • testiranje ekvivalentnim paritetom
  • testiranje bijele kutije
  • testiranje staza
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

objasni testiranje crne kutije

A
  • program se smatra crnom kutijom
  • testni slučajevi temelje se na specifikaciji sustava
  • ponašanje sustava može se odrediti proučavajući ulaze i s njima povezane izlaze
  • tester je usredotočen na funkcionalnost, ne na implementaciju sustava
  • naziva se i funkcionalno testiranje
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

objasni testiranje ekvivalentnim paritetom

A
  • ulazni podaci i izlazni rezultati često pripadaju u različite klase gdje su svi članovi srodne klase (pozitivni brojevi, negativni brojevi…)
  • svaka od ovih klasa je jedna ekvivalentna particija gdje se program ponaša na jednak (ekvivalentni) način za svakog člana klase
  • testni slučaj treba odabrati iz svake particije
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

objasni testiranje bijele kutije

A
  • testovi proizlaze iz poznavanja strukture sustava i implementacije
  • stvaranje testnih slučajeva u skladu sa strukturom programa
  • cilj: ispitati sve naredbe programa (ne sve staze)
  • naziva se i strukturalno testiranje
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

objasni testiranje staza

A
  • cilj je osigurati da se nizom naredbi testnih slučajeva može ispitati svaka staza u programu najmanje jedanput
  • polazište - dijagram toka programa koji pokazuje čvorove (mjesta odluke) i lukove (kontrolni tokovi)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

što je dijagram toka programa

A
  • opisuje kontrolu toka programa
  • svaka grana prikazana je kao odvojena staza, a petlje su prikazane strelicom koja pokazuje povrat u čvor uvjeta
  • koristi se pri izračunavanju kompleksnosti ciklusa
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

navedi tipove integracijskog testiranja

A
  • top-down testiranje
  • bottom-up testiranje
  • testiranje sučelja
  • “stres”testiranje
  • objektno-orijentirano testiranje (Testiranje scenarijem)
  • radionica za testiranje
17
Q

objasni integracijsko testiranje

A
  • testovi cijelog sustava ili podsustava sastoje se od integriranih komponenti
  • može biti kao test crne kutije s testovima sastavljenim prema specifikaciji
  • glavna poteškoća - lokaliziranje pogrešaka otkrivenih prilikom testiranja
  • korak po korak smanjuje problem lokaliziranja pogrešaka
18
Q

objasni top-down testiranje

A

koristi improvizirane elemente na nižim razinama (izmišljene podatke koje u konačnom sustavu dostavljaju moduli nižih razina (stubs)

19
Q

objasni bottom-up testiranje

A

koristi improvizirane upravljačke programe koji simuliraju pozive modulima koje se testiraju na nižoj razini (drivers)

20
Q

objasni testiranje sučelja

A
  • provodi se tek kad su moduli ili podsustavi integrirani u veći sustav
  • svaki modul ima različito sučelje preko kojeg se taj modul poziva od strane drugih komponenti
  • ciljevi: otkriti mane vezane uz pogreške sučelja i pogrešne pretpostavke o radu sučelja
21
Q

objasni “stresno” testiranje

A
  • primjenjuje se pri potpuno integriranom sustavu
  • dvije funkcije:
    1. ispitati krajnje granice sustava uz maksimalno opterećenje - mogu se otkriti prikrivene manjkavosti
    2. ispitati ponašanje sustava - provjerava se neprihvatljiv gubitak aktivnosti ili podataka
  • vrlo značajan oblik testiranja za distribuirane sustave
22
Q

objasni objektno-orijentirano testiranje

A
  • podržava i testiranje komponenti i integracijsko testiranje
  • problemi:
    -> objekti kao zasebne komponente često veći od pojedinih funkcija
    -> objekti integrirani u podsustave su slabo povezani
    -> ponovno upotrijebljeni objekti - nema pristupa izvornom kodu
23
Q

objasni testiranje temeljeno na scenariju

A
  • najučinkovitiji pristup
  • identificirati scenario iz use-cases i zamijeniti ga dijagramom slijeda (prikazuju se objekti uključeni u scenario)
24
Q

objasni radionice za testiranje

A
  • testiranje - skupa faza (laboratorijska faza)
  • primjenjuju se razni alati kako bi se smanjilo vrijeme i troškovi testiranja