Čo je to testovanie jednotiek? Všetko, čo potrebujete vedieť o testovaní jednotiek



Tento článok vám pomôže zistiť, čo je jednotkové testovanie a prečo je dôležité podrobiť softvérové ​​zostavenie jednotkovému testovaniu pred inými typmi testovania.

Hlavným cieľom každého softvérového projektu je získať vysoko kvalitný výstup pri znížení nákladov a času potrebného na dokončenie projektu. Na dosiahnutie toho, aby spoločnosti podrobili softvérový produkt hlavne štyrom úrovniam testovania. Testovanie jednotiek je prvou úrovňou testovania v Testovaní softvéru. V tomto článku sa budeme podrobne zaoberať testom jednotiek. Ak ste v testovaní softvéru nováčikom, prečítajte si tiež .

Pozrime sa na témy z tohto článku:





Úrovne testovania softvéru

je fáza v rámci cyklu vývoja softvéru, v ktorej sa overuje správnosť, kvalita a výkon kriticky dôležitého softvéru.

V rámci testovania softvéru existujú štyri základné úrovne, z ktorých každá skúma funkčnosť softvéru z jedinečného hľadiska v rámci vývojového procesu. Štyri úrovne testovania softvéru sú znázornené na obrázku nižšie.



Úrovne testovania softvéru - Čo je to Testovanie jednotiek? - Edureka

Tento článok podrobne popisuje testovanie jednotiek, prvú úroveň testovania softvéru.

Čo je testovanie jednotiek?

Testovanie jednotiek je spôsob testovania najmenšej časti kódu označovanej ako a jednotka ktoré možno logicky izolovať v systéme. Zameriava sa hlavne na funkčnú správnosť samostatných modulov.



Jednotkou môže byť takmer všetko, čo chcete - konkrétna funkčnosť, program alebo konkrétna metóda v rámci aplikácie. Čím je jednotka menšia, tým je lepšia. Menšie testy vám zvyčajne poskytnú oveľa podrobnejší pohľad na vašu produkciu, ktorú kód vykonáva. Aj vaše testy môžu bežať rýchlejšie, ak sú malé. Je to teda tiež mikroúroveň testovania softvéru.

Ako vykonávate testovanie jednotiek?

Cieľom jednotkového testovania je oddeliť každú časť programu a otestovať, či jednotlivé časti fungujú správne a podľa plánu. Počas vykonávania jednotkových testov sa funkcie aplikačného kódu vykonávajú v testovacom prostredí so vstupom vzorky. Získaný výstup sa potom porovnáva s očakávaným výstupom pre tento vstup. Ak sa zhodujú s testom vyhovuje. Ak nie, je to zlyhanie. Testy jednotiek sú skvelé na potvrdenie správnosti kódu. Pozrime sa na ukážkový algoritmus, ktorý ilustruje tento koncept.

Ako vidíte, vykonanie jednotkového testu je celkom jednoduché. Napíšete časť kódu a podrobíte ju testu. Ak test prejde úspešne, pridáte ho do svojej testovacej sady a otestujete ďalšiu časť kódu. Inak urobíte potrebné zmeny a znova to otestujete. Postup opakujte, kým nebudú otestované všetky jednotky softvéru.Tento typ základného testovania ponúka veľa výhod akovčasné vyhľadanie softvérových chýb, zjednodušenie integrácie a poskytnutie zdroja , a veľa ďalších.

Aké sú výhody testovania jednotiek?

Realizácia regresných testov je pre spoločnosti prospešná mnohými spôsobmi, napríklad:

Robí programovanie agilným

Testovanie jednotiek urýchľuje proces kódovania. Keď do aplikácie pridáte nové funkcie, niekedy bude možno potrebné upraviť dizajn a kód vášho softvérového produktu. Zmena už testovaného kódu však stojí príliš veľa peňazí a úsilia. Ale s jednotkovými testami môžete namiesto testovania celého programu iba otestovať novo pridanú časť kódu. Jednotkové testy tiež zlepšujú kvalitu vášho kódu.

Pomáha včas vyhľadať chyby softvéru

Pretože jednotkové testy vykonávajú vývojári, ktorí pred integráciou testujú individuálny kód, problémy sa dajú nájsť veľmi skoro v procese testovania softvéru. Dajú sa vyriešiť tam a tam bez toho, aby to malo dopad na ďalšie časti kódu. Výhodou včasného odhalenia chýb je, že môžete minimalizovať riziká vývoja a vyhnúť sa zbytočnému míňaniu peňazí a času.

čo robí iterátor v jave

Poskytuje dokumentáciu

Pri testovaní sa dokumentácia kódu často zanedbáva, pretože si vyžaduje veľa času. Ale testovanie jednotiek uľahčuje dokumentáciu tým, že podporuje lepšie postupy kódovania a zanecháva po sebe kúsky kódu, ktoré popisujú, čo váš produkt robí.

Ladenie je jednoduchšie

