RačunalaSoftver

Metode testiranja softvera i da ih usporedite. metoda ispitivanja "crne kutije" testiranja i metoda "bijela kutija"

Testiranja softvera (SW) identificirati praznine, nedostatke i greške u kodu koje treba riješiti. Također se može definisati kao proces vrednovanja funkcionalnosti i ispravnosti softvera uz pomoć analize. Osnovne metode integracije i testiranje softverskih aplikacija i osigurala kvaliteta je da testira specifikacije, dizajn i kodiranje, procjena pouzdanosti, validaciju i verifikaciju.

metode

Glavna svrha testiranje softvera - potvrda kvaliteta sistemskog softvera putem sistematskog ispravljanje pogrešaka aplikacije pod pažljivo kontroliranim uvjetima kako bi se utvrdilo njihovo potpunost i tačnost, kao i otkrivanje skrivenih grešaka.

Metode provjere (testiranja) programi mogu se podijeliti na statičke i dinamičke.

Bivši uključuju neformalne, praćenje i tehnički pregled, inspekcija, korak po analiza korak, revizije, kao i statička analiza protoka podataka i upravljanje.

Dinamički tehnike su:

  1. Bijele testiranje kutiju. Ovo je detaljnu studiju unutrašnju logiku i strukturu programa. Neophodno je poznavanje izvornog koda.
  2. Crna kutija testiranje. Ova tehnika ne zahtijeva nikakvo znanje o unutrašnjem radu aplikacije. Smatramo da samo osnovne aspekte sistema, a ne u vezi ili u vezi s nekoliko svojih unutrašnjih logičke strukture.
  3. Siva metoda kutiju. Ona kombinira prethodna dva pristupa. Ispravljanje pogrešaka s ograničenim znanjem unutrašnje funkcionisanje je aplikacija u kombinaciji sa znanjem osnovnih aspekata sistema.

transparentan testiranje

Beli metoda kutije pomoću test skripte kontrolne strukture proceduralnih dizajna. Ova tehnika omogućava da se otkrije greške implementacije, kao što su loše sistem upravljanja kod analizirajući dio unutrašnjeg funkcionisanja softvera. Ove metode ispitivanja primjenjuju se na nivo integracije, modula i sistema. Tester mora imati pristup izvornom kodu i koristiti ga kako bi otkrili koji jedinica ponaša neprimjereno.

Testiranje programa bijelo-kutija ima sljedeće prednosti:

  • To omogućava da se otkrije greška u skrivenom kod uklanjanjem nepotrebnih linija;
  • korištenje nuspojave;
  • maksimalnu pokrivenost se postiže pisanjem test skripte.

nedostaci:

  • proces visokih troškova, što zahtijeva vješti debugger;
  • mnogi putevi ostaju neistraženi zbog detaljnu proveru svih mogućih skrivenih grešaka je vrlo složena;
  • neki kod će biti usvojen nezapaženo.

Bijele testiranje kutija se ponekad naziva testiranjem transparentan ili otvorene kutije, strukturni, logično testiranje, na osnovu izvornog koda, i logika arhitekture.

Glavne sorte:

1) testiranje kontrola toka - strukturne strategije pomoću modela toka programa kontrole i kao favorizovanje više jednostavnih načina za manje složenije;

2) grana je dizajniran za proučavanje debugging svaku opciju (true ili false) svakog operatora kontrole, koji uključuje i kombinovani rješenje;

3) ispitivanje glavni put, što omogućava tester uspostaviti logično složenosti mjera proceduralne projekta izolirati osnovni skup izvršenja staza;

4) provjeru toka podataka - kontrola toka strategije istraživanja beleške računati informacije o ad i koristiti program varijable;

5) ciklusa ispitivanja - potpuno fokusiran na pravilan rad cikličnih procesa.

ponašanja za ispravljanje pogrešaka

Crna kutija testiranje tretira softver kao "crna kutija" - informacije o unutrašnjem radu programa se ne broje, i provjeriti samo osnovne aspekte sistema. U ovom slučaju, tester mora da zna sistem arhitekture bez pristupa izvornom kodu.

Prednosti ovog pristupa:

  • efikasnosti za veliki broj segment;
  • olakšati percepcije tester;
  • korisnik perspektive je jasno odvojen od developer perspektive (programer i tester su nezavisne jedna od druge);
  • brže stvaranje testa.

softver testiranje metoda crna kutija ima sljedeće nedostatke:

  • zaista je izveo izaberite broj test slučajeva, što je rezultiralo u ograničenom pokrivenost;
  • nedostatak jasne specifikacije teško razviti test skripte;
  • nisku efikasnost.

Drugi nazivi za ovu tehnologiju - u ponašanju, netransparentan, funkcionalna ispitivanja i način debagovanje zatvorene kutije.

