Vadnica za enotno preskušanje: kaj je, vrste, orodja in amp; PRESKUS PRIMER

Kazalo:

Anonim

Kaj je enotno testiranje?

TESTIRANJE ENOT je vrsta preizkušanja programske opreme, pri kateri se preskušajo posamezne enote ali komponente programske opreme. Namen je potrditi, da vsaka enota programske kode deluje po pričakovanjih. Enotno testiranje razvijalci opravijo med razvojem (fazo kodiranja) aplikacije. Enotni testi izolirajo del kode in preverijo njeno pravilnost. Enota je lahko posamezna funkcija, metoda, postopek, modul ali predmet.

V SDLC, STLC, V Model je enotno testiranje prva stopnja testiranja, opravljenega pred integracijskim testiranjem. Enotno testiranje je tehnika testiranja WhiteBox, ki jo običajno izvede razvijalec. Čeprav v praktičnem svetu zaradi časovne stiske ali zadržkov razvijalcev do testov inženirji QA izvajajo tudi enotno testiranje.

V tej vadnici boste izvedeli-

  • Zakaj enotno testiranje?
  • Kako narediti enotno testiranje
  • Tehnike enotnega preizkušanja
  • Orodja za enotno preskušanje
  • Test Driven Development (TDD) in enotno testiranje
  • Enotno testiranje mita
  • Prednost preskušanja enot
  • Slabosti preskušanja enot
  • Enotno testiranje najboljših praks

Zakaj enotno testiranje?

Preizkušanje enot je pomembno, ker razvijalci programske opreme včasih poskušajo prihraniti čas z minimalnim preizkušanjem enote, kar je mit, ker neustrezno testiranje enote vodi do visokih stroškov popravljanja napak med sistemskim testiranjem, integracijskim testiranjem in celo beta testiranjem po izdelavi aplikacije. Če v zgodnjem razvoju opravimo pravilno enotno testiranje, to na koncu prihrani čas in denar.

Tu so ključni razlogi za enotno testiranje v programskem inženiringu:

Enotno testiranje
  1. Enostavni testi pomagajo odpraviti napake na začetku razvojnega cikla in prihranijo stroške.
  2. Razvijalcem pomaga razumeti osnovo za preskusno kodo in jim omogoča hitro spreminjanje
  3. Dobri enotni testi služijo kot projektna dokumentacija
  4. Enotni testi pomagajo pri ponovni uporabi kode. Preselite svojo kodo in teste v nov projekt. Kodo prilagajajte, dokler se preskusi znova ne zaženejo.

Kako narediti enotno testiranje

Za enotno testiranje razvijalci napišejo odsek kode za preizkušanje določene funkcije v programski aplikaciji. Razvijalci lahko to funkcijo tudi izolirajo za strožje testiranje, kar razkrije nepotrebne odvisnosti med funkcijo, ki se preskuša, in drugimi enotami, tako da je odvisnosti mogoče odpraviti. Razvijalci običajno uporabljajo UnitTest ogrodje za razvijanje avtomatiziranih testnih primerov za enotno testiranje.

Enotno testiranje je dveh vrst

  • Priročnik
  • Avtomatizirano

Enotno testiranje je običajno avtomatizirano, vendar se lahko še vedno izvaja ročno. Programsko inženirstvo ne daje prednosti enemu drugemu, prednost pa ima avtomatizacija. Ročni pristop k preskušanju enot lahko uporablja navodila po korakih.

