RačunalaSoftver

Programi za testiranje - postupak za otkrivanje pogrešaka u softveru proizvoda

U razvoj softvera, značajan dio proizvodnog procesa temelji se na testiranja softvera. Što je to i kako je takva aktivnost će se raspravljati u ovom članku.

Ono što se naziva test?

To se odnosi na proces trčanje softver za otkrivanje lokacije nepravilne uporabe koda. Za najbolje rezultate, namjerno konstruiran teško skup ulaznih podataka. Glavna svrha inspekcije je stvoriti najbolju priliku za neuspjeh softvera. Iako ponekad testiranje razvijenog programa može biti pojednostavljen do rutinske provjere radne sposobnosti i obavljanje funkcije. To štedi vrijeme, ali je često popraćena nepouzdanosti softver, korisnički nezadovoljstva, i tako dalje.

efikasnost

Koliko dobro i brzo su pogreške, značajan utjecaj na cijenu i trajanje razvoja softvera potrebne kvalitete. Dakle, unatoč činjenici da testeri primaju plaću nekoliko puta manji nego programeri, cijena njihovih usluga je obično do 30 - 40% od cijene cijelog projekta. To je s obzirom na broj osoblja, budući da je potraga za pogrešku - to je neobičan i prilično težak proces. No, čak i ako je softver je prošao respektabilan broj testova, nema garancije 100% da je greška neće dogoditi. Samo ne znam kad se pojave. Za poticanje testerima odabrati vrste testova koji su više vjerojatno da će pronaći grešku, različite motivacije alati se koriste: i moralnu i materijalnu.

Pristup na posao

Optimalno je kada se provode različite mehanizme kako bi se osiguralo da se greške u softveru nije od početka. Da biste to učinili, morate voditi brigu o pravilnom arhitektura dizajn, jasne zadatku, a to je važno ne napraviti prilagodbe u komunikaciji, kad je već počela raditi na projektu. U tom slučaju, tester zadatku pronalaženja i identifikacije mali broj grešaka koje ostaju u konačnom rezultatu. To će uštedjeti vrijeme i novac.

Što je test?

Ovo je važan aspekt inspekcijskih aktivnosti, što je potrebno za uspješno otkrivanje grešaka u kodu. Oni su potrebni kako bi se kontrolirala pravilnu primjenu. Što je uključeno u testu? Sastoji se od podataka i njihove početne vrijednosti koja treba biti dobiveni kako je nastalo ili (intermedijer). Kako bi se uspješno identificirali probleme i nedosljednosti, testovi bi trebali biti nakon razvijen algoritam, ali nije početak programiranja. Poželjno je koristiti nekoliko pristupa za procjenu potrebne podatke. U tom slučaju, povećava vjerojatnost otkrivanja pogreške, jer možete pregledati koda iz drugačije perspektive. Složeni testovi moraju osigurati provjeru vanjskih učinaka gotovih softverskih proizvoda, kao i njegovih radnih algoritmima. Od posebnog interesa i dati granične degenerirani slučajeve. Dakle, u praksi pogreške često mogu otkriti da je ciklus radi na jednom ili više puta manje nego što je planirano. Važan je i testiranje računala, kroz koji možete provjeriti željeni rezultat na različitim strojevima. To je potrebno kako bi bili sigurni da je softver će raditi na svim računalima. Osim toga, računalo test, na kojem je razvoj će se provoditi, važan je u stvaranju razvoj multi-platforma.

Umjetnost za rješavanje problema

Programi često imaju za cilj da rade s velikim skupovima podataka. Je li potrebno stvoriti potpuno? Ne. Rasprostranjena stekli praksu „minijaturizacije” programa. U tom slučaju postoji opravdana smanjenje volumena podataka u usporedbi s onim koji će se koristiti. Pogledajmo primjer: tu je program koji stvara matricu veličine 50x50. Drugim riječima - morate ručno unijeti 2500 vrijednosti. To je svakako moguće, ali to će potrajati jako dugo vremena. No, kako bi se testirala funkcionalnost, softver prima matricu čija je dimenzija 5x5. Da biste to učinili, morat ćete unijeti više od 25 vrijednosti. Ako se, u ovom slučaju, normalno, bez pogrešaka rad, to znači da je sve u redu. Iako postoje zamke koje leže u činjenici da s javlja minijaturizacija situacija, što je rezultiralo promjenom postaje implicitni i privremeno nestati. Također je vrlo rijedak, ali još uvijek se događa je da postoje nove greške.

ciljevi potjeru

Testiranje nije lak zadatak s obzirom na činjenicu da je taj proces nije pogodan za formalizaciju u cijelosti. Veliki programi gotovo nikada imati potrebne točne presedan. Dakle, kao smjernica za korištenje brojne neizravne podatke, koji, međutim, ne može u potpunosti odražavaju karakteristike i funkcije za razvoj softvera koji debugiran. Osim toga, oni bi trebali biti odabrani tako da je ispravan rezultat izračunava se prije kako softver proizvod će biti ispitan. Ako ne unaprijed, to je primamljiva da razmislite sve o, a ako je rezultat stroja dobiva u očekivanom rasponu, to će biti donijeli pogrešnu odluku, je li sve točno.

Provjerite u različitim uvjetima

