OqPoWah.com

Programi testiranja so proces odkrivanja napak v programskem izdelku

Pri razvoju programske opreme se pomemben del proizvodnega procesa opira na testiranje programov. V tem članku bomo razpravljali o tem, kako je to in kako se bo izvajala ta dejavnost.

Kaj se imenuje testiranje?

testnih programov

To se razume kot proces, v katerem se izvaja programska oprema za iskanje krajev napačnega delovanja kode. Da bi dosegli najboljši rezultat, se namerno zgradijo težki nizi vhodnih podatkov. Glavni cilj revizorja je ustvariti optimalne možnosti za neuspeh programski izdelek. Čeprav se včasih testiranje razvitega programa lahko poenostavi na rutinsko preverjanje delovanja in delovanja funkcij. To prihrani čas, vendar ga pogosto spremlja nezanesljiva programska oprema, nezadovoljstvo uporabnikov in tako naprej.

Učinkovitost

Kako dobro in hitro napake pomembno vplivajo na stroške in trajanje razvoja programske opreme zahtevane kakovosti. Torej, kljub temu, da testerji prejemajo plače večkrat manj kot programerji, stroški njihovih storitev navadno dosežejo 30-40% stroškov celotnega projekta. To je posledica moči osebja, saj je iskanje napake nenavaden in precej težak proces. Toda tudi če je programska oprema prinesla trdno število testov, potem ni 100% jamstva, da ne bo nobenih napak. Samo ni znano, kdaj se bodo manifestirali. Da bi spodbudili preizkuševalce, da izberejo vrste preverjanj, za katere je verjetneje, da bi našli napako, se uporabljajo različna načina motivacije: moralna in materialna.

Pristop k delu

računalniško testiranje

Optimalna situacija je, ko se izvajajo različni mehanizmi, ki zagotavljajo, da v programski opremi ni napak že od samega začetka. Za to je potrebno skrbeti za ustrezno obliko arhitekture, natančno tehnično dodelitev, prav tako pa je pomembno, da se pri že izvedenem projektu ne prilagajajo. V tem primeru se preskuševalec srečuje z nalogo iskanja in določanja majhnega števila napak, ki ostanejo v končnem rezultatu. To bo prihranilo čas in denar.

Kaj je test?

To je pomemben vidik dejavnosti inšpektorja, ki je potreben za uspešno odkrivanje pomanjkljivosti programske kode. Potrebni so za nadzor pravilnosti aplikacije. Kaj je vključeno v test? Sestavljajo jih njihovi začetni podatki in vrednosti, ki jih je treba pridobiti kot rezultat (ali intermediat). Za uspešno prepoznavanje problemov in nedoslednosti je treba po izdelavi algoritma zbrati teste, programiranje pa se ni začelo. Pri izračunu potrebnih podatkov je zaželeno uporabiti več pristopov. V tem primeru se verjetnost odkrivanja napak poveča zaradi dejstva, da je mogoče kodo pregledati z drugega vidika. Kompleksni testi naj bi zagotovili preverjanje zunanjih učinkov končnega programskega izdelka in njegovih delovnih algoritmov. Poseben interes je zagotovljen z omejevalnimi in degeneriranimi primeri. Torej, v praksi dejavnosti z napakami, je pogosto mogoče razkriti, da cikel teče enkrat ali manj, kot je bilo načrtovano. Prav tako je pomembno, da testirate računalnik, s katerim lahko preverite skladnost z želenimi rezultati na različnih napravah. To je potrebno, da se zagotovi, da lahko programska oprema deluje na vseh računalnikih. Poleg tega je preizkušanje računalnika, na katerem bo potekalo razvoj, pomembno pri razvoju razvoja več platform.

Umetnost iskanja napak

testiranje z

