Računala, Softver
Metode testiranja softvera i usporedite ih. metoda ispitivanja „crne kutije” testiranja i metoda „bijeli okvir”
Testiranje softvera (SW) identificirati praznine, nedostatke i pogreške u kodu koji treba riješiti. Također se može definirati kao proces vrednovanja funkcionalnost i ispravnost softvera uz pomoć analize. Osnovne metode integracije i testiranje softverskih aplikacija i osigurala kvaliteta je testirati specifikacija, dizajn i kodiranje, procjenu pouzdanosti, valjanosti i provjeru.
metode
Glavna svrha testiranja softvera - potvrda kvalitete softverskog sustava kroz sustavni ispravljanje pogrešaka aplikacija pod strogo kontroliranim uvjetima kako bi se utvrdila njihova potpunost i točnost, kao i otkrivanje skrivenih pogrešaka.
Metode provjere (ispitivanja) programi mogu se podijeliti u statički i dinamički.
Bivši su neformalni, praćenje i tehnički pregled, inspekcija, korak po korak analize, revizije, kao i statička analiza protoka podataka i upravljanje.
Dinamički tehnike su:
- Bijela box testiranje. To je detaljno proučavanje unutarnje logike i strukturi programa. Potrebno je poznavanje izvornog koda.
- Crna box testiranje. Ova tehnika ne zahtijeva nikakvo znanje o unutrašnjem djelovanju zahtjeva. Uzmemo u obzir samo osnovne aspekte sustava, a ne odnose na ili su povezani s nekoliko svom unutarnjem logičke strukture.
- Sivi metoda kutija. Ona kombinira dva prethodna pristupa. Ispravljanje pogrešaka s ograničenim znanjem o unutarnjem funkcioniranju primjene u kombinaciji s poznavanjem osnovnih aspekata sustava.
transparentan testiranje
Bijeli metoda okvir pomoću test skripte kontrolirati strukturu procesnog dizajna. Ova tehnika omogućuje da otkrije provedbe pogreške, kao što su loše upravljanje kod sustava analizom dijela unutrašnjem djelovanju softvera. Ove metode ispitivanja primjenjuju se na razinama integracije, modula i sustava. Ispitivač mora imati pristup izvornom kodu i koristiti ga kako bi saznali koja jedinica ponaša neprimjereno.
Testiranje programe bijelo-box ima sljedeće prednosti:
- To omogućuje da otkrije grešku u skrivenom kodu uklanjanjem nepotrebnih linija;
- upotreba nuspojava;
- Maksimalna pokrivenost se postiže pisanjem test skripte.
nedostaci:
- Postupak visoke cijene, zahtijevaju vješt debugger;
- mnogi načini ostaju neistraženi zbog temeljita provjera svih mogućih skrivenih grešaka je vrlo složena;
- neke od koda će biti donesen nezapaženo.
Bijela box testiranje se ponekad naziva ispitivanjem transparentan ili otvorenu kutiju, strukturni, logično testiranje, koji se temelji na izvorni kod i logiku arhitekture.
Glavni sorte:
1) Ispitivanje na kontrolu toka - strukturne strategije pomoću modela toka programa kontrole i kao favoriziranje više jednostavnih načina za manje složeniji;
2) grana zamišljen je za proučavanje ispravljanje pogrešaka svaku mogućnost (točno ili netočno) svake kontrolne operatora, koji uključuje kombiniranu otopina;
3) ispitivanje glavne staze, koja omogućuje tester uspostaviti logično složenost mjeru proceduralni projekt za izoliranje osnovni skup izvršenja stazama;
4) provjeru protoka podataka - kontrolu protoka strategiju istraživanja od strane bilješke računati informacije o oglasu i koristiti programske varijable;
5) ciklusa ispitivanja - potpuno usredotočen na ispravan rad cikličkih procesa.
ponašanja za ispravljanje pogrešaka
Crna kutija testiranje tretira softvera kao „crna kutija” - podaci o unutrašnjem djelovanju programa ne broje, i provjeravaju samo osnovne aspekte sustava. U tom slučaju, tester treba znati arhitekture sustava bez pristupa izvornom kodu.
Prednosti ovog pristupa:
- učinkovitost za velike code segmentu;
- jednostavnost percepcije tester;
- Korisnik perspektiva jasno je odvojena od razvojne perspektive (programer i tester neovisni međusobno);
- brže stvaranje testa.
Softver testiranje metoda crne kutije ima sljedeće nedostatke:
- zaista izvodi odabrani broj test slučajeva, što je rezultiralo u ograničenom pokrivenost;
- Nedostatak jasne specifikacije teško razviti test skripte;
- niska učinkovitost.
Drugi nazivi za ovu tehnologiju - bihevioralna, netransparentan, funkcionalna ispitivanja i postupak uklanjanja zatvorenog okvira.
Ova kategorija može uključivati sljedeće tehnike testiranja softvera:
1) ekvivalentno particije, što može smanjiti skup testnih podataka i podaci unos softverski modul se podijeliti u odvojene dijelove;
2) analiza granična vrijednost fokusira na verifikaciju granica ili ekstremnim graničnih vrijednosti - minimalne, maksimalne i tipične vrijednosti pogreške;
3) dlačica - koristi se za provedbu pretraživanje unosom pogreške ili oštećene poluiskazhennyh podataka u automatskom ili poluautomatskom modu;
4) broji uzročnosti - tehnika koja se zasniva na stvaranju grafikona i određivanje odnosa između djelovanja i njegovih razloga: identitet, negaciju, logično OR i logično I - četiri glavne likove, izražava odnos između uzroka i posljedice;
5) Provjera ortogonalnim nizovima primijeniti na probleme s relativno malom ulaznom prostoru prelazi mogućnost iscrpnog istraživanja;
6) testiranje sve parove - tehniku gdje skup ispitivanja uključuje sve moguće vrijednosti binarne kombinacije svakog para ulazne parametre;
7) za ispravljanje pogrešaka stanje tranzicije - tehnika korisna za provjeru statusa uređaja, kao i za kretanje kroz GUI korisnika.
Crna box testiranje: Primjeri
crna kutija tehnika temelji se na specifikacijama, dokumentaciju i opise softverskog sučelja ili sustava. Osim toga, možete koristiti modele (formalne ili neformalne), što predstavlja očekivanu ponašanje softvera.
Tipično, ova metoda se koristi za ispravljanje pogrešaka korisničko sučelje i ne zahtijeva interakciju s primjenom uvođenjem prikupljanja podataka i rezultata - od ekrana, iz izvješća ili ispisa.
Tester, dakle, u interakciju sa softverom unosom, djelujući na prekidačima, gumbi ili drugih sučelja. Izbor ulaznih podataka, redoslijed primjene ili nizu akcija može dovesti do velikog ukupnog broja kombinacija, kao što je prikazano u sljedećem primjeru.
Koliko testovi trebate napraviti kako bi se provjerilo sve moguće vrijednosti za 4 prozora zastave i jednokratne polje, podesite vrijeme u sekundama? Na prvi obračun vida je jednostavan: 4 polja s dva moguća stanja - 24 = 16, koja mora biti pomnožen s brojem mogućih pozicija od 00 do 99, tj 1600 mogućim testovima.
Međutim, ovaj izračun je pogrešno: možemo utvrditi da su dvije točke polje može sadržavati prostor, tj sastoji se od dva alfanumeričkih pozicije i može sadržavati samo alfanumeričke znakove, posebne znakove, razmake itd Dakle, ako .... sustav je 16-bitna računala, okrenite 216 = 65.536 jedan za svaku poziciju u nastalim 4294967296 test slučajeva koji su se množi s 16 kombinacija zastavica koja daje ukupno 68,719,476 736. Ako se obavljanje na 1 testu u sekundi, ukupna Cont olzhitelnost testiranje je 2 177,5 godina. Za 32 ili 64-bitne sustave, trajanje čak i više.
Stoga postoji potreba da se smanji taj period na prihvatljivu razinu. Dakle, tehnike treba primjenjivati kako bi se smanjio broj test slučajeva, bez smanjenja opsega ispitivanja.
Ekvivalent particioniranje
Ekvivalent particija je jednostavna metoda koja je primjenjiva za sve varijable koje su prisutne u softveru, da li ulaznim ili izlaznim vrijednostima, simboličke, prikaz brojeva i drugih. Ona se temelji na načelu da svi podaci iz ekvivalentom particije će biti tretirane na isti način i po iste upute.
Tijekom testiranja, odabrani po jednog predstavnika svakog pojedinog particiju ekvivalencije. To vam omogućuje da sustavno smanjiti broj mogućih test slučajeva, bez gubitka pokrivenosti naredbi i funkcija.
Druga posljedica ovog particioniranje je smanjiti kombinacijske eksploziju između različitih varijabli i pripadajućeg smanjenja test slučajeva.
Na primjer, (1 / x) 1/2 pomoću tri sekvence podataka, tri ekvivalent raspodjele
1. Svi pozitivni brojevi će biti tretirani na isti način i treba dati točne rezultate.
2. Sve negativni brojevi su postupati na isti način, s istim rezultatom. To je netočno, jer je korijen negativnog broja je zamišljeno.
3. Zero će biti obrađene pojedinačno i dati pogrešci „dijeljenje s nulom”. To je poglavlje s jednom vrijednošću.
Dakle, vidimo tri različite sekcije, od kojih je jedan svesti na jednu vrijednost. Postoji jedan „ispravan” odjeljak, koji daje pouzdane rezultate, a dva „pogrešno” netočnih rezultata.
Analiza granična vrijednost
Obrada na granicama ekvivalentne particioniranje može učiniti drugačije nego što se očekivalo. Istraživanje graničnih vrijednosti - dobro poznata metoda analize ponašanje softvera u takvim područjima. Ova tehnika omogućuje da se identificiraju takve pogreške:
- nepravilna upotreba relacijske operatera (<,> =, ≠, ≥, ≤);
- jedan pogreška;
- problemi u ciklusima i iteracija,
- krive vrste ili veličine varijable koje se koriste za pohranu podataka;
- umjetna ograničenja povezana s tipovima podataka i varijabli.
proziran testiranje
siva metoda kutija povećava test pokrivenost, možete se usredotočiti na svim teškim razinama sustava kroz kombinaciju crne i bijele tehnike.
Korištenjem ove tehnike, tester za razvoj ispitnih vrijednosti treba imati znanje o unutarnjim strukturama podataka i algoritmima. Primjeri metoda ispitivanja sivo-box su kako slijedi:
- arhitektonski modelu;
- Ujedinjeni Modeling Language (UML);
- stanje modela (konačni automat).
U metodi sivi okvir za razvoj test slučajeva studirao modula u bijelim inženjering kodova, a stvarni test se izvodi na sučeljima crnim tehnoloških programa.
Ove metode ispitivanja imaju sljedeće prednosti:
- Kombinacija prednosti tehničar bijele i crne kutije;
- Tester temelji se na sučelje i funkcionalnim specifikacijama, a ne izvornog koda;
- debugger može napraviti veliki test slučajeva;
- provjerava se da s točke gledišta korisnika, a ne dizajner programa;
- stvoriti prilagođeni razvoj testa;
- objektivnost.
nedostaci:
- test pokrivanja je ograničena jer nema pristup izvornom kodu;
- složenost nedostataka u distribuiranih aplikacija;
- mnogo načina ostaju neistraženi;
- ako je softver razvijen je pokrenula test, onda daljnja istraživanja može biti pretjerana.
Drugi naziv za sivi okvir tehnika - proziran za ispravljanje pogrešaka.
Ova kategorija uključuje takve metode ispitivanja:
1) ortogonalan niz - upotreba podskup sve moguće kombinacije;
2) matrica za uklanjanje insekata uporabom stanje podataka programa;
3) regresivan inspekcija provedena na nove promjene u softver;
4) ispitni uzorak koji se analizira dizajn i arhitekturu dobar zahtjeva.
Usporedba testiranja softvera tehnike
Uporaba dinamičkih metoda dovodi do kombinatorne eksplozije broja testova koje treba razviti, implementirati i provoditi. Svaka tehnika treba koristiti pragmatično, uzimajući svoja ograničenja u obzir.
Jedini pravi način ne postoji, postoji samo one koje su bolje prilagođen specifičnom kontekstu. Građevinski inženjering nam omogućiti da pronađete beskorisna ili zlonamjernog koda, ali su složeni i ne odnosi na velike programe. Metode temeljene na specifikacijama - jedini koji su u stanju prepoznati kod nedostaje, ali oni ne mogu identificirati autsajder. Neke tehnike su više pogodna za određenu razinu testa, vrsta pogreške ili kontekstu od drugih.
Ispod su glavne razlike između tri dinamičke tehnike ispitivanja - je dao tablicu usporedbe između tri oblika ispravljanje pogrešaka softver.
aspekt | Metoda crna kutija | Grey metoda kutija | metoda bijelo-box |
Dostupnost informacija o sastavu programa | Ispituje samo osnovne aspekte | Djelomična znanja o unutarnjoj strukturi programa | Puni pristup izvornom kodu |
Stupanj fragmentacije programa | nizak | središnji | visok |
Tko proizvodi ispravljanje pogrešaka? | Krajnjim korisnicima, testerima i programeri | Krajnjim korisnicima, programerima i debuggers | Razvojnim inženjerima i testerima |
baza | Ispitivanje se temelji na vanjskim izvanrednim situacijama. | Dijagrami baze podataka, dijagrami toka podataka, stanje unutarnjeg znanja algoritma i arhitekture | Unutarnji uređaj je potpuno svjestan |
Stupanj pokrivenosti | Manje sveobuhvatan i zahtijeva minimalno vremena | središnji | Potencijalno najopsežniji. Dugotrajan |
Podaci i unutarnje granice | Debug samo metodom pokušaja i pogreške |
Može se provjeriti domene podataka i unutarnjih granica, ako su poznati | Najbolji domene Ispitivanje podataka i unutarnje granice |
Prikladnost algoritam za ispitivanje | ne | ne | da |
automatizacija
Automatski metode testiranja softvera je mnogo pojednostaviti proces pregleda, bez obzira na tehničkom okruženju i kontekstu. Oni se koriste u dva slučaja:
1) za automatizaciju zamorno, ponavljajući ili pedantan zadatke kao što su usporedbe datoteka na nekoliko tisuća redaka kako bi oslobodili put za koncentraciju tester važniji boda;
2) za obavljanje pretvorbe i zadatke koji se ne može lako raditi osobe poput provjere performansi ili analize vrijeme odziva koji se može izmjeriti u stotinki sekunde.
Test alati mogu se razvrstati na različite načine. Sljedeća podjela temelji se na zadatke koje oni podržavaju:
- Upravljanje test, koji uključuje podršku za upravljanje projektima, verzije, konfiguracije, analizu rizika, test za praćenje, pogreške, nedostatke i alata za izvješćivanje;
- upravljanje zahtjevima, koji uključuje zahtjeve za pohranu i specifikacije, provjerite ih za potpunost i dvosmislenosti, prioritetu i sljedivost svakog testa;
- kritički osvrt i statička analiza, uključujući praćenje tijeka i zadataka, snimanje i pohranu komentari, otkrivanje kvarova i planiranih ispravaka za upravljanje linkovima na provjeru i pravila, praćenje komunikacija izvornih dokumenata i kod statičke analize za otkrivanje grešaka, osigurati sukladnost sa standardima od pisanja koda, analiza strukture i ovisnosti, izračun metrički parametara kod i arhitekture. Osim toga, koristite prevodiocima, analizatori, generatori i odnosa unakrsnih referenci;
- modeliranje, koja uključuje alate za modeliranje poslovnog ponašanja i test modela;
- Razvoj test osigurava stvaranje podataka očekuje se na temelju uvjeta i modela korisničkog sučelja i kod, uspjeli stvoriti ili mijenjati datoteke i baze podataka, poruka, provjera valjanosti podataka na temelju pravila upravljanja, statističke analize uvjeta i rizika;
- kritički pogled unosom podataka putem grafičkog korisničkog sučelja, API, naredbeni redak komparatora pomoći identificirati uspješnih i neuspješnih ispitivanja;
- Podrška za ispravljanje pogrešaka okruženje koje omogućuje zamjenu nedostaje hardvera ili softvera, u god. h. Simulacija opreme na temelju utvrđenog izlaz podskup, terminal emulatora, mobilne telefone i mrežne opreme, okoliša za provjeru jezika, operativne sustave i hardver zamjenom vozača nedostaju komponente, izmišljeni moduli, itd, kao i alata za hvatanje i mijenjanja OS zahtijeva CPU simulacije ograničenja, RAM, ROM, ili mreže .;
- .. Usporedba podatkovne datoteke, baze podataka, provjeriti očekivane rezultate tijekom i nakon završetka testa uključujući dinamičan i serije usporedbu, Automatski „proročanstva”;
- premazivanje mjerenje za lokalizaciju memory leaks i netočne njihova kontrola ponašanja sustava procjenu pod simuliranim aplikacija koja stvara opterećenje opterećenje, baze podataka, mreže ili poslužitelja u realnom scenariju rasta za mjerenje, analizu i verifikaciju izvješća resurse sustava;
- sigurnost;
- testiranje, učitavanje i dinamička analiza;
- drugi alati, u Vol. h. provjeriti pravopis i sintaksu, sigurnost mreže, dostupnost svih web stranica i drugih.
perspektiva
S promjenom trendova u softverskoj industriji, proces ispravljanje pogrešaka je i podložne su promjeni. Tu su nove metode testiranja softvera, kao što su usluge-orientirovannae arhitekture (SOA), bežične tehnologije, mobilne usluge, i tako dalje. E., otvorile su se nove načine za testiranje softvera. Neke od promjena koje se očekuju u industriji tijekom sljedećih nekoliko godina su navedene u nastavku:
- testeri će pružiti lagani model koji programeri će moći provjeriti svoj kod;
- Razvoj metoda ispitivanja, uključujući i pregled i modeliranje programa u ranoj fazi, će eliminirati mnoge proturječnosti;
- Prisutnost više presretanja testa će skratiti vrijeme detekcije pogreške;
- Statički analizator i otkrivanje znači biti više koristi;
- upotreba mineralnih matrice, kao što obuhvata specifikacije, opseg modela i kod pokrivenost će odrediti razvoj projekata;
- kombinatorni alati omogućuju testeri za određivanje prioritetnih područja za ispravljanje pogrešaka;
- testeri će pružiti više intuitivno i vrijedne usluge u cijelom procesu razvoja softvera;
- debuggers može stvoriti alate i softver metode ispitivanja pisanih i interakciji s raznim programskim jezicima;
- Ispravljanje pogrešaka stručnjaci će se više stručno osposobljeni.
Će biti zamijenjen novim poslovnim orijentirana metoda testiranja softvera, promijeniti način interakcije sa sustavima i informacije koje pružaju, dok smanjenje rizika i povećanje prednosti poslovnih promjena.
Similar articles
Trending Now