U pravilu, testiranje programa pojavljuje u količinama koje su potrebne za minimalnu testa funkcionalnosti u ograničenoj mjeri. Aktivnosti koje se provode s promjenom parametara, kao i njihovim radnim uvjetima. Testiranje se može podijeliti u tri faze:

  • Provjerite u normalnim uvjetima. U ovom slučaju smo test osnovnu funkcionalnost razvijenog softvera. Rezultat mora odgovarati očekivana.
  • Provjerite u ekstremnim uvjetima. U tim slučajevima, kao sinonim graničnim podataka što može negativno utjecati na rad stvorio softver. Kao primjer, radimo s vrlo malim ili velikim brojevima ili čak potpuni izostanak informacija.
  • Provjera u iznimnim situacijama. To uključuje korištenje podataka koji su izvan liječenja. U takvim situacijama, to je jako loše kad ih je softver percipira kao korisno izračun i daje uvjerljivo rezultat. Treba voditi računa da se u takvim slučajevima postoji odbacivanje bilo podataka koji se ne mogu pravilno obrađene. Također je potrebno osigurati za informiranje korisnika o tome

Testiranje: Tipovi

Stvaranje softver bez pogreške je vrlo teško. To zahtijeva znatnu količinu vremena. Da biste dobili dobar proizvod se često koristi dvije vrste ispitivanja: „Alfa” i „Beta”. Što su oni? Kada ljudi govore o alfa testiranje, to znači da je pregled koji se ponio u stanju razvoja „laboratorijskim” uvjetima. Ovo je posljednja faza testiranja prije nego što program će se prenijeti na krajnje korisnike. Dakle, programeri pokušavaju okrenuti maksimuma. Radi lakšeg rada, podaci mogu biti prijavljeni da biste stvorili kronologiju problema i njihovih rješenja. Pod beta test razumjeti opskrbu softvera na ograničenom broju korisnika, tako da oni mogu iskoristiti program i identificirati pogreške koje ste propustili. Posebnost je u ovom slučaju je činjenica da često softver ne koristi za namjeravanu svrhu. Zbog tog neuspjeha će se identificirati gdje je bio ništa vidio. To je sasvim normalno i brinuti o tome nije potrebno.

Test Završetak

Ako prethodni koraci su uspješno završena, ostaje za obavljanje prihvaćanje ispitivanja. On je u ovom slučaju postaje samo formalnost. Tijekom ovog testa dolazi potvrda da nema dodatnih problema su pronađeni i softver može biti pušten na tržište. Najvažnije će biti krajnji rezultat, više usko treba provjeriti. Njega treba poduzeti kako bi se osiguralo da su svi koraci su uspješno završena. Ovdje je proces testiranja u cjelini. Sada ćemo kopati u tehničke detalje i govoriti o takvom koristan alat, kao i test programa. Što su i kada se koristi?

računalno testiranje

Ranije se smatralo da je dinamička analiza razvijenog softvera - to je preteško pristup koji učinkovito koristiti za otkrivanje grešaka. No, zbog sve veće složenosti i opsega programa pojavio suprotno stajalište. Automatizirano ispitivanje se koristi u kojoj su najvažniji prioriteti su učinkovitost i sigurnost. I oni bi trebali biti pod bilo koji ulaz. Kao primjer, programi za koje je poželjno da takva ispitivanja, uključuju sljedeće: mrežne protokole, web server, okvira. Mi i dalje gledati na nekoliko uzoraka, koji se mogu koristiti za takve aktivnosti. Ako ste zainteresirani za besplatne programe za testiranje, kvaliteta je teško pronaći među njima. No, tu su puknut „piratske” verzije dobro uhodanim projektima, tako da se može odnositi na njihove usluge.

lavina

Ovaj alat pomaže da se otkriju nedostaci su testirani programa u načinu rada dinamičke analize. Prikuplja podatke i analizira učinkovitost track dizajniran objekt. Ispitivač je dao niz inputa koji uzrokuju pogrešku ili zaobilaze postojeći niz ograničenja. Zahvaljujući dobrom testu algoritma razvijenog od strane velikog broja mogućih situacija. Program prima drugačiji skup ulaznih podataka, što omogućuje da simuliraju veliki broj situacija i stvoriti uvjete u kojima se najvjerojatnije je pojava kvara. Važna prednost ovog programa je korištenje heuristički metrički. Ako postoji problem, onda je greška aplikacija je vrlo vjerojatno. No, ovaj program ima ograničenja kao što je samo jedan potvrdni označena ulaznu utičnicu ili datoteku. Pri izvođenju operacije kao što su testiranje programa sadržavat će detaljne informacije o problemima s null pointer, beskonačne petlje, netočne adrese ili kvarove nastale uslijed korištenja knjižnice. Naravno, to nije potpuni popis detektiranih grešaka i njihovih jedina zajednička primjera. Ispravljanje nedostataka, nažalost, imaju programeri - automatizirani sredstva nisu prikladni za ove svrhe.

Klee

To je dobar program za testiranje memorije. To može presresti oko 50 sistemske pozive i veliki broj virtualnih procesa tako izvršavaju paralelno ili odvojeno. Ali općenito, program nije u potrazi za nekim sumnjivim mjestima, a obrađuje maksimalnu moguću količinu koda i analiza koristi podatke staze. Zbog toga je program ispitivanja ovisi o veličini objekta. Prilikom provjere ulog stavlja na simboličkih procesa. Oni su jedan od mogućih načina da obavljaju poslove u programu koji se testiraju. Zahvaljujući paralelnom radu moguće je analizirati velik broj varijanti rada ispitne prijave. Za svaki put ulaznih skupova podataka pohranjuju se nakon testa, koji je počeo s čekom. Treba napomenuti da je testiranje programa koji koriste Klee pomaže identificirati velik broj varijacija, što ne bi trebalo biti. To se može pronaći problema ni u aplikacijama koje su razvijene za desetljeća.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hr.delachieve.com. Theme powered by WordPress.