Programi so pogosto usmerjeni v delo z veliko zbirko podatkov. Ali je res potrebno popolnoma ustvariti? Ne, ni. Praksa "miniaturizacije" programa je postala razširjena. V tem primeru se v primerjavi s tem, kar bi bilo treba uporabiti, ustrezno zmanjšati količina podatkov. Oglejmo si ta primer: obstaja program, v katerem se ustvari matrika 50x50. Z drugimi besedami - ročno morate vnesti 2500 tisoč vrednosti. To je seveda mogoče, vendar bo trajalo zelo dolgo. Toda za testiranje uspešnosti programski izdelek prejme matriko, katere dimenzija je 5x5. Če želite to narediti, boste morali vnesti že 25 vrednosti. Če je v tem primeru običajno delo brez napak, potem to pomeni, da je vse v redu. Čeprav tukaj obstajajo pasti, ki jih sestavljajo dejstvo, da se pod miniaturizacijo pojavlja situacija, zaradi česar spremembe postanejo implicitne in začasno izginejo. Prav tako je zelo redko, vendar se zgodi tudi, da obstajajo nove napake.

Uresničeni cilji

Programska oprema za preskušanje ni lahka naloga, ker postopka ni mogoče v celoti formalizirati. Veliki programi skoraj nikoli nimajo potrebnega natančnega standarda. Zato se kot vodilo uporablja vrsta posrednih podatkov, ki pa ne morejo v celoti odražati lastnosti in funkcij razvoja programske opreme, ki se odpravljajo. In jih je treba izbrati tako, da se pravilni rezultat izračuna še pred preskušanjem programske opreme. Če se to ne naredi vnaprej, potem obstaja skušnjavo, da se vse približa, in če rezultat naprave pade v pričakovani razpon, potem je napačna odločitev, da je vse v redu.

Preverite v različnih pogojih




programski izdelek

Običajno se preskušanje programov izvaja v obsegu, ki je potreben za najmanjšo validacijo funkcionalnosti v omejenem obsegu. Dejavnosti se izvajajo s spreminjanjem parametrov, pa tudi s pogoji njihovega delovanja. Postopek testiranja lahko razdelimo na tri faze:

  • Preverite normalne pogoje. V tem primeru se testira osnovna funkcionalnost razvite programske opreme. Rezultat mora biti pričakovati.
  • Preverite izredne razmere. V teh primerih je namenjen pridobitvi mejnih podatkov, kar lahko negativno vpliva na učinkovitost ustvarjene programske opreme. Kot primer lahko delate z zelo velikimi ali majhnimi številkami ali na splošno popolno pomanjkanje informacij.
  • Preverjanje izjema. Vključuje uporabo podatkov, ki ne presegajo obdelave. V takih razmerah je zelo slabo, ko jih programska oprema zazna kot uporabne za izračun in ustvarja verjeten rezultat. Upoštevati je treba, da v takšnih primerih zavrnejo vse podatke, ki jih ni mogoče pravilno obdelati. Prav tako je treba zagotoviti informacije o tem uporabniku

Testiranje programske opreme: vrste

napaka aplikacije

Zelo težko je ustvariti programsko opremo brez napak. To traja precej časa. Za dober izdelek se pogosto uporabljajo dve vrsti testiranja: "Alpha" in "Beta". Kaj so oni? Ko govorijo o testiranju alfa, to pomeni testiranje, ki ga izvaja osebje razvijalcev v "laboratorijskih" pogojih. To je zadnji korak v preskusu, preden se program prenese na končne uporabnike. Zato se razvijalci trudijo obrniti na maksimum. Za lažje delovanje se lahko podatki zapisujejo, da ustvarijo kronologijo težav in njihovo odpravo. Beta testiranje je razumljeno kot dostava programske opreme omejenemu številu uporabnikov, tako da lahko izkoristijo program in prepoznajo izgubljene napake. Funkcija v tem primeru je, da se programska oprema pogosto ne uporablja za predvideni namen. Zaradi tega bodo odkrite napake, kjer prej ni bilo vidnih. To je povsem običajno in ni potrebe po skrbi za to.