Testovanie jednotiek zjednodušuje proces ladenia. Keď test zlyhá, je potrebné odladiť iba najnovšie zmeny vykonané v kóde. Na vyšších úrovniach testovania je potrebné skenovať zmeny vykonané v rozmedzí niekoľkých dní alebo týždňov alebo mesiacov.

Znižuje náklady na testovanie

Pretože sa chyby nachádzajú skoro, náklady na ich opravu súdo istej miery znížené. Stálo by to oveľa viac, ak by sa chyba našla v neskorších fázach vývoja. Budete musieť upraviť celý kód svojho projektu. To znie skutočne únavne a zbytočne zbytočne. Vykonanie testovania jednotky teda šetrí drahocenný čas a peniaze.

Nech sa páči! Dúfam, že ste presvedčení, prečo je testovanie jednotiek dôležité. Ak sa posunieme ďalej, pozrime sa na jednoduchú ukážku spôsobu písania testov jednotiek.

Ukážka: Písanie ukážkového testu jednotky

Testovanie jednotiek vyžaduje, aby bol dobrý test:

  • Ľahko sa píše
  • Čitateľné
  • Spoľahlivý
  • Rýchlejšie a efektívnejšie

Požiadavky na ukážku:

  • Java Development Kit (JDK)
  • IDE (v tejto ukážke sa používa Eclipse)
  • Rámec na testovanie jednotiek (v tejto ukážke sa používa TestNG)

Začnime s ukážkou. Takže v tejto ukážke mám dva súbory:

  • Matematická trieda s funkciou na testovanie
  • Trieda Test s metódami na vykonávanie testovania

Ak chcete porozumieť testovaciemu prípadu, pozrite si nasledujúci kód. Je to matematická trieda s dvoma metódami: sčítanie, násobenie.

public final class Math {public static int add (int first, int second) {return first + second} public static int multiply (int multiplicand, int multiplier) {return multiplicand * multiplier}}

Ďalej máme triedu Test s metódami na testovanie funkčnosti pridať () funkcie a znásobiť () funkcie.

import org.testng.annotations.Test import static org.testng.Assert.assertEquals verejná trieda MathTests {@Test public void add_TwoPlusTwo_ReturnsFour () {očakávaný konečný int = -4 konečný int skutočný = Math.add (-2, -3) assertEquals (skutočné, očakávané)} @Test public void multiple_twonumbers_retursvalue () {konečné očakávané int = -4 konečné int skutočné = Math.multiply (2,2) assertEquals (skutočné, očakávané)}}

Test jednotky: Kontrola funkčnosti funkcie pridania

Komentujte znásobiť () funkcia v matematickej triede a multiple_twonumbers_retursvalue () funkcia v testovacej triede. Potom priraďte hodnotu pre očakávané premennej a zavolajte znásobiť () funkcia so vstupom vzorky (zvážte pozitívne aj negatívne prípady). Po spustení testu sa zobrazí ikona očakávané hodnota sa porovnáva s prúd hodnotu. Ak test vráti zamýšľané výsledky, znamená to pridať () funkcia funguje perfektne. Priložil som snímku obrazovky s výsledkami testu, keď očakávané hodnota je -5 a parametre odovzdané pridať () funkcie sú -2 a -3.

Jednoduché nie? Testovali sme jednotku alebo časť celého programu. To isté môžete urobiť s znásobiť () funkcie. Účelom tejto ukážky bolo pochopiť, čo znamená jednotka pri testovaní jednotky. Takže hlavným cieľom je overiť vnútorný návrh a vnútornú logiku, vnútorné cesty softvérového projektu v malých častiach. Rámec na testovanie jednotiek, ktorý som použil v tejto ukážke, je TestNG. Existuje mnoho ďalších rámcov na testovanie jednotiek pre rôzne programovacie jazyky.

jarný MVC návod pre začiatočníkov

Najlepšie rámce na testovanie jednotiek

Niektoré z populárnych rámcov na testovanie jednotiek sú:

  • JUnit: Je to open-source rámec pre vývojové prostredie založené na testoch, špeciálne navrhnuté pre .
  • NUnit: Je to jeden z najpopulárnejších rámcov na testovanie jednotiek pre C #.
  • TestNG: Určené pre programovací jazyk sa podobá JUnit a NUnit, ale ponúka niektoré nové funkcie, vďaka ktorým je výkonnejší a ľahšie sa používa.
  • HtmlUnit: Je to jeden z najpopulárnejších rámcov pre . Používa sa na testovanie webových aplikácií, ktoré sa používajú v rámci rámcov ako JUnit a TestNG.
  • Unitest: Inšpirovaný rámcom JUnit, tento rámec podporuje automatizáciu testov a koná nezávisle na testoch z prostredia prehľadov. Je to jeden z najpopulárnejších rámcov na testovanie jednotiek pre .

Okrem nich existuje veľa ďalších rámcov. Týmto sme sa dostali na koniec blogu. Dúfam, že to, čo ste sa tu dnes dozvedeli, vám pomôže, keď sa vydáte na cestu testovania softvéru.

Ak ste to našli článok relevantný, pozrite sa na naživo online autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto článku a my sa vám ozveme.