Pokrytie kódu Metódy a ako funguje krytie kódu?

Obsah:

Anonim

Čo je to pokrytie kódu?

Pokrytie kódu je známe ako opatrenie, v ktorom opisujeme stupeň zdrojového kódu programu, ktorý si vyžaduje testovanie. Stručne povedané, kódové pokrytie je jedným typom techniky testovania v bielych skriniach, v ktorej nájdeme tie časti programu, ktoré neboli vykonané pomocou sady testovacích prípadov. Zahŕňajú tiež vytvorenie niekoľkých testovacích prípadov s cieľom zvýšiť pokrytie, ako aj určiť pomerne dobrú mieru pokrytia kódom. V mnohých prípadoch však tento systém zbiera informácie týkajúce sa spusteného programu. Pokrytie kódom ho navyše zahŕňa spolu s informáciami o zdrojovom kóde, aby sa vyňala správa o pokrytí kódom v testovacej sade.

Ako funguje krytie kódu?

V skutočnosti existujú rôzne prístupy k meraniu pokrytia kódom. Ak uvažujeme široko, existujú 3 z týchto prístupov:

  • Prístrojové vybavenie zdrojového kódu : Prístrojové vybavenie zdrojového kódu pridá vyhlásenia o prístrojovom vybavení do zdrojového kódu a potom skompiluje kód spolu s normálnym kompilačným nástrojom, aby nám poskytla zostavenie, ktoré je vybavené.
  • Inštrumentácia sprostredkovateľského kódu : Pri inštrumentácii sprostredkujúceho kódu sa kompilované súbory inštrumentujú pridaním nových bajtov a potom sa vygeneruje nová trieda.
  • Zhromažďovanie informácií o behu: V zhromažďovaní informácií o behu sa zhromažďujú informácie z prostredia, ktoré je za behu, pretože kód sa vykonáva tak, aby sa určili informácie o pokrytí.

Pretože sa kód vykoná v rámci testu, systém pokrytia kódu bude zhromažďovať informácie o tom, ktoré z príkazov sa vykonajú. Tieto informácie by sa teraz použili ako základ správy. Okrem toho sa metódy pokrytia kódom líšia v závislosti od rôznych foriem zhromažďovaných informácií o pokrytí. Ak prekračujeme základné metódy pokrytia príkazmi, existujú rôzne metódy pokrytia kódom.

Metódy pokrytia kódom

Existuje mnoho metód pokrytia kódom. Niektoré z nich sú uvedené nižšie:

  • Pokrytie stavu
  • Pokrytie FSM
  • Pokrytie výpisu
  • Pokrytie rozhodnutia
  • Pokrytie pobočky

1. Pokrytie vyhlásenia

  • Je to technika návrhu bieleho poľa, pri ktorej sa zaoberáme vykonaním všetkých vykonateľných príkazov aspoň raz, ktoré existujú v zdrojovom kóde. Pokrytie kódom je potrebné pri výpočte, ako aj pri meraní mnohých príkazov, ktoré existujú v zdrojovom kóde, ako aj tých, ktoré sa dajú vykonať, ak sú uvedené požiadavky.
  • Táto metóda je potrebná na odvodenie scenárov v závislosti od štruktúry kódu, ktorý existuje v rámci testu.

2. Pokrytie rozhodnutia

  • Táto metóda je užitočná pri hlásení skutočných alebo nepravdivých výsledkov každého výrazu, ktorý je booleovský. Výrazy v tomto pokrytí sa často komplikujú. Preto je pomerne ťažké získať 100% pokrytie.
  • To je jediný dôvod, prečo existujú rôzne metódy vykazovania tohto druhu metrík. Celé tieto metódy sa v podstate zaoberajú pokrytím najvýznamnejších kombinácií. Pokrytie rozhodnutia poskytuje veľkú citlivosť na riadenie toku.