V skladu z avtomatiziranim pristopom

  • Razvijalec v aplikacijo napiše del kode samo za preizkus funkcije. Kasneje bodo komentirali in končno odstranili testno kodo, ko bo aplikacija nameščena.
  • Razvijalec bi lahko funkcijo tudi izoliral, da bi jo strožje preizkusil. To je temeljitejša praksa enotnega testiranja, ki vključuje kopiranje in lepljenje kode v lastno preskusno okolje kot v naravno okolje. Izolacija kode pomaga razkriti nepotrebne odvisnosti med preskušano kodo in drugimi enotami ali podatkovnimi prostori v izdelku. Te odvisnosti je nato mogoče odpraviti.
  • Programer na splošno uporablja UnitTest Framework za razvoj avtomatiziranih testnih primerov. Z uporabo okvira za avtomatizacijo razvijalec v test kodira merila, da preveri pravilnost kode. Med izvajanjem testnih primerov ogrodje beleži neuspešne testne primere. Številni okviri bodo tudi samodejno označili in poročali o teh neuspešnih testnih primerih. Glede na resnost okvare lahko ogrodje zaustavi nadaljnje preskušanje.
  • Delovni postopek preskušanja enot je 1) Ustvari testne primere 2) Preglej / predelaj 3) Osnovno 4) Izvedi testne primere.

Tehnike enotnega preizkušanja

V Tehnike Enota za testiranje so večinoma razdeljene v tri dele, ki so črni box, ki vključuje testiranje uporabniškega vmesnika, skupaj z vhodom in izhodom, Bele testiranja box, ki vključuje testiranje funkcionalno obnašanje programske opreme in Grey testiranja box, ki se uporablja za izvedbo testa apartmaji, testne metode, testni primeri in izvajanje analize tveganja.

Spodaj so navedene tehnike zajema kod, ki se uporabljajo pri testiranju enot.

  • Pokritost izjave
  • Pokritost odločitve
  • Pokritost podružnice
  • Kritje stanja
  • Končna pokritost stroja

Za več informacij glejte https://www.guru99.com/code-coverage.html

Primer preskusa enote: posmehljivi predmeti

Enotno preskušanje se opira na lažne predmete, ki se ustvarijo za preizkušanje odsekov kode, ki še niso del celotne aplikacije. Lažni predmeti izpolnjujejo manjkajoče dele programa.

Na primer, morda imate funkcijo, ki potrebuje spremenljivke ali predmete, ki še niso ustvarjeni. Pri preskušanju enote bodo ti obračunani v obliki lažnih predmetov, ustvarjenih izključno za namen enotnega preizkušanja, opravljenega na tem odseku kode.

Orodja za enotno preskušanje

Za pomoč pri preskušanju enot je na voljo več programov za avtomatizirane enote. Spodaj bomo navedli nekaj primerov:

  1. Junit: Junit je brezplačno orodje za testiranje, ki se uporablja za programski jezik Java. Zagotavlja trditve za identifikacijo preskusne metode. To orodje najprej preskusi podatke, nato pa jih vstavi v del kode.
  2. NUnit: NUnit je široko uporabljena enota za testiranje enot, ki se uporablja za vse jezike .net. Je odprtokodno orodje, ki omogoča ročno pisanje skriptov. Podpira podatkovne teste, ki se lahko izvajajo vzporedno.
  3. JMockit: JMockit je odprtokodno orodje za testiranje enot. Je orodje za pokritje kode z meritvami črt in poti. Omogoča posmehljiv API s sintakso snemanja in preverjanja. To orodje ponuja pokritost linij, pokritost poti in pokritost podatkov.
  4. EMMA: EMMA je odprtokodna zbirka orodij za analizo in poročanje kode, napisane v jeziku Java. Emma podpira vrste pokritosti, kot so metoda, linija, osnovni blok. Temelji na Javi, zato je brez zunanjih odvisnosti knjižnice in lahko dostopa do izvorne kode.
  5. PHPUnit: PHPUnit je orodje za testiranje enot za PHP programer. Potrebni so majhni deli kode, ki se imenujejo enote, in preizkusite vsako od njih posebej. Orodje razvijalcem omogoča tudi uporabo vnaprej določenih metod uveljavljanja, s katerimi trdijo, da se sistem obnaša na določen način.

