Co je to pokrytí kódu?
Pokrytí kódu je známé jako opatření, ve kterém popisujeme míru zdrojového kódu programu, který vyžaduje testování. Pokrytí kódu, zkrátka, je jedním typem techniky testování v bílém poli, kde najdeme ty části programu, které nebyly provedeny sadou testovacích případů. Zahrnují také do vytváření několika testovacích případů, aby se zvýšilo pokrytí a určilo se docela dobré měřítko pokrytí kódem. V mnoha případech však tento systém shromažďuje informace týkající se spuštěného programu. Pokrytí kódu je navíc zahrnuje spolu s informacemi o zdrojovém kódu tak, aby byla odstraněna zpráva o pokrytí kódem v testovací sadě.
Jak funguje kódové pokrytí?
Ve skutečnosti existují různé přístupy k měření pokrytí kódem. Pokud uvažujeme široce, existují 3 z následujících přístupů:
- Instrumentace zdrojového kódu : Instrumentace zdrojového kódu přidá příkazy instrumentace do zdrojového kódu a poté zkompiluje kód společně s normálním kompilačním nástrojem, aby nám poskytla sestavení, které je vybaveno.
- Intermediate Code Instrumentation: V instrumentaci Intermediate code se kompilované soubory vybaví přidáním bajtů, které jsou nové, a poté se vygeneruje nová třída.
- Shromažďování informací o běhu: Ve shromažďování informací o běhu shromažďujeme informace z prostředí, které je za běhu, protože kód je spuštěn tak, aby se určily informace o pokrytí.
Protože kód je spuštěn v rámci testu, systém pokrytí kódu by shromažďoval informace o tom, které z příkazů jsou provedeny. Nyní by tyto informace byly použity jako některé ze základů zpráv. Metody pokrytí kódem se navíc liší v závislosti na různých formách shromažďovaných informací o pokrytí. Pokud překročíme základní metody pokrytí příkazů, existují různé metody pokrytí kódem.
Metody pokrytí kódu
Existuje mnoho metod pokrytí kódem. Několik z nich je uvedeno níže:
- Pokrytí stavu
- Pokrytí FSM
- Pokrytí prohlášení
- Pokrytí rozhodnutí
- Větev pokrytí
1. Pokrytí prohlášení
- Jedná se o techniku návrhu bílé skříňky, ve které se zabýváme vykonáním všech spustitelných příkazů alespoň jednou, které existují ve zdrojovém kódu. Pokrytí kódu je nutné při výpočtu i při měření mnoha příkazů, které existují ve zdrojovém kódu, jakož i těch, které lze provést za předpokladu splnění požadavků.
- Tato metoda je nezbytná při odvozování scénářů v závislosti na struktuře kódu, který existuje v rámci testu.
2. Pokrytí rozhodnutí
- Tato metoda je užitečná při hlášení pravdivých nebo falešných výsledků každého výrazu, který je booleovský. Výrazy v tomto pokrytí se často komplikují. Proto je docela obtížné získat 100% pokrytí.
- To je jediný důvod, proč existují různé metody vykazování tohoto druhu metriky. Tyto celé metody se v zásadě zabývají pokrytím nejvýznamnějších kombinací. Pokrytí rozhodnutí poskytuje velkou citlivost, aby bylo možné řídit tok.
3. Pokrytí oboru
- Když mluvíme o tomto typu, máme na mysli, že každý výstup, který pochází z modulu kódu, bude testován. Jako příklad můžeme uvést, že v případě, že jsou výstupy binární, budeme testovat True i False výstupy.
- Branch Coverage nám pomáhá zajistit, aby všechny možné větve, které přicházejí z každého rozhodnutí, byly splněny alespoň jednou.
- Prostřednictvím metody pokrytí pobočky můžeme vypočítat zlomek segmentů kódu, které jsou nezávislé. Tato metoda nám navíc umožňuje zjistit, které části kódu nemají větve.
Existuje vzorec pro výpočet pokrytí oboru:
Pokrytí pobočky = počet provedených poboček / celkový počet provedených poboček
4. Podmínky krytí
- Pokrytí podmínek, které se také nazývá výrazové pokrytí, nám říká, jak se vyhodnocují proměnné nebo podvýrazy, které existují v podmíněném příkazu.
- Uvažujme příklad, kdy výraz sestává z booleovských operací jako AND, OR nebo XOR, které se skládají z celkového počtu možností.
- Tato metoda nám ve skutečnosti poskytuje mnohem lepší citlivost pro řízení toku ve srovnání s pokrytím rozhodnutí. Tato metoda nám nezaručuje úplné pokrytí rozhodnutí.
Existuje vzorec pro výpočet pokrytí oboru:
Pokrytí stavu = počet provedených operandů / celkový počet provedených operandů
5. Konečné krytí stroje
- Tato metoda je považována za nejsložitější způsob pokrytí kódu. Důvodem je to, že tato metoda skutečně pracuje na chování návrhu.
- Také v této metodě jsme museli zjistit, kolik států, které jsou časově specifické, je navštíveno a překročeno. Kromě toho tato metoda také ověřuje, kolik sekvencí se vezme v úvahu v konečném stavu stroje.
Výhody pokrytí kódem
Některé z výhod jsou uvedeny níže:
- Je to docela užitečné při hodnocení kvantitativní míry pokrytí kódu
- To nám také umožňuje vytvářet testovací případy, které jsou extra, aby se zvýšilo pokrytí
- Pokrytí kódu nám také umožňuje lokalizovat ty části programu, které testovací případy nevyužívají.
Nevýhody pokrytí kódem
Některé z nevýhod jsou uvedeny níže:
- Vždy, když konkrétní funkce není v návrhu správně implementována, pokrytí kódem by stále vykazovalo pokrytí 100%.
- Není možné pochopit, pokud otestujete všechny možné hodnoty funkce prostřednictvím pokrytí kódem
- Také to neříká, jak moc a jak dobře jsme pokryli naši logiku.
Závěr
Pokrytí kódem je považováno za měřítko, ve kterém popisujeme stupeň, do kterého byl zdrojový kód programu testován. Pomáhá nám také vypočítat účinnost implementace testu. Pokrytí příkazů také znamená provedení všech spustitelných příkazů minimálně jednou.
Doporučené články
Toto je průvodce pokrytím kódem. Zde diskutujeme metody a jak funguje pokrytí kódu? spolu s výhodami a nevýhodami. Další informace naleznete také v následujících článcích -
- Jak testovací pokrytí funguje tak snadno?
- Různé nástroje pro testování GUI
- Druhy testování mutací
- Co je to CodeIgniter?
- Nástroje pro krytí kódu 6 hlavních nástrojů pro krytí kódu
- Co je to Test Case? | Tipy a triky