junit tutorial beginners what is junit testing
Tento výukový program JUnit pro začátečníky vysvětluje, co je Unit Testing, Test Coverage a What is JUnit Testing Framework spolu s příklady testovacích případů JUnit:
Tato řada JUnit byla připravena zaměřit se na naše publikum, které je úplným začátečníkem, a na ty, kteří mají dobrou znalost jazyka Java nebo JUnit a mají velký zájem o učení JUnit.
Seriál v celku byl navržen tak, abyste mohli interpretovat rozdíl mezi JUnit 4 a Junit 5.
Pojďme začít zkoumat JUnit hned !!
Co se naučíte:
jaký program otevře soubor json
Seznam výukových programů v této sérii JUnit
Výukový program č. 1: Výukový program JUnit pro začátečníky - Co je testování JUnit? (Tento návod)
Výukový program č. 2: Stahujte, instalujte a konfigurujte JUnit v Eclipse
Výukový program č. 3: Testy JUnit: Jak psát testovací případy JUnit s příklady
Výukový program č. 4: Co je testovací přípravek JUnit: Výukový program s příklady JUnit 4
Výukový program č. 5: Několik způsobů provádění testů JUnit
Výukový program č. 6: Seznam anotací JUnit: JUnit 4 Vs JUnit 5
Výukový program č. 7: Testovací případ JUnit Ignore: JUnit 4 @Ignore Vs JUnit 5 @Disabled
Výukový program č. 8: JUnit Test Suite & Filtrační testovací případy: JUnit 4 Vs JUnit 5
Výukový program č. 9: Pořadí provádění testu JUnit: Pořadí testů JUnit 4 Vs JUnit 5
Výukový program č. 10: Jak používat anotaci JUnit 5 @RepeatedTest s příklady
Výukový program č. 11: Vnořená třída JUnit 5: @Nested Tutorial s příklady
Výukový program č. 12: JUnit 5 Vlastní zobrazovaný název a podmíněné provedení testu
Výukový program č. 13: JUnit Vs TestNG - Jaké jsou rozdíly
Výukový program JUnit
V typickém přístupu TDD (Test-driven Development) se vývojáři zaměřují na testování jednotlivých částí kódu, který vyvíjejí. Čím lepší je testování produktu, tím lepší je jeho kvalita. Všichni víme, že testování by mělo probíhat paralelně s každou další fází životního cyklu vývoje softwaru.
Počínaje požadavkem a analýzou přes návrh a vývoj až po údržbu by každá fáze měla mít k sobě přidruženou příslušnou fázi testování. Testování jednotek po vývoji je to, co je vhodné k vytvoření robustní aplikace a k zavedení optimalizovaného kódu.
Co je testování jednotek?
Testování jednotek je testování malé logiky nebo kódu k ověření, že výstup kódu je podle očekávání na vstupu konkrétních dat a / nebo na splnění určitých podmínek. Jednotkové testy mají být obvykle nezávislé na ostatních testech.
Testování jednotek není možné pro testování složitých rozhraní s jinou aplikací nebo třetí stranou / externími službami. Test jednotky je zaměřen pouze na malou jednotku kódu, kterou může být jen metoda nebo třída.
Pomáhá vývojáři objevit problémy v aktuální logice a případná selhání regrese v důsledku aktuální změny. Kromě toho také poskytuje přehled o tom, jak by současný kód mohl ovlivnit budoucí implementaci.
Pokrytí testu
Volá se procento kódu, který je testován jednotkovými testy testovací pokrytí .
Cílem je mít lepší a větší testovací pokrytí kódu, který se v budoucnu nadále přidává k sadě regresních testů a pomáhá zvyšovat automatické provádění a ověřování testů, čímž snižuje manuální úsilí spojené s regresním testováním.
Spouštění testů automaticky pomáhá identifikovat problémy s regresí softwaru způsobené změnami v aktuálním kódu. Vysoký test pokrytí vašeho kódu vám umožní pokračovat ve vývoji funkcí, aniž byste museli provádět mnoho ručních testů.
Mnozí přicházejí s otázkou, jak kolik pokrytí testem je zásadní . Odpověď na tuto otázku je, že neexistuje žádné tvrdé a rychlé pravidlo, jak důležité je pokrytí testů; je to všechno úsudek. Úsudek se zlepší díky zkušenostem s pracovním tokem aplikací a historickými znalostmi dosud nalezených vad.
Efektivní testy nemusí nutně znamenat 100% pokrytí testem nebo začlenění automatizačních testů a / nebo testů jednotek pro každou jednotlivou větev nebo pokrytí cesty.
Některá triviální ověření, jako je chybová zpráva o ověření povinného pole ponechaného nevyplněného, které od let nemá chyby, nemusí být součástí regresní sady.
Ruční testování vs. automatické testování
Testování jednotek lze provést dvěma způsoby:
- Ruční testování
- Automatizované testování
nejlepší DVD Ripper pro Windows 10
V obou přístupech zůstává pracovní postup běžný:
- Vytvoření testovacího případu
- Přezkoumává to
- Pokud je třeba provést opravy, přepracujte je
- Proveďte testovací případ
- Analyzujte výsledky testu
Z níže uvedených důvodů se dává přednost automatickému testování před manuálním testováním:
Ruční testování | Automatizované testování |
---|---|
Když se testovací skříň provádí ručně bez zásahu nástroje, nazývá se ruční testování. | Když je testovací kufr proveden pomocí nástroje bez většího ručního zásahu, nazývá se to automatizované testování. |
Zahrnuto je opakované manuální úsilí. | Je možné se vyhnout opakovanému manuálnímu úsilí. |
Lidské úsilí při ručním testování může být chybné a časově náročné. | Automatizační testy jsou rychlejší a bezchybné ve srovnání s manuálními pracemi. |
Vyžadované prostředky pro testování jsou více pro ruční spuštění každého testovacího případu, což zvyšuje investice do prostředků. | Méně testerů je zapotřebí k provádění automatizovaných testů pomocí určených automatizovaných nástrojů, proto jsou zde menší investice do testování zdrojů, což zvyšuje ziskovost. |
Ruční testování musí být omezeno na malé pokrytí testem s ohledem na omezení časové osy. Existuje tedy riziko přeskočení mnoha testovacích scénářů, což vede také k riziku úniku závady. | Mnoho různých testovacích scénářů lze automatizovat a lze je provést několikrát, a to i za časových a zdrojových krizí, což vede k lepšímu pokrytí testů a lepší kvalitě produktu. |
Rámec pro testování jednotek
Možná máme další otázku, jak vypadá typický testovací případ automatizační jednotky a rámec, který následuje. Vývojáři používají Rámec testování jednotek pro vytváření automatizovaných testovacích případů jednotek.
- Aby bylo možné ověřit, zda kód logicky funguje podle očekávání, vytvoří se testovací skříň se specifickým kontrolním bodem nebo ověřovacím kritériem.
- Když je testovací kufr spuštěn, kritéria / podmínka projde nebo selže.
- Protokol se generuje podle pracovního postupu testcase.
- Rámec ohlásí souhrnný výsledek u úspěšných a neúspěšných testovacích případů.
- Podle závažnosti selhání nemusí testovací kufřík pokračovat dále a může zastavit následné spuštění.
- Mohly by se vyskytnout určité nízké závažné poruchy, které budou hlášeny v protokolu, ale neukáže tvrdé zastavení, ale pokračuje bez blokování dalších kroků testu.
Co je JUnit?
JUnit je open-source framework, který se používá pro psaní a provádění testů jednotek v programovacím jazyce Java. Je to jeden z nejznámějších frameworků pro testování jednotek.
Níže uvedený obrázek ukazuje různé známé nástroje pro testování automatizačních jednotek.
Níže jsou uvedeny atributy, s nimiž je JUnit zabalen:
- Existuje obrovský seznam anotací k identifikaci, provedení a podpoře mnoha funkcí testovacích metod.
- Existují tvrzení k ověření očekávaných výsledků.
- Poskytuje Test Runner pro provádění testů.
- JUnit poskytuje základní integrovanou šablonu, takže můžete psát malé, jednoduché testovací případy v žádném okamžiku.
- Testy JUnit vám pomohou napsat nezávislé moduly, a tím zlepšit pokrytí testu a kvalitu aplikace.
- Umožňuje nejen snadné vytváření a provádění testů, ale také poskytuje vývojáři čistou a jasnou explicitní zprávu, která eliminuje potřebu, aby vývojář prohledával cestu zpráv a výsledků testů.
- Dokud provádění testu neprochází hladce, můžete odpočívat při sledování zeleně zbarveného pruhu průběhu testu, který ukazuje, jak probíhá provádění, zatímco vás upozorní červeně, jakmile test selže při kontrolním bodu ověření.
- Lze vytvořit testovací sady, aby se dala dohromady posloupnost nebo související sada testovacích případů.
Příklady testovací JUnit
Níže jsou uvedeny dva příklady velmi základního programu Hello World, který vám pomůže pochopit, jak vypadá testovací třída JUnit nebo jak odlišně vypadá ve srovnání s obvyklým souborem třídy Java.
Příklad č. 1:
Zde je testovací vitrína JUnit HelloWorldJUnit.java, která ověří, že řetězec „Hello world“ odpovídá řetězci „hello world“, který selže při provádění, protože se ve shodě rozlišují velká a malá písmena. Proto se tyto dva řetězce neshodují a test selže .
Kód pro HelloWorldJUnit.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
Příklad č. 2:
Zde uvidíme, jak obvykle Jáva soubor třídy interaguje s JUnit modelový případ. Vytvoříme a Jáva soubor třídy HelloWorld_Java.java s konstruktorem, který nám umožňuje předat hodnotu String a metodu getText () k načtení hodnoty řetězce.
JUnit Testovací třída HelloWorldJUnit.java je vytvořen tak, že je vytvořen objekt třídy pro HelloWorld_Java a skutečná hodnota řetězce je předána objektu. AssertEquals () z JUnit ověří, zda se shodují očekávané a skutečné hodnoty řetězce.
Kód pro HelloWorld_Java.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
Kód pro HelloWorldJUnit.java
c # otázky a odpovědi na rozhovor
package demo.tests; public class HelloWorldJUnit{ private String s; public HelloWorld_Java(String s) { @Test public void test() { HelloWorld_Java hw=new HelloWorld_Java('Hello World'); assertEquals(hw.getText(),'Hello World'); } }
Výsledek vypadá níže, kde vidíme shodu dvou řetězců. Z tohoto důvodu je test JUnit prošel.
Závěr
Pokud jde o poskytnutí rychlého přehledu o tom, co JUnit je a co dělá, JUnit je krásně vytvořený rámec, který umožňuje automatizované vytváření a provádění testů jednotek.
Je to nástroj s otevřeným zdrojovým kódem, který je tak bezproblémový. Ať už je to vytvoření testovacích případů nebo provedení testovacího případu nebo hlášení po provedení nebo údržbě testů, JUnit je elegantní v každém ohledu. Ano, může také elegantně selhat; a uvidíme, jak se to stane v našem nadcházejícím tutoriálu, jak budeme pokračovat.
O autorovi: Tento výukový program napsalShobhaD. Pracuje jako vedoucí projektu a má 9 a více let zkušeností s manuálními, automatizačními a testovacími API.
Pojďme dále osvětlovat všechny aspekty JUNITu zde.
Doporučené čtení
- Výukový program Java Reflection s příklady
- Java String obsahuje () Výukový program metod s příklady
- Jagged Array In Java - výukový program s příklady
- Výukové programy pro zatmění do hloubky pro začátečníky
- Výukový program Java SWING: Kontejner, komponenty a zpracování událostí
- Ternární operátor v Javě - výuka s příklady
- 20+ výuka MongoDB pro začátečníky: bezplatný kurz MongoDB
- Výukový program Spock: Testování pomocí Spocka a Groovyho