(souhrn dle znalostí získaných z různých školení a dokumentů a knížky Ron Patton - Testování SW)
Dle charakteru přístupu a způsobu testování
První rozdělení je dle charakteru přístupu na:
Testování černé skřínky (Black Box)
Tester ví, co má předložený software dělat, ale nemůže se podívat dovnitř.
Testování bílé skřínky (White Box)
Tester má přístup ke zdrojovému kódu, zkoumání kódu mu může pomoci při testování.
Tester ví, co má předložený software dělat, ale nemůže se podívat dovnitř.
Testování bílé skřínky (White Box)
Tester má přístup ke zdrojovému kódu, zkoumání kódu mu může pomoci při testování.
Druhé rozdělení je dle způsobu:
Statické testování
Testuje se něco, co neběží. Testovaný objekt prohlížíme a revidujeme.
Dynamické testování
Testuje se něco, co běží. Software spustíme a pracujeme s ním.
Testuje se něco, co neběží. Testovaný objekt prohlížíme a revidujeme.
Dynamické testování
Testuje se něco, co běží. Software spustíme a pracujeme s ním.
Celkově pak máme čtyři různé charakteristiky:
Statické testování černé skřínky
Dynamické testování černé skřínky
Statické testování bílé skřínky
Dynamické testování bílé skřínky
Dynamické testování černé skřínky
Statické testování bílé skřínky
Dynamické testování bílé skřínky
Dle testovacích fází
Z hlediska jednotlivých fázi vývoje SW produktu dělíme testování na testovací fáze:
Unit test
Počáteční fáze, zaměřená na nejmenší testovatelné unity/komponenty.
Integrační (build) test
Zajišťuje, že vzájemně propojené unity/komponenty pracují správně (buildy mohou být nekompletní).
Ověření kompletnosti buildu (smoke test)
Rychlý odhad stability buildu před provedením hloubkového testu
Systémový test
Testy funkcionality a výkonu finálního buildu (aplikace jako celku).
Uživatelský akceptační test
Testování systému koncovými uživateli.
Počáteční fáze, zaměřená na nejmenší testovatelné unity/komponenty.
Integrační (build) test
Zajišťuje, že vzájemně propojené unity/komponenty pracují správně (buildy mohou být nekompletní).
Ověření kompletnosti buildu (smoke test)
Rychlý odhad stability buildu před provedením hloubkového testu
Systémový test
Testy funkcionality a výkonu finálního buildu (aplikace jako celku).
Uživatelský akceptační test
Testování systému koncovými uživateli.
Dle typu testu
Z hlediska toho, co může mít vliv na celkovou kvalitu softwarového produktu, můžeme testy rozdělit do několik typů testů:
Testy funkcionality
Ověření, že SW poskytuje požadované služby, obsahuje pozitivní a negativní scénáře
Testy uživatelského rozhraní
Uživatel, mnoho kombinací, mnoho testování.
Výkonové testy
Časy odezvy systému, souběžnost
Objemové testy
Podrobení systému velkému množství dat, za účelem určení limitu, které způsobí selhání.
Zátěžové testy
Hledání problému zapříčiněných zátěží systému (málo paměti, nedostatečný prostor na disku) a sdílením zdrojů (systémové zdroje, uzamčení databáze, propustnost sítě).
Instalační testy
Instalační volby - nová/aktualizace/uživatelská; Instalace z disku nebo ze sítě.
Konfigurační testy
Testy dokumentace
Ověření, že SW poskytuje požadované služby, obsahuje pozitivní a negativní scénáře
Testy uživatelského rozhraní
Uživatel, mnoho kombinací, mnoho testování.
Výkonové testy
Časy odezvy systému, souběžnost
Objemové testy
Podrobení systému velkému množství dat, za účelem určení limitu, které způsobí selhání.
Zátěžové testy
Hledání problému zapříčiněných zátěží systému (málo paměti, nedostatečný prostor na disku) a sdílením zdrojů (systémové zdroje, uzamčení databáze, propustnost sítě).
Instalační testy
Instalační volby - nová/aktualizace/uživatelská; Instalace z disku nebo ze sítě.
Konfigurační testy
Testy dokumentace
Regresní testování
Speciálním a důležitým typem testů je regresní testování, které:
Ověřuje všechny funkce každého buildu.
Zjišťuje, zda změny a opravy nepřinesly další chyby.
Zajišťuje kompletní testování.
Zjišťuje, zda změny a opravy nepřinesly další chyby.
Zajišťuje kompletní testování.
Dle způsobu provádění testů
Dle způsobu provádění testů testeři rozlišujeme:
Manuální testování
Automatizované testování
Automatizované testování