3. Rozsah pobočky

  • Keď hovoríme o tomto type, máme na mysli, že každý výstup, ktorý pochádza z modulu kódu, sa otestuje. Ako príklad môžeme uviesť, že v prípade, že sú výstupy binárne, budeme testovať pravdivé aj nepravdivé výstupy.
  • Pokrytie pobočky nám pomáha zaistiť, aby sa všetky možné vetvy, ktoré pochádzajú z každého rozhodnutia, vykonali minimálne raz.
  • Prostredníctvom metódy pokrytia pobočky môžeme vypočítať zlomok segmentov kódu, ktoré sú nezávislé. Táto metóda nám navyše umožňuje zistiť, ktoré časti kódu nemajú vetvy.

Existuje vzorec pre výpočet pokrytia pobočky:

Pokrytie pobočky = počet vykonaných pobočiek / celkový počet vykonaných pobočiek

4. Podmienky krytia

  • Pokrytie podmienok, ktoré sa nazýva aj výrazové pokrytie, nám hovorí o tom, ako sa vyhodnocujú premenné alebo podvýrazy, ktoré existujú v podmienenom výkaze.
  • Uvažujme príklad, v ktorom výraz pozostáva z booleovských operácií, ako sú AND, OR alebo XOR, ktoré pozostávajú z celkového počtu možností.
  • Táto metóda nám v skutočnosti poskytuje oveľa lepšiu citlivosť na riadenie toku v porovnaní s pokrytím rozhodnutia. Táto metóda nám nezaručuje úplné pokrytie rozhodnutia.

Existuje vzorec pre výpočet pokrytia pobočky:

Pokrytie stavu = počet vykonaných operandov / celkový počet vykonaných operandov

5. Konečné krytie stroja

  • Táto metóda sa považuje za najzložitejšiu metódu pokrytia kódom. Dôvodom je to, že táto metóda skutočne pracuje na správaní návrhu.
  • Pri tejto metóde sme sa tiež dostali k zisteniu, koľko štátov, ktoré sú špecifické pre určitý čas, sa navštívi a prejde. Okrem toho táto metóda tiež overuje, koľko sekvencií sa berie do úvahy v stroji s konečným stavom.

Výhody pokrytia kódom

Niektoré z výhod sú uvedené nižšie:

  • Je to celkom užitočné pri hodnotení kvantitatívneho rozsahu pokrytia kódom
  • To nám tiež umožňuje vytvárať testovacie prípady, ktoré sú extra, aby sa zvýšilo pokrytie
  • Pokrytie kódu nám tiež umožňuje lokalizovať tie časti programu, ktoré sa v testovacích prípadoch nevykonávajú.

Nevýhody pokrytia kódom

Niektoré z nevýhod sú uvedené nižšie:

  • Kedykoľvek konkrétna funkcia nie je v návrhu správne implementovaná, pokrytie kódom by stále malo dosahovať 100% pokrytie.
  • Nie je možné pochopiť, ak otestujete všetky možné hodnoty funkcie prostredníctvom pokrytia kódom
  • Taktiež nehovorí o tom, ako veľmi a ako dobre sme pokryli našu logiku.

záver

Pokrytie kódom sa považuje za mieru, v ktorej opíšeme stupeň, v akom zdrojovom kóde programu sa testoval. Pomáha nám to tiež vypočítať efektívnosť vykonávania testov. Pokrytie výpisov tiež znamená vykonanie všetkých vykonateľných príkazov minimálne raz.

Odporúčané články

Toto je sprievodca pokrytím kódu. Tu diskutujeme o metódach a tom, ako funguje pokrytie kódu? spolu s výhodami a nevýhodami. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Ako testovacie pokrytie uľahčuje prácu?
  2. Rôzne nástroje na testovanie GUI
  3. Druhy testovania mutácií
  4. Čo je to CodeIgniter?
  5. Nástroje na pokrytie kódu 6 hlavných nástrojov na pokrytie kódu
  6. Čo je to testovací prípad? | Tipy a triky