what is component testing
Čo sa Testovanie súčastí nazýva aj Testovanie modulov pri testovaní softvéru:
Komponent je najnižšia jednotka zo všetkých aplikácií. Takže, Testovanie komponentov; ako názov napovedá, je to technika testovania najnižšej alebo najmenšej jednotky ktorejkoľvek aplikácie.
Testovanie komponentov sa niekedy označuje aj ako Testovanie programov alebo modulov.
Aplikáciu možno považovať za kombináciu a integráciu mnohých malých jednotlivých modulov. Predtým, ako otestujeme celý systém, je nevyhnutné, aby sme každý komponent ALEBO najmenšiu jednotku aplikácie dôkladne otestovali.
sql server 2012 - otázky a odpovede na pohovory pre skúsených pdf
V takom prípade sa moduly alebo jednotky testujú nezávisle. Každý modul prijíma vstup, vykonáva určité spracovanie a generuje výstup. Výstup sa potom overí oproti očakávanej funkcii.
Softvérové aplikácie majú obrovský charakter a otestovať celý systém je výzvou. Môže to viesť k mnohým medzerám v pokrytí testu. Pred prechodom na integračné testovanie alebo funkčné testovanie sa preto odporúča začať s testovaním komponentov.
Prečítajte si tiež=> Rozdiel v integrácii a funkčnom testovaní
Čo sa dozviete:
- Testovanie komponentov
- Cieľ testovania komponentov
- Vstupy do testovania úrovne komponentov
- Kto vykonáva testovanie komponentov?
- Čo sa testuje v rámci testovania komponentov?
- Keď je testovanie komponentov hotové?
- Stratégia testovania komponentov
- Pahýly a vodiči
- Príklad
- Ako písať testovacie prípady komponentov?
- Testovanie komponentov vs. Testovanie jednotiek
- Komponent Vs Rozhranie Vs Integrácia Vs Testovanie systémov
- Záver
- Odporúčané čítanie
Testovanie komponentov
Je to druh testovania v bielej krabici.
Testovanie komponentov teda vyhľadáva chyby a overuje funkčnosť modulov / programov, ktoré sú samostatne testovateľné.
Existuje stratégia testovania a plán testovania testovania komponentov. A pre každú súčasť existuje testovací scenár, ktorý bude v testovacích prípadoch ďalej rozdelený. Nasledujúci diagram predstavuje to isté:
Cieľ testovania komponentov
Hlavným cieľom testovania komponentov je overenie vstupného / výstupného správania testovaného objektu. Zaisťuje, že funkčnosť testovacieho objektu funguje správne a úplne v poriadku podľa požadovanej špecifikácie.
Vstupy do testovania úrovne komponentov
Štyri hlavné vstupy do testovania na úrovni komponentov sú:
- Plán testovania projektu
- Požiadavky na systém
- Špecifikácie komponentov
- Implementácia komponentov
Kto vykonáva testovanie komponentov?
Testovanie komponentov vykonávajú služby QA alebo tester.
Čo sa testuje v rámci testovania komponentov?
Pri testovaní komponentov sa môže zohľadniť overenie funkčných alebo špecifických nefunkčných charakteristík komponentov systému.
Môže to byť testovanie správania zdrojov (napr. Zisťovanie úniku pamäte), testovanie výkonu, štrukturálne testovanie atď.
Keď je testovanie komponentov hotové?
Testovanie komponentov sa vykonáva po testovaní jednotiek.
Komponenty sa testujú hneď po ich vytvorení, takže existuje šanca, že výsledky načítané z testovaného komponentu závisia od iných komponentov, ktoré sa odteraz nevyvíjajú.
V závislosti od modelu životného cyklu vývoja sa testovanie komponentov môže vykonávať izolovane od ostatných komponentov systému. Izolácia sa vykonáva s cieľom zabrániť vonkajším vplyvom.
Na testovanie tejto súčasti teda používame pahýle a ovládačepre simuláciu rozhrania medzi softvérovými komponentmi.
Testovanie integrácie sa vykonáva po testovaní komponentov.
Stratégia testovania komponentov
V závislosti od hĺbky úrovne testovania je testovanie komponentov rozdelené na dve časti:
- Testovanie komponentov v malom (ctis)
- Testovanie komponentov vo veľkom (CTIL)
Keď sa testovanie komponentov vykonáva izolovane od ostatných komponentov, nazýva sa to testovanie komponentov v malom. Toto sa deje bez zváženia integrácie s inými komponentmi.
Ak sa testovanie komponentov vykonáva bez izolácie od ostatných komponentov softvéru, nazýva sa to ako testovanie komponentov vo veľkom. Stáva sa to, ak existuje závislosť na toku funkcií komponentov, a preto ich nemôžeme izolovať.
Ak komponenty, na ktorých máme závislosť, ešte nie sú vyvinuté, použijeme namiesto skutočných komponentov atrapy. Tieto fiktívne objekty sú stub (nazývaná funkcia) a ovládač (volajúca funkcia).
Pahýly a vodiči
Predtým, ako skočím na stručné informácie o pahýle a ovládačoch, mal by som sa oboznámiť s rozdiel medzi testami komponentov a testami integrácie. Dôvod je - Pahýly a ovládače sa používajú aj pri testovaní integrácie, čo môže viesť k nejasnostiam medzi týmito dvoma testovacími technikami.
Technika integračného testovania je technika, pri ktorej kombinujeme postupne 2 komponenty a testujeme integrovaný systém spoločne. Údaje z jedného systému sa prenášajú do iného systému a správnosť údajov sa overuje pre integrovaný systém.
Na rozdiel od testovania modulov, pri ktorých je jednotlivé komponenty / moduly pred integráciou do iných komponentov dôkladne testované. Môžeme teda povedať, že testovanie komponentov sa vykonáva pred testovaním integrácie.
Integrácia aj použitie komponentov Pahýly a vodiči .
„Vodiči“ sú fiktívne programy, ktoré sa používajú na volanie funkcií najnižšieho modulu v prípade, že volacia funkcia neexistuje.
„Pahýly“ sa dá označiť ako fragment kódu, ktorý prijíma vstupy / požiadavky z horného modulu a vracia výsledky / odpoveď
Ako už bolo vysvetlené, komponenty sa testujú individuálne a nezávisle. Môžu tu byť teda niektoré vlastnosti komponentov, ktoré závisia od druhého komponentu, ktorý v súčasnosti nie je vyvinutý. Na testovanie komponentov s týmito „nevyvinutými“ funkciami teda musíme použiť niektoré stimulačné prostriedky, ktoré by dáta spracovali a vrátili ich volajúcim komponentom.
Týmto spôsobom zabezpečujeme dôkladné otestovanie jednotlivých komponentov.
Tu vidíme, že:
- C1, C2, C3, C4, C5, C6, C7, C8, C9 ————— sú komponenty
- C1, C2 a C3 spolu tvoria podjednotku 1
- C4 a C5 spolu tvoria podjednotku 2
- C6, C7 a C8 spolu tvoria podjednotku 3
- Samotná C9 vytvára podjednotku 4
- Podjednotka 1 a podjednotka 2 sa spoja, aby vytvorili obchodnú jednotku 1
- Z podjednotky 3 a 4 sa vytvorí obchodná jednotka 2
- Business Unit 1 a Business Unit 2 kombinujú aplikáciu.
- Testovaním komponentov by teda v tomto prípade bolo testovanie jednotlivých komponentov, ktoré sú C1 až C9.
- The Netto šípka medzi Sub Unit 1 a Sub Unit 2 zobrazuje testovací bod integrácie.
- Podobne Netto šípka medzi Sub Unit 3 a Sub Unit 4 zobrazuje testovací bod integrácie
- Zelená šípka medzi Business Unit 1 a Business Unit 2 zobrazuje bod testovania integrácie
Preto by sme robili:
- KOMPONENT testovanie pre C1 až C9
- INTEGRÁCIA testovanie medzi podjednotkami a obchodnými jednotkami
- SYSTÉM testovanie Aplikácie ako celku
Príklad
Až doteraz sme museli dokázať, že testovanie komponentov je nejaký druh testovacej techniky v bielej krabici . Môže to byť správne. To ale neznamená, že táto technika nemohla byť použitá v testovacej technike Black box.
najlepší nástroj na čistenie systému Windows 10
Zvážte obrovskú webovú aplikáciu, ktorá začína prihlasovacou stránkou. Ako tester (to tiež v agilnom svete) sme sa nemohli dočkať, kým bude celá aplikácia vyvinutá a pripravená na testovanie. Aby sme predĺžili čas uvedenia na trh, musíme začať s testovaním včas. Keď teda uvidíme, že je prihlasovacia stránka vyvinutá, musíme trvať na tom, aby bola sprístupnená na testovanie.
Hneď ako budete mať k dispozícii prihlasovaciu stránku na otestovanie, môžete vykonať všetky svoje testovacie prípady (pozitívne aj negatívne), aby ste sa uistili, že funkčnosť prihlasovacej stránky funguje podľa očakávania.
Výhody testovania prihlasovacej stránky v tomto okamihu by boli:
ako napísať dobrý testovací prípad
- UI je testované na použiteľnosť (pravopisné chyby, logá, zarovnanie, formátovanie atď.)
- Skús použiť techniky negatívneho testovania napríklad autentifikácia a autorizácia. V týchto prípadoch je veľká pravdepodobnosť zistenia závad.
- Používanie techník ako SQL Injection by zabezpečilo otestovanie narušenia bezpečnosti vo veľmi skorej fáze.
Poruchy, ktoré by ste v tomto štádiu zaznamenali, by pre vývojový tím fungovali ako „poučenie“ a boli by implementované do kódovania nasledujúcej stránky. Preto včasným testovaním ste zaistili lepšiu kvalitu stránok, ktoré sa ešte len majú vyvíjať.
Pretože ďalšie po sebe nasledujúce stránky ešte nie sú vyvinuté, na overenie funkčnosti prihlasovacej stránky budete pravdepodobne potrebovať kúsky. Napríklad ,možno budete chcieť jednoduchú stránku s oznámením „úspešné prihlásenie“, v prípade správnych údajov a kontextové okno s chybovou správou v prípade nesprávnych údajov.
Môžete si prejsť náš predchádzajúci návod na webe Testovanie integrácie získať viac informácií o pahýľoch a ovládačoch.
Ako písať testovacie prípady komponentov?
Testovacie prípady na testovanie komponentov sú odvodené od pracovných produktov, napríklad od softvérového dizajnu alebo dátového modelu. Každý komponent je testovaný prostredníctvom postupnosti testovacích prípadov, kde každý testovací prípad pokrýva konkrétnu kombináciu vstupu / výstupu, t. J. Čiastočnú funkčnosť.
Ďalej je ukážka ukážky testovacieho prípadu komponentu pre prihlasovací modul.
Podobne môžeme napísať aj ďalšie testovacie prípady.
Testovanie komponentov vs. Testovanie jednotiek
Úplne prvý rozdiel medzi testovaním komponentov a testovaním jednotiek je v tom, že prvý testujú testéri, zatiaľ čo druhý testujú vývojári alebo odborníci z SDET.
Testovanie jednotiek sa vykonáva na granulárnej úrovni. Na druhej strane sa testovanie komponentov vykonáva na aplikačnej úrovni. Pri testovaní jednotiek sa overuje, či sa podľa zadaného programu vykonáva jednotlivý program alebo časť kódu. Pri testovaní komponentov sa každý objekt softvéru testuje osobitne s izoláciou alebo bez izolácie od ostatných komponentov / objektov systému.
Testovanie komponentov je teda celkom podobné ako testovanie jednotiek, ale vykonáva sa na vyššej úrovni integrácie a v kontexte aplikácie (nielen v kontexte tejto jednotky / programu ako pri testovaní jednotiek).
Komponent Vs Rozhranie Vs Integrácia Vs Testovanie systémov
Komponent , ako som vysvetlil, je najnižšia jednotka aplikácie, ktorá sa testuje nezávisle.
An rozhranie je spojovacia vrstva z 2 komponentov. Testovanie platformy alebo rozhrania, na ktorom tieto 2 komponenty interagujú, sa nazýva Testovanie rozhrania.
Teraz je testovanie rozhrania trochu iné. Tieto rozhrania sú väčšinou API alebo webové služby , takže testovanie týchto rozhraní by nebolo podobné technike Black Box, skôr by ste robili nejaký druh testovania API alebo testovania webových služieb pomocou SOAP UI alebo akýkoľvek iný nástroj.
Po dokončení testovania rozhrania prichádza Testovanie integrácie .
Počas integračného testu jednotlivé testované komponenty po jednom kombinujeme a testujeme postupne. Počas integrácie overujeme, že jednotlivé komponenty sa pri kombinovaní jeden po druhom správajú očakávaným spôsobom a údaje sa pri prechode z jedného modulu do druhého nezmenia.
Len čo sú všetky komponenty integrované a otestované, vykonávame Testovanie systémov otestovať celú aplikáciu / systém ako celok. Tento test overuje obchodné požiadavky oproti implementovanému softvéru.
Záver
To by som povedal Testovanie jednotky a Testovanie komponentov sa vykonáva vedľa seba.
Na rozdiel od testovania jednotiek, ktoré vykonáva vývojový tím, testovanie komponentov / modulov vykonáva testovací tím. Pred zahájením testovania integrácie sa vždy odporúča nechať si absolvovať testovanie priechodných komponentov.
Ak je testovanie komponentov pevné, nájdeme pri testovaní integrácie menej chýb. Vyskytli by sa problémy, ale tieto problémy by súviseli s integračným prostredím alebo výzvami konfigurácie. Môžete zabezpečiť funkčnosť integrovaných komponentov.
Dúfam, že tento návod bol užitočný na pochopenie testovania komponentov, integrácie a systému. Ak máte stále otázky, neváhajte sa nás opýtať v komentároch.
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Čo je Testovanie integrácie systému (SIT): Učte sa na príkladoch
- Stiahnutie e-knihy Testing Primer
- Čo je to porovnávacie testovanie (tu sa dozviete s príkladmi)
- Čo je testovanie integrácie (návod s príkladom testovania integrácie)
- Funkčné testovanie vs. Nefunkčné testovanie
- Rozdiely medzi testovaním jednotiek, testovaním integrácie a funkčným testovaním
- Čo je to prírastkové testovanie: podrobné vysvetlenie s príkladmi