Dokončanje testiranja

Če so bili predhodni koraki uspešno zaključeni, je treba opraviti preizkusni test. V tem primeru postane zgolj formalnost. Med tem preverjanjem je potrjeno, da niso našli dodatnih težav in da se programska oprema lahko sprosti na trg. Bolj pomemben bo končni rezultat, bolj natančno je treba preveriti. Zagotoviti je treba, da se vse faze uspešno prenesejo. To je tisto, kar izgleda na testnem procesu na splošno. In zdaj pojdimo v tehnične podrobnosti in govorimo o uporabnih orodjih kot testnih programih. Kaj so in v katerih primerih se uporabljajo?

Avtomatsko testiranje

testiranje razvitega programa

Prej smo verjeli, da je dinamična analiza razvite programske opreme - to je pretežak pristop, ki je neučinkovit za uporabo pri odkrivanju napak. Toda zaradi povečanja kompleksnosti in obsega programov se je pojavil nasprotni pogled. Avtomatsko testiranje se uporablja, kjer so najpomembnejše prednostne naloge učinkovitost in varnost. In bi morali biti s kakršnimi koli vložki. Kot primer programov, za katere je priporočljivo takšno testiranje, lahko navedemo naslednje: omrežni protokoli, spletni strežnik, peskovnik. V nadaljevanju bomo obravnavali več vzorcev, ki jih lahko uporabimo za takšne dejavnosti. Če vas zanima brezplačen program testiranja, je med njimi precej težko najti kakovostne. Ampak obstajajo hacked "pirat" različice dobro dokazanih projektov, tako da lahko obrnete na svoje storitve.

Plaz

To orodje pomaga odkrivati ​​napake s preizkušanjem programov v načinu dinamične analize. Zbira podatke in analizira pot izvedbe razvitega objekta. Preizkuševalec dobi niz vhodnih podatkov, ki povzročijo napako ali zaobidejo nabor razpoložljivih omejitev. Zaradi dobrega algoritma za preverjanje se razvijejo številne možne situacije. Program prejema različne nabore vhodnih podatkov, ki vam omogočajo, da simulirate precejšnje število situacij in ustvarite pogoje, kjer je najverjetnejša napaka. Pomembna prednost programa je uporaba hevristične metrike. Če pride do težave, je napaka aplikacije zelo verjetna. Toda ta program ima omejitve, kot je preverjanje samo ene označene vhodne vtičnice ali datoteke. Pri izvajanju operacije, kot je testiranje programa, bodo podrobne informacije o prisotnosti težav z null ukazi, neskončne zanke, nepravilni naslovi ali napake zaradi uporabe knjižnic. Seveda to ni popoln seznam odkritih napak, temveč samo njihove skupne primere. Odpravite pomanjkljivosti, žal, bodo morali razvijalcem - samodejna sredstva za te namene niso primerna.

KLEE

testnih programov

To je dober program za testiranje pomnilnika. Lahko prestreže približno 50 sistemskih klicev in veliko število navideznih procesov, s tem pa se izvaja vzporedno in ločeno. Na splošno pa program ne išče posameznih sumljivih lokacij, temveč obdeluje največjo možno količino kode in analizira uporabljene poti podatkov. Zaradi tega je čas preizkusa programa odvisen od velikosti predmeta. Pri preverjanju je stava opravljena na simbolnih procesih. So eden od možnih načinov izvajanja nalog v programu, ki se preskuša. Zaradi vzporednega delovanja lahko analizirate veliko število variant aplikacij, ki jih raziskujete. Za vsako pot po koncu testiranja se nabirajo vhodni podatki, s katerih se je začel test. Treba je opozoriti, da programi testiranja, ki uporabljajo KLEE, pomagajo odkriti veliko število odstopanj, kar pa ne bi smelo biti. Težave lahko najdemo tudi v aplikacijah, ki so bile razvite že desetletja.

Zdieľať na sociálnych sieťach:

Príbuzný