what is thread testing software testing
Tento kurz vysvětluje, co je Thread Testing, kdy a jak jej provádět, typy testování založeného na vláknech a výzvy, kterým čelí:
Testování vláken je technika testování softwaru, která se používá k testování aplikací založených na klientských serverech.
Testování na základě vlákna by mělo být provedeno v počátečních fázích testování integrace, aby bylo možné otestovat / ověřit klíčové funkce pro konkrétní úkol / program nebo vlákno.
Co se naučíte:
- Proč testování vláken
- Kdy a jak se provádí testování vlákna
- Druhy testování na vláknech
- Rozdíl mezi vlákny a procesy
- Rozdíl mezi vláknovým a uživatelským testováním
- Závěr
Proč testování vláken
Když jsou komponenty integrovány, je nutné zkontrolovat, zda systém bude fungovat podle očekávání nebo ne a všechny transakce by se staly podle požadavku nebo ne. Testování založené na vláknech tedy přichází k testování stejného.
Toto testování se provádí integrací vláken postupně na všech úrovních počínaje od subsystému po celý systém, tj. Celý systém. Všechny aktivity systému se pohybují vpřed pouze s vlákny.
Definice vlákna pomáhá sdílet funkční pozadí a podrobnosti spuštění vlákna mezi vývojáři a vývojáři testerům.
O vláknech
Vlákno je tok řízení v procesu. Je to nejmenší úkol systému, který lze spustit.
spouštění portů vs přesměrování portů pro hraní her
Příklad
Ve webovém prohlížeči může být spuštěno jedno nebo více vláken viz. jedno vlákno pro zobrazení obrázků a textu a druhé vlákno pro načítání dat. V určitých případech musí být pro všechny procesy vyžadována jedna aplikace.
Vytvoření více vláken je nejlepším řešením pro totéž, jinak klient pošle na server více požadavků a bude trvat nějakou dobu, než požadavky potvrdí jeden po druhém. Vícevlákno pomůže reagovat na požadavky současně.
Kdy a jak se provádí testování vlákna
To by mělo být provedeno v počáteční fázi testování integrace systému.
Testování integrace se provádí integrací různých modulů plánovaným způsobem. Plán integrace se řídí stejným způsobem, který určuje pořadí, ve kterém budou moduly integrovány, aby vytvořil celý systém.
Níže jsou uvedeny techniky provádění testování integrace:
- Přístup velkého třesku
- Přístup shora dolů
- Přístup zdola nahoru
- Smíšený přístup
Podívejme se na každou techniku podrobně.
# 1) Přístup velkého třesku
Přístup velkého třesku se používá pouze pro malé systémy, protože všechny moduly jsou integrovány a testovány pouze jednou.
Jakýkoli problém nalezený během tohoto přístupu je obtížné lokalizovat, protože problém může být z kteréhokoli z integrovaných modulů. Nalezené problémy s laděním jsou proto v tomto přístupu velmi nákladné opravit.
# 2) Přístup shora dolů
Přístup shora dolů se provádí pomocí pahýlů, tj. Jakmile byl testován modul nejvyšší úrovně, jsou integrovány a testovány okamžité podprogramy.
Stubs jsou programy, které simulují účinek rutin nižší úrovně a jsou volány testovanými rutinami. Testování vláken používá přístup shora dolů.
# 3) Přístup zdola nahoru
V přístupu zdola nahoru jsou všechny subsystémy testovány jednotlivě a poté je testován celý systém. Důvodem testování všech subsystémů samostatně je testování rozhraní mezi všemi moduly, které jsou součástí subsystému.
Tato technika vyžaduje testovací ovladače, tj. Program, který volá ostatní moduly a poskytuje stejný výstup jako skutečný produkt.
# 4) Testování smíšené integrace
Tato technika je kombinací přístupů shora dolů i zdola nahoru. Proto se tomu říká Mixed Integration Testing.
Klíčové body pro provedení testování založeného na vláknech
- Při provádění testování podprocesů jsou podprocesy nebo malé funkce integrovány a testovány. Prováděným testováním je přírůstkové testování na úrovni subsystému a poté jako kompletní systém.
- V počáteční fázi samotní získají integrační testeři dobrý nápad a znalosti o tom, co dále testovat.
- Testeři integrace musí aplikovat a spouštět scénáře pozitivní i negativní pouze uvnitř hranic vlákna. Musí se rozhodnout pro přístup k testování podprocesů, který bude použit, aby zahrnoval i výjimečné případy a hraniční případy.
- Definice podprocesu poskytovaná vývojářem testeru pomáhá testovat podproces odpovídajícím způsobem integrátorskými testery. Na jakékoli další informace požadované testerem lze odpovědět v procesu kontroly vlákna.
- Procesy podprocesů fungují spíše pro integrační procesy než pro konečný vývojový proces.
- Chcete-li otestovat funkčnost více vláken, nechte současně aktivovat více instancí aplikace nebo programu, které mají být testovány.
- Spusťte program s více vlákny na jiném hardwaru.
- Testování vláken je forma testování relací, pro které jsou relace vytvořeny z vláken. Není nutné, aby vytvořené vlákno bylo relací.
Druhy testování na vláknech
Jsou prováděny dva typy testování na základě vláken:
- Testování s jedním vláknem
- Vícevláknové testování
# 1) Testování s jedním vláknem
Testování jednoho vlákna testuje jednu transakci najednou. Čekací doba, než klient dostane odpověď na svůj požadavek, může být o něco delší, protože bude schopen obsluhovat nebo reagovat na jednoho klienta najednou.
Toto testování pomáhá testeru porozumět a otestovat logiku programu nebo psaného kódu.
# 2) Testování více vláken
Testování více vláken testuje několik aktivních transakcí současně. V tomto případě se vytvoří samostatné vlákna pro požadavky klienta. Kdykoli se vytvoří požadavek, vytvoří se pro službu vlákno nebo na něj odpoví.
Transakce, která fungovala dobře při testování jednoho vlákna, může selhat při testování ve více vláknech a také může interferovat s jinými vlákny a funkcemi a zastavit jejich fungování podle očekávání.
Je přístup s více vlákny lepší než přístup s jedním vláknem?
nejlepší software pro obnovu dat Windows 10
Vícevláknové aplikace jsou lepší než jednovláknové, protože zlepšují výkon aplikace. Multi-threading umožňuje několika zdrojům pracovat na problému / požadavku současně.
Výzvy při testování závitů
Při provádění testování založeného na vláknech čelí tester několika výzvám, které ovlivňují výkon, čas a náklady na testování.
- Psaní testovacích případů jednotek pro vícevláknový kód je náročné.
- Když se testování více vláken provádí na jiném hardwaru, liší se velikost, kapacita úložiště, paměť, problémy atd.
- Scénáře testování pro jedno vlákno i více vláken se liší.
- Při testování více vláken by měly být naprogramovány reprodukovatelné testy pro testy jednotek.
Výhody / nevýhody vícevláknového zpracování
Vícevláknové zpracování má mnoho výhod i nevýhod. Protože tester, který to ví, jim pomáhá testovat a podle toho přerušit testovací proces.
Výhody
- Multi-threading zvyšuje odezvu na uživatele. Aplikace může nechat program běžet, i když se část aplikace zablokuje.
- Sdílení zdrojů je další výhodou, protože vlákna sdílejí zdroje procesu, ke kterému se vztahují nebo k nimž patří.
- Vytváření vláken je ekonomické, protože sdílí prostředky, ke kterým patří.
Nevýhody
- Složitý proces testování
- Výsledky jsou velmi nepředvídatelné.
- Psaní programu se stává obtížnějším.
- Výskyt zablokování.
Co je zablokování
Po dokončení více vláken se vlákno dostane do stavu čekání, pokud prostředek není k dispozici.
Stav čekání se nemusí pro vlákno změnit, protože požadovaný prostředek je držen jinými čekajícími vlákny. Když nastane taková situace, říká se tomu Deadlock.
Rozdíl mezi vlákny a procesy
Pojďme pochopit rozdíly mezi vlákny a procesy:
S.No | Vlákno | Proces |
---|---|---|
7 | Vlákna nelze dále dělit. | Procesy mohou mít více vláken. |
1 | Nit je lehký proces. | Tento proces je těžký proces. |
dva | Pokud dojde k zablokování podprocesu serveru, může se spustit druhé vlákno se stejnou úlohou a dokončit proces. | Pokud dojde k zablokování procesu serveru, nemohou se ostatní procesy spustit, dokud se nezruší blokovaný proces serveru. |
3 | Vlákna neizolují, sdílejí paměť. | Proces je izolovaný. |
4 | Vytváření vláken, přepínání kontextu, ukončení trvá ve vlákně méně času. | Vytváření vláken, přepínání kontextu, ukončení trvá v procesech více času. |
5 | Vlákno odkazuje na konkrétní úkol procesu. | Proces označuje provedení libovolného programu. |
6 | Využívaných zdrojů je ve vlákně velmi málo. | Zdrojů využívaných v procesech je více. |
Rozdíl mezi vláknovým a uživatelským testováním
Č. | Testování na základě vláken | Testování na základě použití |
---|---|---|
1 | Vlákna jsou integrována a jednotlivě testována. | Testování začíná třídami, které na sobě nezávisí, tj. Jsou nezávislé. |
dva | Regresní testování se provádí, aby se zajistilo, že nebude nic ovlivněno. | Jakmile je provedeno testování nezávislých tříd, jsou testovány závislé třídy. Závislé jsou ty, které závisí na nezávislých třídách. Tato série pokračuje až do doby, než bude sestaven celý systém. |
3 | Vláknové testování integruje třídy, které jsou nezbytné pro potvrzení vstupu nebo události systému. | Testování na základě použití integruje třídy, které jsou nezbytné pro reakci nebo potvrzení případu použití. |
Často kladené otázky
Otázka č. 1) Co je testování vláken?
Odpovědět: Vláknové testování je metodika, která se provádí během počáteční fáze testování integrace. Vlákna nebo programy jsou integrovány a postupně testovány v subsystému a poté jako celý systém.
Otázka č. 2) Které testování se provádí jako první?
Odpovědět : Obvykle se nejprve provádí testování zdola nahoru a poté se provádí testování shora dolů.
Otázka č. 3) Co je to testování shora dolů?
Odpovědět: Shora dolů je technika testování integrace, kde se testování provádí pomocí pahýlů, tj. Když komponenty nižší úrovně ještě nejsou připraveny otestovat integraci, vytvoří se pahýly (dočasné moduly), aby se získal stejný výstup jako v případě skutečných modulů.
Závěr
Testování integrace založené na vláknech hraje důležitou roli při testování hlavních funkcí nebo konkrétního úkolu nebo vlákna. Tato metodika je nejlepší pro architekturu založenou na klientském serveru.
Při provádění testování podprocesů musí tester čelit mnoha výzvám, má však také mnoho výhod, díky nimž je jeho provedení snadné a spolehlivé. Umožňuje testerům otestovat všechny transakce a ověřit, zda funguje podle očekávání a podle požadavku.
Je nemožné otestovat všechny transakce / události, abyste dokončili testování podprocesů, kvůli čemuž je rozdělena na jedno a vícevláknové typy.
Doporučené čtení
- Výběr testování softwaru jako vaší kariéry
- Některé zajímavé otázky týkající se testování softwaru
- Testuje software emocionální úkol?
- Synchronizace Java: Co je synchronizace vláken v Javě
- Java vlákna s metodami a životním cyklem
- Vícevláknové zpracování v C ++ s příklady
- Multithreading v Javě - výuka s příklady
- Thread.Sleep () - Metoda Thread Sleep () v Javě s příklady