RačunalaSoftver

Testiranje programa - proces otkrivanja pogreške u softverskom proizvodu

U razvoju softvera, značajan dio proizvodnog procesa zasniva se na testiranje softvera. Šta je to i kako je takva aktivnost će raspravljati u ovom članku.

Ono što se zove test?

To se odnosi na proces pokretanjem softver za otkrivanje lokacije nepravilnog rada koda. Za najbolje rezultate, planski izgrađen teško skup ulaznih podataka. Glavna svrha inspekcije je da stvori najbolju priliku za neuspjeh softvera. Iako ponekad testiranje razvijen program se može pojednostaviti na rutinskoj kontroli radne sposobnosti i obavljanje funkcije. To štedi vrijeme, ali je često u pratnji nepouzdanost softvera, korisnički nezadovoljstvo, i tako dalje.

efikasnost

Koliko dobro i brzo su greške, značajan utjecaj na troškove i trajanje razvoja softvera potrebnog kvaliteta. Dakle, bez obzira na činjenicu da su testeri primaju plaću nekoliko puta manja od programera, trošak svojih usluga je obično do 30 - 40% od cijene cijelog projekta. To je zbog broja zaposlenih, budući da je potraga za grešku - to je neobičan i prilično težak proces. Ali čak i ako je softver je donijela respektabilan broj testova, ne postoji 100% garancija da je greška neće dogoditi. Samo ne znam kada do njih dođe. Da podstakne testeri da izaberu vrste testova koji imaju veće šanse za pronalaženje kvara, različite motivacije alati se koriste: i moralnu i materijalnu.

Pristup na posao

Optimalno je kada za implementaciju različitih mehanizama kako bi se osiguralo da su greške u softveru nije bio od početka. Da biste to učinili, morate voditi računa o pravilnom dizajna arhitekture, jasan projektni zadatak, a to je važno ne napraviti prilagodbe u komunikaciji, kad je već započela rad na projektu. U ovom slučaju, tester zadatku pronalaska i identifikacije mali broj grešaka koje ostaju u konačni rezultat. To će uštedjeti vrijeme i novac.

Ono što je test?

Ovo je važan aspekt aktivnosti inspekcije, koja je neophodna za uspješno otkrivanje defekata kod. Oni su neophodni u cilju kontrole pravilne primjene. Šta je uključeno u testu? Sastoji se od podataka i njihove početne vrijednosti koje treba pribaviti kao rezultanta (ili srednji). Kako bi se uspješno identificirati probleme i nedosljednosti, ispitivanja bi trebao biti nakon što je razvio algoritam, ali nije počeo programiranja. Poželjno je da se koriste nekoliko pristupa za procjenu potrebne podatke. U ovom slučaju, povećanje vjerojatnost otkrivanja greške, jer možete ispitati kod iz druge perspektive. Kompleks ispitivanja mora osigurati provjeru eksternih efekata gotovih softverskih proizvoda, kao i njegov rad algoritama. Od posebnog interesa i dati marginalnih slučajeva degenerik. Tako je, u praksi grešaka često može otkriti da je ciklus radi na jednom ili više puta manje nego što je planirano. Također je važno testiranje kompjuter, preko kojih možete provjeriti da željeni rezultat na različitim računalima. To je potrebno kako bi bili sigurni da će softver raditi na svim računarima. Osim toga, računalo test, na kojem će razvoj biti izvršena je važno u stvaranju razvoj multi-platforma.

rješavanje problema Arts

Programi često imaju za cilj da rade sa velikim skupovima podataka. Da li je potrebno da se u potpunosti stvoriti? Ne. Rasprostranjena stečene prakse "minijaturizacije" programa. U ovom slučaju postoji osnovana smanjenje obima podataka u odnosu na koji će se koristiti. Pogledajmo primjer: postoji program, koji stvara matricu veličine 50x50. Drugim riječima - morate ručno unijeti 2.500 vrijednosti. To je svakako moguće, ali da će biti potrebno mnogo vremena. Ali, da bi testirati funkcionalnost, softver dobija matrica čiji dimenzija 5x5. Da biste to učinili, potrebno je da unesete više od 25 vrijednosti. Ako se, u ovom slučaju, normalan, operacija grešaka, to znači da je sve u redu. Iako postoje zamke koje leže u činjenici da je sa javlja minijaturizacije situacijom, što je dovelo do promjene postaje implicitne i privremeno nestati. Također je vrlo rijedak, ali još uvijek se dešava je da postoje nove bube.

ciljevi teži

Testiranje nije lak zadatak s obzirom na činjenicu da je ovaj proces nije pogodna za formalizaciju u cijelosti. Velikih programa gotovo nikada nemaju potrebne precizne reper. Zbog toga, kao putokaz koristeći broj indirektnih podataka, koji, međutim, ne može u potpunosti odražavaju karakteristike i funkcije razvoja softvera koji debagovani. Štaviše, oni treba izabrati tako da je ispravan rezultat izračunati prije nego kako će se softverski proizvod se testira. Ako ne napreduje, to je iskušenje da razmotri sve o, a ako je rezultat mašina dobija u očekivanom rasponu, to će biti pogrešne odluke, da je sve u redu.

Provjerite pod različitim uvjetima