Ova kategorija može uključivati sljedeće tehnike testiranja softvera:

1) ekvivalent particiji, što može smanjiti set test podataka kao ulaznih podataka softverski modul je oborio na odvojene dijelove;

2) analiza graničnih vrijednosti fokusira na verifikaciji granice ili ekstremnih granične vrijednosti - minimalne, maksimalne i tipične vrijednosti pogreške;

3) fuzzing - koristi se za sprovođenje pretraživanje unosom greške ili je oštećen poluiskazhennyh podataka u automatskom ili poluautomatskom modu;

4) tačaka kauzalnosti - tehnika zasniva se na stvaranju grafova i utvrđivanje odnosa između akcije i svoje razloge: identitet, negacija, logički ILI i logično, i - četiri glavna lika, izražavajući odnos između uzroka i posljedice;

5) Verifikacija ortogonalnih polja primjenjuje na probleme s relativno malom ulaznom prostoru prelazi mogućnost iscrpnog istraživanja;

6) ispitivanje svih parova - tehnika gdje skup vrednosti testa čine sve moguće binarnih kombinacija svakog para ulaznih parametara;

7) ispravljanje pogrešaka država u tranziciji - tehnika korisna za provjeru statusa uređaja, kao i za kretanje kroz GUI korisnik.

Crna kutija testiranje: Primeri

crne kutije tehnika se zasniva na specifikacijama, dokumentaciju i opisi softvera sučelja ili sistema. Osim toga, možete koristiti modele (formalno ili neformalno), što predstavlja očekivano ponašanje softvera.

Tipično, ova metoda se koristi za ispravljanje pogrešaka korisnički interfejs i zahtijeva interakciju sa prijavom uvođenjem prikupljanje i rezultata podataka - od ekrana, iz izvještaja ili ispisa.

Tester, dakle, interakciju sa softverom unosom, djelujući na prekidače, dugmad ili drugih interfejsa. Izbor ulaznih podataka, redoslijed uprave ili slijed radnji može dovesti do ogromnog ukupan broj kombinacija, kao što je prikazano u sljedećem primjeru.

Koliko testova je potrebno da bi se provjeriti sve moguće vrijednosti za 4 prozora zastavu i jednokratne polje, podesite vrijeme u sekundama? Na prvi proračun pogled je jednostavan: 4 polja sa dva moguća stanja - 24 = 16, koji mora biti pomnožen sa brojem mogućih pozicija 00-99, i.e. 1600 moguće testove.

Međutim, ovaj proračun nije u redu: možemo utvrditi da polje dva poena može sadržavati prostor, tj sastoji se od dva alfanumerička položaja i mogu uključivati alfanumeričke znakove, specijalne znakove, razmake, itd Prema tome, ako .... sistem je 16-bitni kompjuter, okrenite 216 = 65536 po jedan za svaku poziciju u rezultanta 4294967296 test slučajeve koji će se pomnoži sa 16 kombinacija zastava koja daje ukupno 68.719.476 736. Ako oni obavljaju na 1 test u sekundi, ukupni Cont olzhitelnost testiranje je 2 177,5 godina. Za 32 ili 64-bitne sisteme, trajanje čak i više.

Stoga postoji potreba da se smanji taj period na prihvatljiv nivo. Dakle, tehnike treba primijeniti kako bi se smanjio broj test slučajeva bez smanjenja obima testiranja.

ekvivalencije particioniranje

Ekvivalent particija je jednostavna metoda koja je primjenjiva za bilo varijable koje su prisutne u softveru, da li je ulazni ili izlazni vrijednosti, numeričke simbolički, i drugi. On je zasnovan na principu da su svi podaci iz jedne ekvivalent particija će biti tretirani na isti način i po ista uputstva.

Tokom testiranja, odabrao jedan predstavnik svakog pojedinog ekvivalencije particiju. To vam omogućava da sistematski smanjiti broj mogućih slučajeva test bez gubitka pokrivenosti komandi i funkcija.

Još jedna posljedica ove particioniranje je da se smanji kombinatorni eksplozije između različitih varijabli i pripadajuće smanjenje test slučajeva.

Na primjer, u (1 / x) 1/2 sa tri sekvence podataka, tri ekvivalent particije:

1. Svi pozitivni brojevi će biti tretirani na isti način i treba dati ispravne rezultate.

2. Sve negativne brojeve rukuje na isti način sa istim rezultatom. To nije tačno, jer je korijen negativnog broja imaginaran.

3. Zero će se rukovati odvojeno i daju greška "podjelu po nula". Ovo je dio sa jednim vrijednosti.

Dakle, vidimo tri različite sekcije, od kojih je jedan svedena na jednu vrijednost. Postoji sekcija jedan "ispravan", koja daje pouzdane rezultate, i dva "nije u redu" s pogrešne rezultate.

analiza rubni

