Kaj je zajemanje kode?
Zajetje kode je znano kot ukrep, pri katerem opisujemo stopnjo izvorne kode programa, ki jo je treba preizkusiti. Skratka, pokritost s kodo je ena vrsta tehnike testiranja belega polja, v kateri najdemo tiste dele programa, ki jih testni primeri niso izvedli. V izdelavo nekaj preskusnih primerov vključujejo tudi povečanje pokritosti in določitev precej dobre mere pokritosti s kodo. Vendar v mnogih primerih ta sistem zbira podatke o tekočem programu. Poleg tega ga zajema tudi informacije o izvorni kodi, s katerimi lahko vzamete poročilo o pokritosti testnega nabora.
Kako deluje kritje kode?
Za merjenje pokritosti kode dejansko obstajajo različni pristopi. Če na široko razmislimo, obstajajo trije naslednji pristopi:
- Instrumentacija izvorne kode : Instrumentacija izvorne kode bo izpisom instrumentacije dodala izhodno kodo in nato sestavila kodo skupaj z običajnim orodjem za prevajanje, tako da bomo dobili sestavljeno opremo.
- Instrumentacija vmesne kode : Pri vmesni kodiranju se sestavljene datoteke instrumentirajo z dodajanjem novih bytekodov, nato pa se ustvari nov razred.
- Zbiranje informacij o času izvajanja: V zbirki informacij med izvajanjem zbiramo informacije iz okolja, ki se izvaja, saj se koda izvaja tako, da določi podatke o pokritju.
Ker se koda izvede v preskusu, bi sistem zajema kode zbiral informacije o tem, kateri od stavkov se izvaja. Te podatke bi zdaj uporabili kot osnovo poročil. Poleg tega se metode pokritosti s kodo razlikujejo glede na različne oblike informacij o pokritosti, ki se zbirajo. Obstajajo različne metode pokritosti kode, če presegamo osnovne metode pokrivanja stavkov.
Načini zajetja kode
Obstaja veliko metod pokrivanja kode. Spodaj jih je naštetih nekaj:
- Pokrivanje stanja
- Pokritje FSM
- Pokrivanje izjav
- Zajetje odločitve
- Pokrivanje podružnic
1. Pokrivanje izjav
- Gre za tehniko načrtovanja belih oken, v kateri se ukvarjamo z izvajanjem vseh izvršljivih stavkov vsaj enkrat, ki obstajajo v izvorni kodi. Kritje kode je potrebno za izračun, pa tudi za merjenje številnih stavkov, ki obstajajo v izvorni kodi, in tistih, ki jih je mogoče izvesti, če so podane zahteve.
- Ta metoda je potrebna pri izpeljavi scenarijev, odvisno od strukture kode, ki obstaja v preskusu.
2. Zajetje odločitve
- Ta metoda je uporabna pri poročanju o resničnih ali lažnih rezultatih vsakega izraza Boole. Izrazi v tem poročilu pogosto postanejo zapleteni. Zato je 100% pokritost precej težko.
- To je tudi razlog, da obstajajo različne metode za poročanje o tej vrsti meritev. Te celotne metode v bistvu obravnavajo zajetje najpomembnejših kombinacij. Pokrivanje odločitve zagotavlja veliko občutljivost za nadzor pretoka.
3. Pokrivanje podružnic
- Ko govorimo o tej vrsti, mislimo, da se vsak izhod, ki prihaja iz kodnega modula, preizkusi. Kot primer lahko upoštevamo, da bomo v primeru, da so izhodi binarni, testirali True in False izhode.
- Pokrivanje podružnic nam pomaga pri zagotavljanju, da se vse možne veje, ki izhajajo iz vsake odločitve, pogoj izvedejo vsaj enkrat.
- S pomočjo metode zajema podružnice lahko izračunamo delež kodnih segmentov, ki so neodvisni. Poleg tega nam ta metoda omogoča, da ugotovimo, kateri odseki kode nimajo vej.
Obstaja formula izračuna kritja podružnic:
Pokrivanje podružnic = Število izvedenih podružnic / Skupno število izvedenih podružnic
4. Pokrivanje stanja
- Pokrivanje stanja, ki se imenuje tudi pokritje izrazov, nam pove, kako se ocenjujejo spremenljivke ali podz izrazi, ki obstajajo v pogojnem stavku.
- Razmislimo o primeru, v katerem je izraz sestavljen iz logičnih operacij, kot so AND, OR ali XOR, ki je sestavljen iz skupnega števila možnosti.
- Ta metoda nam dejansko daje veliko boljšo občutljivost za nadzor pretoka v primerjavi s pokritjem odločitve. Ta metoda nam ne daje zagotovila glede celotnega kritja odločitev.
Obstaja formula izračuna kritja podružnic:
Pogojno zajetje = Število izvršenih operandov / Skupno število izvršenih operandov
5. Obseg končnega stanja stroja
- Ta metoda velja za najbolj zapleteno vrsto zajema kode. Razlog za to je, da ta metoda dejansko deluje na obnašanje oblikovalca.
- Tudi pri tej metodi moramo ugotoviti, koliko držav, ki so časovno specifične, obišče in preide. Poleg tega ta metoda tudi preveri, koliko zaporedij se upošteva v stroju končnih stanj.
Prednosti zajema kod
Nekatere prednosti so navedene spodaj:
- Pri vrednotenju količinske mere zajetja kode je zelo koristno
- Prav tako nam omogoča izdelavo dodatnih testnih primerov, ki povečujejo pokritost
- Zajetje kode nam omogoča tudi iskanje tistih delov programa, ki jih testni primeri ne izvajajo.
Slabosti kritja kod
Nekaj pomanjkljivosti je navedenih spodaj:
- Kadar določena funkcija znotraj zasnove ni dobro izvedena, je pokritost kode še vedno 100-odstotna.
- Nemogoče je razumeti, če preizkusite vse možne vrednosti funkcije prek pokritosti kode
- Prav tako ne pove, koliko in kako dobro smo pokrivali svojo logiko.
Zaključek
Pokrivanje s kodo je merilo, pri katerem opisujemo stopnjo preizkušanja izvorne kode programa. Pomaga nam tudi izračunati učinkovitost izvedbe testa. Pokrivanje stavkov pomeni tudi izvršitev vseh izvršljivih stavkov najmanj enkrat.
Priporočeni članki
To je vodnik za zajetje kode. Tukaj razpravljamo o metodah in kako pokrivanje kod deluje? skupaj s prednostmi in slabostmi. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Kako postane pokritost preizkusa tako enostavna?
- Različna orodja za testiranje GUI-ja
- Vrste testiranja mutacij
- Kaj je CodeIgniter?
- Orodja za zajetje kode | Top 6 Orodja za pokritje kode
- Kaj je testni primer? | Namigi in triki