Po pravilu, testiranje programa javlja se u toma koje su neophodne za minimalnu test funkcionalnosti u ograničenoj mjeri. Aktivnosti koje se provode s promjenom parametara, kao i uslova rada. Procesa testiranja može se podijeliti u tri faze:

  • Provjerite pod normalnim uvjetima. U ovom slučaju testirati osnovnu funkcionalnost razvijenog softvera. Rezultat mora odgovarati što se očekivalo.
  • Provjeriti u ekstremnim uvjetima. U ovim slučajevima, kao sinonim za granicu podataka, što može negativno utjecati na performanse stvorio softver. Kao primjer, radimo s izuzetno velikim ili malim brojevima ili čak potpuno odsustvo primljenih informacija.
  • Provjera u iznimnim situacijama. To uključuje korištenje podataka koji su izvan tretman. U takvim situacijama, to je jako loše kada ih je softver percipira kao korisno obračun i daje prihvatljiv rezultat. Mora se voditi računa da se u takvim slučajevima postoji odbijanje bilo kakve podatke koji se ne mogu pravilno obraditi. Također je potrebno osigurati za informisanje korisnika o tome

Testiranje: Vrste

Stvoriti softver bez greške je vrlo teško. To zahtijeva dosta vremena. Da biste dobili dobar proizvod se često koristi dvije vrste testiranja: "Alfa" i "Beta". Šta su oni? Kada ljudi govore o testiranju alfa, to znači da je pregled koji se i sam sprovedena u stanju razvoja "laboratorija" uslovima. Ovo je posljednja faza testiranja prije nego što će se program prebačen u krajnjim korisnicima. Stoga, programeri pokušavaju da se okrenemo maksimum. Radi lakšeg rada, podaci mogu biti prijavljeni da se stvori hronologiju problemi i njihova rješenja. Pod test beta da shvate nabavku softvera u ograničenom broju korisnika, tako da oni mogu iskoristiti program i identificirati greške koje ste propustili. Posebnost je u ovom slučaju je činjenica da često softver se ne koristi za koju je namijenjena. Zbog ovog propusta će biti identifikovane, gdje nije bilo ničega ranije. To je sasvim normalno i brige o tome nije potrebno.

test Završetak

Ako prethodni koraci su uspješno završena, ostaje da sprovede test prihvatljivosti. On je u ovom slučaju postaje puka formalnost. Tokom ovog testa dolazi potvrda da su pronađene nikakve dodatne probleme i softver može biti pušten na tržište. Najvažniji će biti krajnji rezultat, više pažljivo provjerava se. Treba voditi računa da se osigura da svi koraci su uspješno završena. Ovdje je proces testiranja u cjelini. Hajde sada da ulazim u tehničke detalje i govoriti o takvom koristan alat, kao test programa. Ono što oni jesu i kada se koristi?

kompjutersko testiranje

Ranije se smatralo da je dinamička analiza razvijenih softvera - to je preteško pristup koji efikasno koristiti za otkrivanje defekata. Ali zbog sve veće složenosti i obima programa pojavio suprotan stav. Automatsko testiranje se koristi gdje najvažnijih prioriteta su efikasnost i sigurnost. I oni bi trebali biti pod bilo koji ulaz. Kao primjer, programi za koje je prikladno da takvo testiranje, uključuju sljedeće: mrežne protokole, web server, sandbox. Mi i dalje gledati na nekoliko uzoraka, koji se može koristiti za takve aktivnosti. Ako ste zainteresovani za besplatne programe testiranja, kvaliteta je teško naći među njima. Ali tu su napukle "piratske" verzije dobro uspostavljene projekte, tako da se može odnositi na njihove usluge.

lavina

Ovaj alat pomaže da se otkrije nedostatke su testirani programi u režimu dinamičke analize. Prikuplja podatke i analizira učinak staze dizajnirane objekta. Tester je dat skup ulaza koji uzrokuju pogreške ili zaobilaze postojeći skup ograničenja. Zahvaljujući dobroj test algoritam razvijen od strane velikog broja mogućih situacija. Program prima drugačiji skup ulaznih podataka, što omogućava da se simulira veliki broj situacija i stvoriti uslove u kojima je najvjerovatnije je pojava kvara. Važna prednost programa je upotreba heurističke metričkih. Ako postoji problem, onda je greška aplikacija je vrlo vjerojatno. Ali, ovaj program ima ograničenja kao što je samo jedan ček označen ulazni priključak ili datoteke. Kada obavljanje operacija kao što su programi za testiranje će sadržavati detaljne informacije o problemima sa null pokazivača, beskonačne petlje, netačne adrese ili kvara zbog upotrebe biblioteka. Naravno, ovo nije kompletna lista otkrivenih grešaka i njihov jedini zajednički primjera. Ispravljanje nedostataka, nažalost, imaju programeri - automatskih sredstava nisu pogodne za ove svrhe.

KLEE

To je dobar program za testiranje memorije. To može presresti oko 50 sistemskih poziva i veliki broj virtualnih procesa na taj način izvršavaju paralelno ili odvojeno. Ali generalno, program nije u potrazi za nekim sumnjivim mjestima, i obrađuje maksimalnu moguću količinu koda i analiza koristi staze podataka. Zbog toga, program test ovisi o veličini objekta. Pri provjeri listić na simbolički procesi. Oni su jedan od mogućih načina da obavlja poslove u programu koji se testira. Zahvaljujući paralelni rad je moguće analizirati veliki broj varijanti rada testa aplikacije. Za svaki put setova ulaznih podataka se čuvaju nakon testa, koji je počeo sa ček. Treba napomenuti da se programi testiranje pomoću KLEE pomaže da se prepoznaju veliki broj varijacija, što ne bi trebalo da bude. To možete pronaći problema čak u aplikacijama koje se razvijaju decenijama.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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