Obradu na granicama ekvivalent particioniranje može biti drugačiji način nego što se očekivalo. Istraga graničnih vrijednosti - dobro poznata metoda analize ponašanje softvera u takvim područjima. Ova tehnika omogućava da se identifikuju takve greške:

  • nepravilne upotrebe relacijskih operatora (<,>, =, ≠, ≥, ≤);
  • single greška;
  • Problemi u ciklusima i iteracije,
  • pogrešne vrste ili veličine varijabli se koristi za skladištenje informacija;
  • umjetnih ograničenja u vezi sa tipovima podataka i varijabli.

proziran testiranje

siva metoda kutija povećava pokrivenost test, možete se fokusirati na svim teškim nivoima sistema kroz kombinaciju crne i bijele tehnike.

Koristeći ovu tehniku, tester za razvoj testa vrijednosti treba imati znanje interne strukture podataka i algoritme. Primjeri metoda testiranja sivo-kutije su kako slijedi:

  • arhitektonski model;
  • Unified Modeling Language (UML);
  • model države (konačni automat).

U metodi sive kutije za razvoj test slučajeve studirao modula u bijeloj kodova, a stvarni test se obavlja na sučelja programa crne tehnologije.

Ove metode testiranja imaju sljedeće prednosti:

  • Kombinacija prednosti tehničar bijele i crne kutije;
  • Tester se temelji na sučelje i funkcionalnu specifikaciju, a ne izvorni kod;
  • debugger može napraviti veliki test slučajeve;
  • provjera je napravljen od stajališta korisnika, a ne dizajner programa;
  • stvoriti razvoj custom test;
  • objektivnost.

nedostaci:

  • pokrivenost test je ograničen jer nema pristup izvornom kodu;
  • složenost nedostataka u distribuirane aplikacije;
  • mnogo načina ostaju neistraženi;
  • Ako je softver developer je pokrenula test, a zatim dalje istrage može biti pretjerane.

Drugo ime za sive tehnike kutiji - proziran za ispravljanje pogrešaka.

Ova kategorija uključuje takve metode ispitivanja:

1) ortogonalni niz - upotreba podskupa svih mogućih kombinacija;

2) matrica ispravljanje pogrešaka koristeći stanje podataka programa;

3) regresivni obavljena inspekcija na novoj promjene u softver;

4) Predložak test koji analizira dizajna i arhitekture dobre aplikacije.

Poređenje tehnike testiranja softvera

Korištenje dinamičkih metoda dovodi do kombinatorni eksplozije broja testova koji treba razviti, implementirati i sprovodi. Svaki tehniku treba koristiti pragmatično, uzimajući svoja ograničenja u obzir.

Jedini pravi način ne postoji, postoji samo one koje su bolje odgovara specifičnom kontekstu. Structural Engineering nam omogućiti da pronađu beskoristan ili maliciozni kod, ali su složeni i nisu primjenjivi na velike programe. Metode zasnovane na specifikacije - jedini koji su u stanju da identifikuju kod nestalih, ali oni ne mogu identificirati autsajder. Neke tehnike su pogodne za određeni nivo test, tip greške ili kontekst u odnosu na druge.

Ispod su glavne razlike između tri tehnike dinamičkog ispitivanja - daje usporedbu tabele između tri oblika debugging softvera.

aspekt

Crne metoda kutija

Siva metoda kutija

metoda bijelo-box

Dostupnost informacija o sastavu programa

Ispituje samo osnovne aspekte

Parcijalna znanja o unutrašnjoj strukturi programa

Puni pristup izvornom kodu

Stepen fragmentacije programa

nizak

središnji

visok

Koji proizvodi za ispravljanje pogrešaka?

Krajnjim korisnicima, testeri i programeri

Krajnjim korisnicima, programerima i debageri

Programerima i testerima

baza

Testiranje se temelji na vanjskom vanrednim situacijama.

baze podataka dijagrami, dijagrami toka podataka, stanje unutrašnjeg znanja algoritma i arhitekture

Unutrašnji uređaj je u potpunosti svjestan

Stepen pokrivenosti

Manje sveobuhvatan i zahtijeva minimalno vremena

središnji

Potencijalno najsveobuhvatniji. Dugotrajan

Podataka i unutrašnjih granica

Debug samo pokušaja i pogreške

Može provjeriti domene podataka i unutrašnjih granica, ako su poznati

Najbolji domeni test podataka i unutrašnjih granica

Pogodnost testiranje algoritma

ne

ne

da

automatizacija

Automatsko metode testiranja softvera je mnogo pojednostaviti proces inspekcije, bez obzira na tehničko okruženje i kontekstu. Koriste se u dva slučaja:

1) za automatizaciju zamorno, ponavljaju ili pedantan zadatke kao što su odnosu datoteku na nekoliko hiljada redova, kako bi se oslobodili vremena za koncentraciju tester važnije poena;

