RačunalnikiProgramska oprema

Testiranje programov - postopek za odkrivanje napak v izdelku programske opreme

Pri razvoju programske opreme, ki je pomemben del proizvodnega procesa, ki temelji na testiranje programske opreme. Kaj je to in kako se je ta dejavnost bodo razpravljali v tem članku.

Kaj se imenuje test?

To se nanaša na postopek, ki ga izvaja programsko opremo za odkrivanje lokacije nepravilnega delovanja kode. Za najboljše rezultate, namenoma zgrajeni težko nabor vhodnih podatkov. Glavni namen pregleda je ustvariti najboljše možnosti za neuspeh programske opreme. Čeprav včasih testiranje razvitega programa lahko poenostavi z rutinsko preverjanje delovne zmožnosti in opravlja funkcije. To prihrani čas, vendar se pogosto spremlja nezanesljivosti programske opreme, uporabnikom nezadovoljstva, in tako naprej.

učinkovitost

Kako dobro in hitro so napake, pomemben vpliv na ceno in trajanje razvoja programske opreme zahtevane kakovosti. Torej, kljub temu, da testerje prejemajo plačo nekajkrat manjša od razvijalcev, stroški njihovih storitev je običajno do 30 - 40% stroškov celotnega projekta. To je zaradi števila osebja, saj je iskanje za napako - to je nenavaden in precej težaven proces. Ampak tudi, če je programska oprema opravil ugleden število testov, ni 100% garancija, da se napaka ne bo zgodilo. Samo ne vem, kdaj se pojavijo. Da bi spodbudili testerji izbrati vrste testov, ki so bolj verjetno, da bi našli napake, se uporabljajo različne motivacijske orodja: tako moralno in materiala.

Pristop k delu

Optimalno je, ko izvajati različne mehanizme, da se zagotovi, da se napake v programski opremi ni bilo od začetka. Če želite to narediti, morate skrbeti za pravilno arhitekturnega oblikovanja, jasnimi pristojnostmi, zato je pomembno, da ne bi prilagoditve v komunikaciji, ko je delo na projektu že potekajo. V tem primeru je tester za nalogo pri iskanju in prepoznavanju majhno število napak, ki ostanejo v končnem rezultatu. To bo prihranilo čas in denar.

Kaj je test?

To je pomemben vidik inšpekcijske dejavnosti, ki je potrebno za uspešno odkrivanje napak v kodi. So potrebni za nadzor nad pravilno uporabo. Kaj je vključeno v testu? Sestoji iz podatkov in njihove začetne vrednosti, ki naj bi ga dobili kot rezultanta (ali intermediat). Za uspešno identifikacijo problemov in protislovij, testi biti potem ko je bil algoritem razvit, vendar ni začela programiranje. Zaželeno je, da uporabljajo več pristopov k ocenjevanju zahtevanih podatkov. V tem primeru, kar povečuje verjetnost odkrivanja napake, saj lahko preveri kodo iz drugačne perspektive. Kompleksne testi morajo zagotoviti preverjanje zunanjih vplivov končnih izdelkov programske opreme, kot tudi njegovih delovnih algoritmov. Posebnega pomena in zagotoviti mejne primere degenerirane. Tako je v praksi napak lahko pogosto razkrije, da je cikel deluje na enem ali več krat manj kot je bilo načrtovano. Pomembno je tudi testiranje računalnik, prek katerega lahko preverite, ali je želeni rezultat na različnih strojih. To je potrebno, da bi zagotovili, da bo programska oprema deluje na vseh računalnikih. Poleg tega je test računalnik, na katerem se bo izvedla razvoj ven, je pomembna pri oblikovanju razvoja multi-platformo.

odpravljanje težav Arts

Programi pogosto namenjeni za delo z velikimi podatkovnimi nizi. Ali je treba v celoti ustvariti? No. Razširjena pridobil prakso "miniaturizacije" programa. V tem primeru je smiselno zmanjšanje obsega podatkov v primerjavi s tisto, ki se uporablja. Oglejmo si primer: obstaja program, ki ustvari matriko velikosti 50x50. Z drugimi besedami - morate ročno vnesti vrednosti 2500. To je vsekakor mogoče, vendar pa bo trajalo zelo dolgo časa. Ampak, da bi preverili funkcionalnost, programska oprema prejme matrico, katerega dimenzija je 5x5. Da bi to naredili, boste morali vnesti več kot 25 vrednosti. Če se v tem primeru normalno, delovanje brez napak, to pomeni, da je vse v redu. Čeprav obstajajo pasti, ki ležijo v tem, da z nastopi miniaturizacijo razmere, kar ima za posledico spremembo postane implicitno in začasno izginejo. Prav tako je zelo redko, vendar še vedno se zgodi, da je prišlo do novih hroščev.

zastavljenih ciljev

Testiranje ni lahka naloga, zaradi dejstva, da je ta proces ni mogoče formalizaciji v celoti. Velike programi skoraj nikoli ne bo potrebno natančno merilo. Zato, kot smernica za uporabo več posrednih podatkov, ki pa ne more v celoti odražajo značilnosti in naloge razvoja programske opreme, ki odpravili napake. Poleg tega morajo biti izbrani tako, da je pravilen rezultat izračuna pred tem, kako se bo programski izdelek testiran. Če ne napreduje, je skušnjava, da preuči vse o, in če je rezultat stroja pride v pričakovanem obsegu, bo treba napačno odločitev, da je vse pravilno.

Preverite pod različnimi pogoji

