top 15 code coverage tools
Seznam nejpopulárnějších nástrojů pro pokrytí kódu pro Java, JavaScript, C, C ++, C #, PHP, Eclipse, .Net a mnoho dalších programovacích jazyků:
V testování softwaru existuje několik způsobů, jak měřit pokrytí testování. Metoda pokrytí kódu je jednou z nejdůležitějších technik.
Pomocí nástrojů pro pokrytí kódu lze identifikovat množství testovaného kódu při provádění testů. Jednoduše řečeno, pokrytí kódu nám říká, kolik zdrojového kódu je pokryto sadou testovacích případů. Je to důležitá metrika k udržení standardní kvality úsilí QA.
Měří se pokrytí kódu v procentech počtu provedených řádků z celkového počtu řádků kódu během provádění testů.
V době psaní testovacích případů byste měli mít na paměti všechna kritéria pro maximální pokrytí kódu, tj. Testovací případy by měly být psány tak, aby pokrývaly všechny příkazy, funkce, podmínky, cesty, rozhodnutí, smyčky, hodnotu parametru, vstupní a výstupní kritéria.
Na trhu máme několik nástrojů k měření pokrytí kódu. Podívejme se na některé z nich podrobně v tomto článku.
*******************
= >> Kontaktujte nás zde navrhnout váš zápis.
*******************
Co se naučíte:
Nejoblíbenější nástroje pro pokrytí kódu v roce 2019
Níže je uveden seznam nejpopulárnějších nástrojů pro pokrytí kódu, které jsou na trhu k dispozici.
# 1) Parasoft JTest
Parasoft Jtest je jedním z produktů sady testovacích nástrojů Parasoft.
Jtest vám umožňuje urychlit vývoj aplikací založených na prostředí Java s minimálním rizikem, řádným vedením a analýzou. Používá se k testování jednotky a pokrytí kódu integrovaného s manuálním a automatizovaným testováním. Jeho zpráva poskytuje dobrý obrázek o pokrytém kódu, a tím minimalizuje rizika.
Klíčové vlastnosti:
- Používá se pro aplikace založené na prostředí Java.
- Jedná se o nástroj s více úkoly, který zahrnuje analýzu toku dat, testování jednotek, statickou analýzu, detekci chyb za běhu, testování pokrytí kódu atd.
- Může shromažďovat pokrytí z různých rámců a testovacích metod.
- Může být spuštěn v režimu příkazového řádku, GUI založeném na zatmění nebo se systémy CI.
- Jeho vysoce kvalitní hlášení a analýza zahrnují také sledovatelnost a podrobnosti testování založené na změně kódu.
Typ licence: Proprietární komerční software
Oficiální URL: Parasoft JTest
Výhody a nevýhody:
- Je velmi nákladné používat.
- Je to dobrý nástroj pro nejkvalitnější produkt s víceúčelovým řešením pro snížení času a rizik.
- Zprávy a analýzy jsou velmi snadno srozumitelné a doplňují maximální aspekty kvality.
Poslední vydání: Verze 10.3.3 7. listopadu 2017.
# 2) Testwell CTC ++
Testwell CTC ++ je velmi oblíbený nástroj společnosti Verifysoft Technology. Jedná se o spolehlivý nástroj pro pokrytí a analýzu kódu pro C, C ++, C # a Java.
Toto je primární volba pro většinu průmyslových odvětví v jakékoli doméně. Zajišťuje úplnost testů. Dodává se s kvalifikační sadou. Pro tento nástroj je k dispozici také bezplatná zkušební verze, online školení a živé prezentace. Je k dispozici ve třech balíčcích pouze pro hostitele CTC ++, doplněk CTC ++ Host-Target a doplněk CTC ++ Bitcov.
operační systémy, které spouští programy Windows
Pro C # a Java vyžaduje samostatný doplňkový balíček.
Klíčové vlastnosti:
- Jeho hlavní vlastností je, že jej lze použít pro aplikace v různých jazycích a doménách.
- Lze jej použít také se všemi nástroji pro testování jednotek.
- Jako nástroj pro pokrytí kódu poskytuje úplné pokrytí včetně všech kritérií.
- Zprávy lze získat ve formátu přímého textu, HTML, JSON, XML a Excel.
Typ licence : Zkušební verze je zpočátku k dispozici zdarma. Pro jeho zakoupení nebo doplněk je musíte kontaktovat.
Oficiální URL: Testwell CTC ++
Výhody a nevýhody:
- Je velmi spolehlivý a snadno použitelný. Zabraňuje nedoručení nevyzkoušeného kódu.
- K dispozici je bezplatná zkušební verze.
- Může být použit pro aplikace v různých jazycích, jako je C, Java, C # atd.
- Je to dobré pro všechny domény, jako je zdravotnictví, doprava, automobilový průmysl atd., S vysokým pokrytím kódu.
- Podporuje všechny překladače a křížové překladače.
- Jeho cena není zveřejněna, a proto musíte kontaktovat společnost ohledně podrobností o cenách.
Poslední vydání: Verze 8.2.2
# 3) Pokrytí
Cobertura je nástroj pro pokrytí otevřeného zdrojového kódu pro Javu. Toto je nástroj založený na Jcoverage. Chcete-li použít tento nástroj, měli byste deklarovat modul plug-in Maven v souboru POM.XML.
Klíčové vlastnosti:
- Podporuje Java 7, Java 8, Java 9 a Java 10.
- Cobertura lze spustit z příkazového řádku nebo mravence.
- Po kompilaci vypočítá bajtový kód Java.
- Pokrývá všechna kritéria pokrytí kódu, včetně větví, třídy, balíčku atd.
- Zprávy jsou vytvářeny v HTML nebo XML.
- Tyto sestavy mají funkce filtrování, vzestupného a sestupného.
Typ licence: GNU General Public License (GPL)
Oficiální URL: Dosah
Výhody a nevýhody:
- Jedná se o nástroj pro pokrytí otevřeným zdrojovým kódem.
- Jeho zprávy jsou snadno srozumitelné s možností filtrování podle potřeby.
- Je dobře navržen pro vývojáře i testery.
- Funguje pouze pro Javu.
Poslední vydání: Verze 2.1.1
# 4) JaCoCo
JaCoCo je bezplatná sada nástrojů pro pokrytí kódu vyvinutá společností EclEmma. Byl vyvinut pro nahrazení nástroje pro pokrytí kódu Emma. Lze jej použít pouze pro měření a vykazování aplikací založených na prostředí Java.
Klíčové vlastnosti:
- Tento nástroj pro pokrytí kódu lze použít pouze pro Javu. Podporuje Java 7, Java 8, Java 9 a Java 10.
- Je kompatibilní se všemi typy vydané verze souboru třídy Java.
- Pokrývá řádky, pokyny, metody, typ, větve a cyklomatickou složitost pokrytí kódu.
- Může vybavovat kód Java dvěma různými způsoby, tj. Buď při spuštění kódu pomocí agenta Java, nebo před spuštěním kódu, který je offline.
- Uloží výsledná data do souboru nebo je odešle přes TCP. Mezi formáty zpráv patří CVS, XML a HTML.
- Podporuje regresní testy spolu s funkčními testy, kde jsou testovací případy založeny na Junit.
Oficiální URL: JaCoCo
Výhody a nevýhody:
- Toto je nástroj pro pokrytí otevřeným zdrojovým kódem.
- Je určen pouze pro pokrytí kódem Java.
- Poskytuje dobrý výkon pro rozsáhlé projekty Java při minimálním běhu.
- Vyžaduje méně implementace s minimálními závislostmi na externích knihovnách a zdrojích.
- Existuje mnoho nástrojů, které podporují JaCoCo jako Jenkins, Netbeans, Gradle, TeamCity, VS TEAM SERVICES atd.
- Je snadné nakonfigurovat JaCoCo v Maven, Junit atd., Abyste získali zprávu o pokrytí kódu.
- Zpráva generovaná JaCoCo je barevná a snadno srozumitelná.
Poslední vydání: Verze 0.8.1 21. března 2018.
# 5) CodeCover
Nástroj CodeCover je rozšiřitelný nástroj pro testování otevřených skleněných boxů, který lze použít jako pokrytí kódu pro software Java. Byl vyvinut v roce 2007 na univerzitě ve Stuttgartu. Lze jej spustit v příkazovém řádku, Eclipse a Ant.
Klíčové vlastnosti:
- Jedná se o nástroj pro testování skleněných krabic pro java aplikace.
- Pokrývá výpisy, smyčky, větve atd., Spolu s pokrytím termínů, pokrytím operátorem otazníku a synchronizovaným pokrytím.
- Zprávy jsou generovány ve formátu rychlosti šablony motoru.
Typ licence: EPL - Eclipse Public License.
rozdíl mezi klientským serverem a webovou aplikací
Oficiální URL: CodeCover
Výhody a nevýhody:
- Jedná se o bezplatný nástroj, který lze použít pro pokrytí kódu.
- Používá se ke zvýšení kvality testování a vytvoření nových testovacích případů.
- Jeho použití v Javě a COBOL je omezené.
- Má také omezení pro použití pouze jednoho zdrojového adresáře.
Poslední vydání: Verze 1.0.1.2 v roce 2011
# 6) BullseyeCoverage
Bullseye je nástroj pro pokrytí kódu pro programy C ++ a C. Jeho cena je 800 $ za první rok a 200 $ ročně za obnovení.
Klíčové vlastnosti:
- Tento analyzátor pokrytí kódu lze použít pro C ++ a C.
- Má funkci pro export výsledku do formátu HTML, XML a GUI.
- Dodává se s dalšími funkcemi, jako je slučování, vylučování kódu, vizualizace atd.
- Největším zklamáním je, že sloučení výsledků lze provést pouze na funkční úrovni. Není povoleno na úrovni prohlášení nebo podmínky.
Typ licence: Plovoucí licence
Oficiální URL: Terč
Výhody a nevýhody:
- Jeho použití je omezeno na C ++ a C.
- Náklady na nástroj jsou vysoké. Zvláště pokud člověk nepotřebuje své další funkce, jako je Visualizer, Merge, kód kromě atd.
- Tento nástroj je uživatelsky přívětivý a jeho použití je jednoduché.
- Zprávy jsou velmi přímé a snadno srozumitelné.
- Jeho rychlost provádění je velmi rychlá.
- Funkce sloučení není tak dobrá.
Poslední vydání: Verze 8.14 v březnu 2018
# 7) EMMA
Emma je velmi populární open source nástroj pro software Java pro měření pokrytí kódu. Byl vyvinut Vladem Roubtsovem. Pokrývá všechny typy pokrytí, jako je třída, linka, metoda atd.
Klíčové vlastnosti:
- Pro software Java je to 100%.
- Jeho speciální funkcí je, že podporuje rozsáhlý podnikový rozvoj.
- Tento nástroj má na trhu velký podíl ve srovnání s ostatními nástroji bezplatného pokrytí.
- Přehledy jsou k dispozici ve formátu XML, HTML a prostý text.
Typ licence: CPL - Common Public License v1.0.
Oficiální URL: EMMA
Výhody a nevýhody:
- Jedná se o bezplatný nástroj s velmi dobrou rychlostí.
- Je to docela snadné použití a pokrývá všechna kritéria pokrytí kódu.
- Omezeno pro jeho použití v softwaru Java.
- Podporuje ANT.
- Podporuje vybavení třídy a lze jej provádět offline nebo za běhu.
- Největší nevýhodou je, že nepodporuje nejnovější verzi Javy a není dobře udržována.
Poslední vydání: Emma-2.0.5320
# 8) OpenCover
OpenCover je nástroj s otevřeným zdrojovým kódem pro pokrytí kódu softwaru .Net. Funguje dobře pro .Net 2 a vyšší. Byl vyvinut k překonání problémů, kterým čelí při používání nástroje PartCover pro pokrytí kódu softwaru .Net.
Klíčové vlastnosti:
- Je určen pro veškerý software .Net 2 a vyšší.
- Lze jej nainstalovat pomocí balíčku NuGet, souboru MSI nebo ZIP.
- Poskytuje 64 a 32bitovou podporu pro .Net 4 a .Net 2.
- Poskytuje jednoduchý proces pokrytí kódu.
- Poskytuje také lepší zpracování generik než PartCover.
- Je to nástroj příkazového řádku.
- Poskytuje zprávy jako výstupní soubor XML, který se používá k vytváření grafických zpráv. To se děje s podporou nástroje Generátor zpráv.
Typ licence: Licence MIT
Oficiální URL: OpenCover
Výhody a nevýhody:
- Jedná se o bezplatný nástroj pro testování pokrytí kódu.
- Je to lepší než PartCover v několika ohledech.
- Poskytuje velmi užitečnou dokumentaci při instalaci OpenCover.
Poslední vydání: OpenCover 4.6.519 8. února 2016
# 9) NCover
NCover je nejlepší nástroj pro pokrytí kódu vyvinutý Peterem Waldschmidtem pro platformu .Net. Nejedná se o plně otevřený zdrojový nástroj. Pouze jeho beta verze je k dispozici zdarma. Za kompletní NCover 3 stojí 480 $.
Klíčové vlastnosti:
- Nástroj NCover je určen pouze pro platformu .Net.
- To zahrnuje výpisy a pokrytí poboček.
- Tento nástroj analyzuje kód tím, že jej vybaví za tím, co je soukromé.
- K procházení zdrojového kódu s analýzou pokrytí je k dispozici nástroj NCoverExplorer.
- Zprávy jsou prezentovány v metrikách formátu HTML.
Typ licence: Plovoucí licence
Oficiální URL: NCover
Výhody a nevýhody:
- Je to nejlepší nástroj pro pokrytí kódu pro software .Net.
- Pouze verze Beta je zdarma. Jinak je použití tohoto nástroje vysoké.
- Má 4 roky splatnosti a je to velmi rychlý nástroj.
- Podpora je velmi aktivní a neustále aktualizuje vydání s některými novými opravami a funkcemi.
- Pomocí tohoto nástroje je velmi snadné vytvořit údaje o pokrytí kódu.
- Je to dobré pro manuální i automatické testování pokrytí kódu.
Poslední vydání: NCOVER V5.5.3706.979 v září 2017
# 10) Squish COCO
COCO je multiplatformní nástroj pro překrytí vícejazyčných kódů napříč platformami od froglogic.
Mezi jazyky podporované COCO patří C ++, C, C #, System C, Tcl a QML. Přehledy jsou k dispozici v různých formátech, jako jsou HTML, XML, Text, JUnit a Cobertura. Náklady na nástroj společnost FROGLOGIC nezveřejňuje. Zakoupená licence však bude platná po dobu 1 roku.
Pro více informací je třeba kontaktovat podporu. Je k dispozici zkušební verze, ukázka, školení a online podpora, ale s omezeními na základě zakoupené licence.
Klíčové vlastnosti:
- Jedná se o nástroj pro pokrytí kódu napříč platformami a překladači mezi překladači.
- Poskytuje zdrojový kód.
- Může být integrován s různými sestaveními, testy a CI rámci.
- Funkce slučování zpráv je k dispozici pro lepší analýzu.
Typ licence: Licence Frog logic - Plovoucí licence.
Oficiální URL: Squish COCO
Výhody a nevýhody:
- Podporuje více typů projektů v jazyce jako C ++, C, C #, System C, Tcl a QML.
- Jeho zkušební verze je na trhu k dispozici s omezeními.
- Každá licence obsahuje jeden rok podpory a aktualizací.
- Proces je snadný.
- Zahrnuje kritéria jako prohlášení, pobočky a podmínky.
- Uživatel si může zvolit jiný formát zprávy.
- Vyhledá nadbytečné testy a nedosažitelný nebo mrtvý kód.
Poslední vydání: Verze 4.0 v roce 2017
# 11) CoverageMeter
Nástroj CoverageMeter je nejčastěji používaný řetězec nástrojů pro pokrytí kódu pro aplikace v C / C ++. Jeho nejnovější verze je verze 1.4. Pomáhá při hledání nevyzkoušeného zdrojového kódu. Obsahuje dva dílčí nástroje, tj. CoverageBrowser a CoverageScanner.
CoverageScanner funguje jako nástroj příkazového řádku a nahrazuje kompilátor. Je přizpůsoben většině překladačů používaných na trhu. CoverageBrowser funguje jako grafické rozhraní, které se používá k analýze a správě závěrečných zpráv. Po provedení lze závěrečnou zprávu analyzovat a spravovat v CoverageBrowser.
Klíčové vlastnosti:
- Nástroj funguje hlavně ve dvou částech, tj. CoverageScanner a CoverageBorwser.
- Dodává se také se dvěma malými bezplatnými nástroji - Execution Agent a volitelným Visual Studio 2005 a 2008.
- Lze jej použít pouze pro aplikace založené na C a C ++.
- Jeho cena je přibližně 115,00 USD. Jeho zkušební verze je však k dispozici také na trhu.
Typ licence: Shareware
Oficiální URL: Měřič pokrytí
Výhody a nevýhody:
- Jeho bezplatná zkušební verze je k dispozici na trhu.
- Je omezen pouze na program C a C ++.
- Pokrývá všechna kritéria pokrytí kódu, jako je funkční, příkaz, podmínka, cesta atd.
Poslední vydání: Verze 1.4
# 12) GCT
GCT, Generic Coverage Tool, je bezplatný nástroj pro pokrytí kódu pro C od Brain Marick. Měří větve, smyčky a relační pokrytí operátorů. Nástroj získá zdrojový kód C a poté provede instrumentaci a vytvoří objekt pomocí systémového kompilátoru C. Jiným způsobem, jako skutečný kompilátor, volá po kompilaci kompilátor C.
Klíčové vlastnosti:
- Je to dobré pro programy C.
- V nejnovější verzi se chová jako dobrý kompilátor.
- Pokrývá větve, vícenásobné podmínky, okrajové podmínky a smyčky.
Typ licence: GNU - General Public License.
Oficiální URL: GCT
Výhody a nevýhody:
- Jedná se o otevřený zdroj a snadno se používá s výkonným systémem hlášení.
- Nástroj běží pouze v systému UNIX.
- Nástroj je velký a má mnoho součástí instalace. To vyžaduje zhruba 33 000 1k bloků.
- Má flexibilní nástroje pro podávání zpráv.
Poslední vydání: GCT 1.4
rychlé řazení v C ++
# 13) TCAT C / C ++
TCAT je nástroj pro pokrytí kódu pro analýzu C, C ++ a JAVA. Jeho verze 2.1 funguje dobře pro NT 4.xa Windows 95. Sada TCAT se skládá z instrumentovaného enginu, runtime jednotky a graficky orientovaného analyzátoru. Aby bylo možné zjistit skutečné náklady a omezení, je třeba je kontaktovat nebo odeslat e-mail.
Klíčové vlastnosti:
- Analyzuje větve, funkce a pokrytí kódem párů hovorů.
- Funguje pro C, C ++ a Java.
- Metoda hlášení pokrytí metodou „point and click“ usnadňuje používání nástroje.
- Dostupnost kompletní uživatelské dokumentace a výkonného vizualizačního softwaru pro pomoc uživatelům.
- Má demo verzi, která nevyžaduje licenční klíč, zatímco plná verze vyžaduje licenční klíč.
Typ licence: Standardní správce plovoucí licence (flexlm)
Oficiální URL: TCAT C / C ++
Výhody a nevýhody:
- Omezeno na C, C ++ a JAVA.
- Snadno zpracovává velké a složité projekty bez problémů s kapacitou.
- Dobré porozumění programu ze stromu volání a digrafů.
- Je velmi spolehlivý, s minimálními výpočty a je plně kompletní pro použití vývojáři i testery.
- Demo verze je k dispozici pouze po dobu 10 dnů, a to také s určitými omezeními.
- Cena licence není zveřejněna.
Poslední vydání: TCAT C / C ++, verze 3.2.
# 14) Mařenka
Gretel je bezplatný nástroj pro pokrytí kódu pro program Java od Carls Howells z Oregonské univerzity. K instalaci Gretel JVM 1.3 nebo novější je vyžadována BCEL (Byte Code Engineering Library).
Klíčové vlastnosti:
- Podporuje pokrytí prohlášení pro program Java.
- Pomáhá také pokrytí zbytkového testu re-instrumentací programu a odstraněním nástroje z již provedeného kódu.
- Lze jej spustit v příkazovém řádku nebo v grafickém uživatelském rozhraní.
- Zprávy jsou k dispozici v grafickém uživatelském rozhraní.
Typ licence: BSD
Oficiální URL: Mařenka
Výhody a nevýhody:
- Je to nástroj s otevřeným zdrojovým kódem.
- Není kompatibilní s JUnit.
Poslední vydání: Verze 1.0rc2 v červnu 2002.
# 15) JCov
Jcov je open source nástroj pro pokrytí Java kódem. Je vyvinut a implementován pomocí SUN JDK. Funguje tak, že se instrumentuje java bytecode dvěma způsoby, tj. Statickou instrumentací a dynamickou instrumentací.
Klíčové vlastnosti:
- Tento nástroj je vhodný pro projekty Java.
- Hlásí pokrytí bloku, linky, větve a metody.
- Může ukládat shromážděná data do systému souborů nebo na server.
- Je nástrojem java bytecode.
- Může pracovat za běhu i offline.
Typ licence: LPG V2
Oficiální URL: JCov
Výhody a nevýhody:
- Jedná se o nástroj pro pokrytí otevřeným zdrojovým kódem.
- Je omezen pouze na projekty Java.
- Pokrývá téměř všechna kritéria pokrytí kódu.
Poslední vydání: JCov verze 3 v roce 2014.
Závěr
Pomocí pokrytí kódu k udržení standardní kvality testovacích vodičů můžete zahrnout další testovací případy, abyste se ujistili, že je kód spuštěn při maximálním spuštění testovacích sad. To je opravdu užitečné pro efektivní regresní testování.
Nástroje pro pokrytí kódu se používají pouze k měření pokrytého kódu při provádění testů.
Je velmi vzácné najít 100% pokrytí kódu a ani 100% pokrytí kódu neprokáže 100% testování kvality. Můžete dosáhnout 100% pokrytí kódu, ale stále vám chybí některé důležité testovací případy. Abychom dosáhli lepší úrovně efektivního testování, měli bychom místo běžného pokrytí kódu přejít na Testování mutací.
*******************
= >> Kontaktujte nás navrhnout seznam zde.
*******************
Doporučené čtení
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- 15 nejlepších nástrojů JAVA pro vývoj, sestavení, profiler, pokrytí kódu a kontrolu
- TOP 40 nástrojů pro statickou analýzu kódu (nejlepší nástroje pro analýzu zdrojového kódu)
- Top 10 nejpopulárnějších nástrojů pro kontrolu kódu pro vývojáře a testery
- Implementace Java: Vytvoření a spuštění souboru Java JAR
- Virtuální stroj Java: Jak JVM pomáhá při spouštění aplikace Java
- Modifikátory přístupu v Javě - výuka s příklady
- Výukový program Java Reflection s příklady