FRI:UNI:Vodenje projektov:Testiranje
Iz E-študij, proste zakladnice študentskega znanja
Vsebina |
Testiranje
- osrednja aktivnost pri preverjanju kvalitete
- napake je potrebno preprečevati in sproti odkrivati
- kasneše spremembe so drage
- pri preverjanju:
- Verificiramo - ali opremo gradimo pravilno
- Validiramo - ali oprema ustreza zahtevam
- izvajamo in preverjamo, če pride do napak
- testni primeri morajo biti taki, da je verjetnost za napako čim večja
- ne moremo vedno dokazati, da napak ni!
- ne moremo vedno testirati vseh možnosti
- s psihološkega vidika je testiranje destruktivno delo
- analitiki, načrtovalci in koderji so lahko osebno prizadeti, ko jim najdemo napako ali pomanjkljivost
- če testirajo isti ljudje kot kodirajo, lahko pride ko "konflikta interesov" (izberejo lahke testne primere)
Metode testiranja
Metode bele skrinjice ali strukturna analiza
- Testiranje glavnih poti
- vsi ukazi se izvedejo vsaj enkrat
- ugotoviti moramo število testnih poti in za vsako pripraviti testni primer
- poti v diagramu poteka
- Testiranje zank
- Preproste zanke: preskoči zanko, pojdi skozi zanko enkrat, pojdi skozi zanko dvakrat, pojdi skozi zanko m-krat (m<n), pojdi skozi zanko n-1,n,n+1 krat
- Vgnezdene zanke: Začni pri notranji zanki, ostale posatvi na minimalne vrednosti; testiraj notranjo kot preprosto; nadaljuj z naslednjo, notranje postavi na tipične vrednosti, zunanje na minimalne; nadaljuj dokler nisi testiral vseh zank
Metoda črne skrinjce ali funkcionalna analiza
- kasnejše faze testiranja
- testne podatke razdelimo na ekvivalente particije (razrede), za vsak razred zadostuje en testni primer
- Analiza mejnih vrednosti
Ročne metode testiranja
- branje kode, dobro če bere tudi kdo ki ni pisal kode
- Sledenje in preverjanje
- postopna abstrakcija
Dokazovanje pravilnosti
- skušamo dokazati, da program ustreza specifikaciji
- izvedljivo le za kratke in preproste programe
- za velike programe žal ni praktično izvedljivo
Postopek testiranja
Testiranje modulov
- posamezne module testiramo po načelu bele skrinjice
- sestavimo posebno testno konfiguracijo
- bolj kot je modul notranje enoten in manj kot je soodvisen, lažje ga je testirati
Testiranje integracije
- po principu črne skrinjice
- integracija mora potekati postopno
- integriramo od zgoraj navzdol ali od spodaj navzgor
- lahko kombiniramo oba načina (da ne rabimo toliko testnih modulov)
Sistemsko testiranje
- ko je sistem že integriran
- validacija sistema
- testiranje okrevanja
- testiranje varnosti
- testiranje obremenitve
- testiranje občutljivosti
- damo v poskusno uporabo v obliki alfa in beta verzij
Razhroščevanje
- ni isto kot testiranje
- išče vzroke za napake in jih odpravlja
- razhroševanje je zahtevno
- vzrok in posledica sta lahko zelo oddaljena
- napaka lahko začasno izgine, ali pa je ne moramo reproducirati
- vzrok je zaokroževanje
- vzrok je določeno časovno zaporednje operacij
- vzrok je v napačnih predpostavkah specifikacije
Formalna tehnična recenzija
- recenzijski sestanki, recenzijske skupine
- lahko sprejmejo, pogojno sprejmejo ali pa zavrnejo produkt
- potrebno sprejeti pravila o delovanju recenzijskih skupin
- recenzirati je potrebno produkt in ne avtorje
- recenzija naj deluje konstruktivno
- skupine naj bodo sestavljene iz različno izkušenih ljudi