Kot pravilo, program testiranja pojavlja v količinah, ki so potrebne za najmanjšo preskusno funkcionalnosti v omejenem obsegu. Aktivnosti se izvajajo s spremembo parametrov, kot tudi njihove delovne pogoje. Proces testiranja lahko razdelimo na tri faze:

  • Preverite v normalnih pogojih. V tem primeru smo preizkusili osnovno funkcionalnost razvite programske opreme. Rezultat mora ustrezati pričakovani.
  • Preverite v ekstremnih pogojih. V teh primerih, kot sinonim za robnih podatkov, ki lahko negativno vplivajo na uspešnost ustvarjene programske opreme. Kot primer, delamo z zelo velikih ali majhnih številk ali celo popolna odsotnost prejetih informacij.
  • Preverjanje v izjemnih situacijah. To vključuje uporabo podatkov, ki so po letu zdravljenja. V takih primerih je zelo slabo, ko jih je programska oprema dojema kot koristne za izračun in daje verjetne rezultate. Paziti je treba, da je v takih primerih zavračanje vseh podatkov, ki jih ni mogoče pravilno obdelujejo. Prav tako je treba poskrbeti za obveščanje uporabnika o tem

Testiranje: Vrste

Ustvari programske opreme brez napak, je zelo težko. To zahteva veliko časa. Da bi dobili dober izdelek se pogosto uporablja dve vrsti testiranja: "alfa" in "beta". Kaj je to? Ko ljudje govorijo o testiranju alfa, to pomeni, da je pregled, ki se izvaja v stanju razvoja "laboratorijskih" pogojih. To je zadnja faza testiranja, preden se bo program prenesla na končne uporabnike. Zato, razvijalci se trudijo, da obrnil maksimuma. Za lažje delovanje, lahko podatke biti prijavljeni ustvariti kronologijo probleme in njihove rešitve. Pod beta test razumeti dobavo opreme za omejeno število uporabnikov, tako da lahko izkoriščajo program in ugotovijo napake, ki ste jih zamudili. Posebnost je v tem primeru, je dejstvo, da pogosto se programska oprema ne uporablja za predviden namen. Ker bo to neuspeh opredeljen, kjer ni bilo nič videl. To je povsem normalno in skrbi, da ni potrebno.

Test Zaključek

Če so bili prejšnji ukrepi uspešno zaključen, je še vedno opraviti teste sprejemljivosti. Je v tem primeru postane zgolj formalnost. Med tem preskusom je potrdilo, da so bili brez dodatnih težav najti in programske opreme, se lahko sprosti v promet. Najpomembnejša bo končni rezultat, bolj natančno je treba preveriti. Paziti je treba, da se zagotovi, da so bili vsi postopki uspešno zaključen. Tu je proces testiranja kot celote. Sedaj pa jama v tehnične podrobnosti in govori o tako uporabno orodje, saj testnih programov. Kaj so in kdaj uporablja?

Računalniško podprto testiranje

Prej so mislili, da je dinamična analiza razvite programske opreme - to je pretežko pristop, ki učinkovito uporabljajo za odkrivanje napak. Toda zaradi vedno večje kompleksnosti in obsega programov pojavil nasprotnega mnenja. Avtomatizirano testiranje se uporablja, kadar so najpomembnejše prednostne naloge, učinkovitost in varnost. In morajo biti v skladu s katero koli vhod. Kot primer, programi, za katere je primerno, da takšno testiranje, vključujejo naslednje: omrežnih protokolov, spletni strežnik, peskovnik. Še naprej si nekaj vzorcev, ki se lahko uporabljajo za takšne dejavnosti. Če ste zainteresirani za brezplačne programe testiranja, kakovost je težko najti med njimi. Toda obstajajo razpokan "piratskih" različice uveljavljenih projektov, tako da se lahko sklicuje na svoje storitve.

Avalanche

To orodje pomaga odkriti napake so preizkušeni programi v načinu dinamično analizo. Zbira podatke in analizira delovanje tira zasnovan objekt. Tester je podan niz vložkov, ki povzročajo napake ali bypass obstoječi nabor omejitev. Hvala za dober preizkus algoritma z velikim številom možnih situacij razvite. Program prejme drugačen nabor vhodnih podatkov, ki omogočajo simulirati veliko število situacij in ustvariti pogoje, v katerih najverjetneje je pojav okvare. Pomembna prednost programa je uporaba tolči meritev. Če obstaja problem, potem je zelo verjetno napaka v programu. Toda ta program ima svoje omejitve, kot samo eno potrditveno označena vhodni priključek ali datoteko. Ko bo izvajanju aktivnosti, kot so programi testiranja vsebuje podrobne informacije o težavah z null kazalec, neskončnih zank, napačne naslove ali napak zaradi uporabe knjižnice. Seveda, to ni popoln seznam odkritih napak in njihovih samo skupnih primerov. Popravljanje pomanjkljivosti, žal, imajo razvijalci - avtomatsko sredstva niso primerni za te namene.

KLEE

To je dober program za testiranje pomnilnika. To lahko prestreže okoli 50 sistemskih klicev in veliko število virtualnih procesov tako izvedenih vzporedno ali ločeno. Ampak na splošno, se program ne išče nekaj sumljivih krajih, in obdeluje največjo možno količino kode in analiz uporabljajo podatkovne poti. Zaradi tega, test programa je odvisna od velikosti objekta. Pri preverjanju stavo se postavi na simbolnih procesov. So eden od možnih načinov za izvajanje nalog v programu, ki se preskuša. Zaradi vzporednega delovanja je mogoče analizirati veliko število variant dela vloge preskusu. Za vsako pot vhodnih podatkovnih nizov so shranjeni po testu, ki se je začela s preverjanjem. Treba je opozoriti, da je testiranje programov, ki uporabljajo Klee pomaga prepoznati veliko število sprememb, ki ne bi smelo biti. Prav tako lahko najti težave tudi v aplikacije, ki so razvite za desetletja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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