2) za obavljanje praćenje ili zadatke koje se ne mogu lako obavljaju ljudi, kao što su provjeru performansi ili vrijeme odziva analiza koja se može mjeriti u stotinki sekunde.

Test alati mogu se svrstati u različite načine. Narednih podjela se zasniva na zadatke koje podržavaju:

  • upravljanje test, koji uključuje podršku projektu upravljanja, verzije, konfiguracije, analiza rizika, praćenje test, greške, nedostatke, i alat za izvještavanje;
  • upravljanje zahtjevima, koji uključuje i zahtjeve za pohranu i specifikacije ih provjeriti potpunost i nejasnoće, njihov prioritet i sljedivost svakog testa;
  • kritički osvrt i statička analiza, uključujući nadzor protoka, i zadataka, snimanje i čuvanje komentari, otkrivanje kvara i plansko upravljanje korekcije veze sa kontrolne liste i pravila, praćenje komunikacija izvorni dokumenti i kod statička analiza za detekciju kvarova, osiguravajući usklađenost sa standardima pisanja koda, analiza struktura i ovisnosti, obračun metričkih parametara kod i arhitekture. Osim toga, koristite kompajlera, analizatora, generatora i odnosa cross-reference;
  • modeliranje, koji uključuje alate za modeliranje poslovnog ponašanja i testirali modele;
  • razvoj test osigurava generaciju podataka se očekuje na osnovu uslova i modela korisnički interfejs i kod, uspjeli stvoriti ili mijenjati datoteke i baze podataka, slanje poruka, validaciju podataka na osnovu pravila upravljanja, statističke analize stanja i rizika;
  • kritički pogled unosom podataka kroz grafičko korisničko sučelje, API, komandne linije pomoću komparatora za pomoć u identifikaciji uspješnih i neuspješnih testova;
  • podrška za ispravljanje pogrešaka okruženje koje vam omogućava da zamijeniti hardver nedostaje ili softvera, u Vol. h. Simulacija opreme na osnovu određenih izlaz podskup, terminal emulatora, mobilnih telefona i mrežne opreme, okruženje za provjeru jezika, operativni sistemi i hardver zamjenom vozača nedostaje komponente, fiktivne modula, itd, kao i alate za snimanje i dopunama OS traži simulacije CPU ograničenje, RAM, ROM, ili mreže .;
  • .. Poređenje datoteka podataka, baze podataka, provjerite očekivane rezultate tokom i nakon završetka testiranja, uključujući dinamičan i serije usporedbu, Automatik "Oracles";
  • premaz mjerenja za lokalizaciju curenje memorije i pogrešnog sistema procjene svoju kontrolu ponašanja pod simuliranim generiranje load aplikacije, baze podataka, mreže ili servera u realnom scenariju rasta za mjerenje, analizu i verifikaciju izvještaja sistemskih resursa;
  • sigurnost;
  • testiranje performansi, opterećenje i dinamička analiza;
  • drugih alata, u Vol. h. provjeriti pravopis i sintaksu, sigurnost mreže, dostupnost svih web stranica stranica i drugih.

perspektiva

Sa promenom trendovi u softverskoj industriji, proces ispravljanje pogrešaka je i podložne su promjenama. Postoje nove metode testiranja softvera, kao što su servis-orientirovannae arhitekture (SOA), bežične tehnologije, mobilne usluge, i tako dalje. E., otvorile su nove načine testiranja softvera. Neke od promjena koje se očekuju u industriji u narednih nekoliko godina su navedene ispod:

  • testeri će osigurati lagan model koji će programeri moći provjeriti svoj kod;
  • razvoj metoda testiranja, uključujući i gledanje i modeliranje programa u ranoj fazi, će eliminirati mnoge kontradiktornosti;
  • prisustvo testa više presretanja će skratiti vrijeme otkrivanja pogreške;
  • Statički analizator i otkrivanje znači da se više u širokoj upotrebi;
  • korištenje mineralnih matrica, kao što je pokrivenost specifikacije, obim pokrivenosti modela i kod će odrediti razvoj projekata;
  • kombinatorna alati omogućavaju testeri odrediti prioritetna područja za ispravljanje pogrešaka;
  • testeri će pružiti više intuitivan i dragocjene usluge tokom procesa razvoja softvera;
  • debageri može stvoriti alate i metode ispitivanja softver koji je napisao u i interakciju sa različitim programskim jezicima;
  • Ispravljanje pogrešaka stručnjaci će biti više profesionalno osposobljeni.

Će biti zamijenjen novim metodama testiranja softvera poslovno orijentisane, promijeniti način interakcije sa sistemima i informacija koje oni daju, uz istovremeno smanjenje rizika i povećanje prednosti poslovnih promjena.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bs.atomiyme.com. Theme powered by WordPress.