Co je testování komponent? Techniky, příklady testovacích případů
⚡ Chytré shrnutí
Testování komponent kontroluje každou jednotlivou část aplikace samostatně, aniž by ji integrovalo se zbytkem, takže vady jsou nalezeny a opraveny uvnitř jednoho modulu před zahájením sestavování.
Co je testování komponent?
Testování součástí je typ testování softwaru, při kterém se testování provádí na každé jednotlivé komponentě samostatně, bez její integrace s ostatními komponentami. Z hlediska architektury se také nazývá testování modulůa některé reference to nazývají testování programu.
Jakýkoli software jako celek se skládá z několika komponent a testování na úrovni komponent se zabývá testováním těchto komponent jednotlivě. Je to jedna z nejčastějších testování černé skříňky typy prováděné týmem QA.
Na úvod je vhodné zmínit pojmenování. Glosář ISTQB se zabývá testováním komponent a testování jednotky jako synonyma pro stejnou úroveň testování. Mnoho vývojových týmů a tento článek tyto dva v praxi oddělují: vývojáři spouštějí jednotkové testy na svém vlastním kódu a testeři poté spouštějí komponentní testy na dodané sestavě. Srovnávací tabulka na konci tohoto článku tento praktický rozdíl ukazuje.
Jak ukazuje níže uvedený diagram, testování komponent má svou vlastní testovací strategii a testovací plán, ve kterém je každá část softwaru nebo aplikace posuzována samostatně. Pro každou komponentu testovací scénář je definován, který je poté rozdělen na testovací případy na vysoké úrovni a nakonec na podrobné testovací případy na nízké úrovni testovací případy s předpoklady.
Způsob, jakým se termín „testování komponent“ používá, se liší v závislosti na oboru a organizaci. Nejčastější důvody pro tento rozdíl ve vnímání jsou tři níže uvedené.
- Zvolený typ modelu životního cyklu vývoje
- Složitost testovaného softwaru nebo aplikace
- Zda se testování provádí s izolací od ostatních komponent v aplikaci, nebo bez ní
Životní cyklus softwarového testování produkuje mnoho testovacích artefaktů, tedy dokumentů vytvořených a používaných během testovacích aktivit. Mezi nimi je testovací politika a testovací strategie, které definují, jaké typy testování se používají a jak hluboko testování v daném projektu zachází.
Kdo provádí testování komponent
Testování komponent provádějí testeři. Jednotkové testování provádějí vývojáři, kteří testují jednotlivé funkce nebo procedury. Po dokončení jednotkového testování následuje testování komponent a testeři ho přebírají.
Kdy provést testování komponent
Testování komponent se provádí krátce poté, co vývojáři provedou jednotkové testování a sestavení je vydáno testovacímu týmu. Toto sestavení se označuje jako UT sestavení nebo sestavení pro jednotkové testování. V této fázi se testuje hlavní funkcionalita každé komponenty.
Vstupní kritéria pro testování komponent
- Minimální sada komponent, které mají být zahrnuty v sestavení UT, byla vyvinuta a jednotkově otestována.
Výstupní kritéria pro testování komponent
- Funkce každé komponenty funguje tak, jak je specifikováno.
- V souboru nezůstává otevřená žádná závada kritické, vysoké nebo střední závažnosti ani priority. protokol o vadách.
Techniky zkoušení součástí
Na základě hloubky testovací úrovně se testování komponent dělí na dva způsoby.
- CTIS — Testování komponent v malém měřítku
- CTIL — Testování komponent ve velkém
CTIS — Testování komponent v malém měřítku
Testování komponent může být prováděno s izolací nebo bez izolace od ostatních komponent v testované aplikaci. Pokud se provádí s ostatními izolovanými komponentami, označuje se to jako testování komponent v malém.
Příklad 1: Na webu s pěti různými webovými stránkami je testování každé webové stránky samostatně a izolovaně od ostatních komponent testováním komponent v malém.
Příklad 2: Níže uvedená domovská stránka guru99.com obsahuje mnoho komponent, jako například Domů, Testování, SAP, Web, Musí se učit!, Velká data, Živé projekty a blog.
Jakýkoli software se skládá z mnoha komponent stejným způsobem a každá komponenta má své vlastní podkomponenty. Testování každého modulu uvedeného v příkladu 2 samostatně, bez zohlednění jeho integrace s ostatními komponentami, je testování komponent v malém.
Otevřením rozbalovací nabídky Testování se zobrazí dílčí komponenty Testování: Ruční testování, SOAPUI, QTP, JUnit, Selenium, Správa testů a Mobilní testováníNa níže uvedeném snímku jsou tyto dílčí komponenty zvýrazněny červeně.
CTIL — Testování komponent ve velkém
Testování komponent prováděné bez izolace od ostatních komponent v testované aplikaci se označuje jako testování komponent jako celku.
Příklad rozdíl objasní. Předpokládejme, že aplikace se skládá ze tří komponent: Komponenta A, Komponenta B a Komponenta C.
Vývojář vytvořil komponentu B a chce ji otestovat. Aby bylo možné komponentu B kompletně otestovat, některé její funkce závisí na komponentě A a některé na komponentě C, jak ukazuje níže uvedený diagram.
Tok funkcí je A → B → C, což znamená, že komponenta B závisí na A i C. V tomto toku je stub volanou funkcí a ovladač volající funkcí.
Komponenta A a komponenta C dosud nebyly vyvinuty. Pro úplné otestování komponenty B jsou komponenty A a C podle potřeby nahrazeny ovladačem a pahýlem, takže dva chybějící kusy fungují jako fiktivní objekty, dokud neexistují ty skutečné.
- Pahýl: Testovaná komponenta volá stub. Komponenta C není připravena, takže ji nahrazuje stub a vrací odpovědi očekávané komponentou B.
- Řidič: Ovladač volá testovanou komponentu. Komponenta A není připravena, takže ji zastoupí ovladač a vyvolá komponentu B s požadovanými vstupy.
Příklad testovacích případů pro testování součástí
Dvě níže uvedené webové stránky jsou z funkčního hlediska vzájemně propojeny, což z nich činí užitečnou dvojici komponent k testování.
Webová stránka 1 je přihlašovací stránka demo bankovnictví.
Když uživatel zadá platné uživatelské jméno a heslo a klikne na tlačítko Odeslat, stránka se přesměruje na domovskou stránku webových stránek demo banky, která je zobrazena dále.
Zde je přihlašovací stránka jednou komponentou a domovská stránka druhou. Testování funkčnosti každé stránky zvlášť je testování komponent.
Scénáře testování komponent na webové stránce 1:
- Zadejte neplatné uživatelské ID a ověřte, zda se koncovému uživateli zobrazí uživatelsky přívětivé varování.
- Zadejte neplatné uživatelské jméno a heslo, klikněte na tlačítko Obnovit a ověřte, zda jsou pole s uživatelským jménem a heslem vyprázdněna.
- Zadejte platné uživatelské jméno a heslo a klikněte na tlačítko Přihlásit se.
Scénáře testování komponent na webové stránce 2:
- Ověřte, zda se na domovské stránce zobrazuje uvítací zpráva pro stránku správce.
- Ověřte, zda jsou všechny odkazy na levé straně webové stránky klikatelné.
- Ověřte, zda se ID správce zobrazuje uprostřed domovské stránky.
- Ověřte přítomnost tří různých obrázků na domovské stránce podle diagramu.
Testování jednotek versus testování komponent
Níže uvedená tabulka shrnuje, jak se tyto dvě úrovně liší v každodenní praxi.
| Testování jednotek | Testování komponent |
| Testování jednotlivých programů a modulů za účelem prokázání, že program fungují dle specifikace. | Testování každého objektu nebo části softwaru samostatně, s izolací nebo bez izolace od ostatních objektů. |
| Ověřeno podle projektové dokumentace. | Ověřeno podle testovacích požadavků a případů užití. |
| Hotovo vývojáři. | Provedeno testery. |
| Hotovo jako první. | Provádí se po dokončení jednotkového testování na straně vývojářů. |
| Závady se obvykle opravují na místě a nejsou formálně zaznamenávány. | Závady jsou zaznamenávány a tracprojde procesem správy defektů. |