To je le nekaj razpoložljivih orodij za testiranje enot. Obstaja še veliko več, zlasti za jezike C in Javo, vendar boste zagotovo našli orodje za testiranje enot za svoje potrebe programiranja, ne glede na jezik, ki ga uporabljate.

Test Driven Development (TDD) in enotno testiranje

Enotno testiranje v TDD vključuje široko uporabo testnih okvirov. Enotni preskusni okvir se uporablja za ustvarjanje avtomatiziranih preskusov enote. Okvirji za enotno testiranje niso edinstveni za TDD, so pa zanj bistveni. Spodaj si ogledujemo nekaj, kar TDD prinaša v svet preskušanja enot:

  • Preizkusi so napisani pred kodo
  • Zelo močno na testnih okvirih
  • Preizkušeni so vsi razredi v aplikacijah
  • Omogočena je hitra in enostavna integracija

Enotno testiranje mita

Mit: Potrebuje čas in vedno sem prepozno. Moja koda je trdna! Ne potrebujem enotnih testov.

Miti so že po svoji naravi napačne predpostavke. Te predpostavke vodijo v začaran krog, kot sledi -

Resnica je enotno testiranje poveča hitrost razvoja.

Programerji mislijo, da bo integracijsko testiranje zajelo vse napake in ne bo izvedlo enote. Ko so enote integrirane, je zelo enostavno slediti in odpravljati zelo preproste napake, ki bi jih lahko v preizkušenih enotah zelo enostavno našli in odpravili.

Prednost preskušanja enot

  • Razvijalci, ki želijo izvedeti, kakšno funkcionalnost ponuja enota in kako jo uporabljati, si lahko ogledajo preskuse enote, da pridobijo osnovno razumevanje API-ja enote.
  • Enotno testiranje omogoča programerju, da pozneje refaktorira kodo in poskrbi, da modul še vedno deluje pravilno (tj. Regresijsko testiranje). Postopek je pisanje testnih primerov za vse funkcije in metode, tako da je vedno, kadar sprememba povzroči napako, mogoče hitro prepoznati in odpraviti.
  • Zaradi modularne narave preskušanja enot lahko del projekta preizkusimo, ne da bi čakali, da bodo drugi dokončani.

Slabosti preskušanja enot

  • Ne moremo pričakovati, da bo enotno preskušanje zajelo vsako napako v programu. Vseh izvedbenih poti ni mogoče oceniti niti v najbolj trivialnih programih
  • Enotno testiranje se že po svoji naravi osredotoča na enoto kode. Zato ne more zajeti integracijskih napak ali širokih sistemskih napak.

Priporočljivo je, da se enotno preskušanje uporablja skupaj z drugimi preskusnimi dejavnostmi.

Enotno testiranje najboljših praks

  • Enotni testni primeri morajo biti neodvisni. V primeru kakršnih koli izboljšav ali sprememb zahtev ne bi smeli vplivati ​​na primere enote.
  • Preizkusite samo eno kodo hkrati.
  • Upoštevajte jasna in dosledna pravila imenovanja za svoje enote
  • V primeru spremembe kode v katerem koli modulu se prepričajte, da je za modul na voljo ustrezna enota Test Case, in modul opravi teste, preden spremenite izvedbo
  • Napake, ugotovljene med preskušanjem enote, je treba odpraviti, preden nadaljujete z naslednjo fazo v SDLC
  • Sprejmite pristop "test kot vaša koda". Več kode napišete brez testiranja, več poti morate preveriti, ali obstajajo napake.

Povzetek

  • TESTIRANJE ENOT je opredeljeno kot vrsta preskušanja programske opreme, pri kateri se preskušajo posamezne enote ali komponente programske opreme.
  • Kot lahko vidite, je pri preizkušanju enot mogoče veliko sodelovati. Lahko je zapleten ali precej preprost, odvisno od preskušane aplikacije in uporabljenih strategij, orodij in filozofij. Enotno testiranje je vedno potrebno na neki ravni. To je gotovost.