what is thread testing software testing
V tomto výučbe sa dozviete, čo je Testovanie vlákien, kedy a ako ich vykonávať, typy testovania na vláknach a výzvy, ktorým čelí:
Testovanie vlákien je technika testovania softvéru, ktorá sa používa na testovanie aplikácií založených na klientskych serveroch.
Testovanie na základe vlákna by sa malo vykonať v počiatočných fázach testovania integrácie, aby bolo možné testovať / overiť kľúčové funkcie pre konkrétnu úlohu / program alebo vlákno.
Čo sa dozviete:
- Prečo testovanie vlákien
- Kedy a ako sa vykonáva testovanie vlákna
- Typy testovania na vláknach
- Rozdiel medzi vláknom a procesmi
- Rozdiel medzi vláknovým a používateľským testovaním
- Záver
Prečo testovanie vlákien
Keď sú komponenty integrované, je potrebné skontrolovať, či systém bude fungovať podľa očakávaní alebo nie a všetky transakcie sa uskutočnia podľa požiadavky alebo nie. Testovanie založené na vláknach teda prichádza na testovanie toho istého.
Toto testovanie sa vykonáva integráciou vlákien postupne na všetkých úrovniach od subsystému po kompletný systém, tj. Celý systém. Všetky aktivity systému sa pohybujú vpred iba s vláknami.
Definícia vlákna pomáha zdieľať funkčné pozadie a podrobnosti vykonávania vlákna medzi vývojármi a vývojármi testerom.
O vláknach
Vlákno je tok kontroly v procese. Je to najmenšia úloha systému, ktorú je možné spustiť.
10 najlepších spoločností na vývoj webu v Indii
Príklad
Vo webovom prehliadači môže byť spustené jedno alebo viac vlákien, napr. jedno vlákno na zobrazenie obrázkov a textu a druhé vlákno na načítanie údajov. V určitých prípadoch musí byť pre všetky procesy vyžadovaná jedna aplikácia.
Vytvorenie viacerých vlákien je najlepším riešením pre to isté, inak klient pošle na server viac požiadaviek a ich potvrdenie bude trvať určitý čas. Viacvlákno pomôže odpovedať na požiadavky súčasne.
Kedy a ako sa vykonáva testovanie vlákna
Malo by sa to urobiť v počiatočnej fáze testovania integrácie systému.
Testovanie integrácie sa vykonáva integráciou rôznych modulov plánovaným spôsobom. Integračný plán sa riadi tým istým, ktoré určuje poradie, v akom budú moduly integrované do vytvorenia kompletného systému.
Nižšie sú uvedené techniky vykonávania testovania integrácie:
- Prístup veľkého tresku
- Prístup zhora nadol
- Prístup zdola nahor
- Zmiešaný prístup
Pozrime sa na každú techniku podrobne.
# 1) Prístup veľkého tresku
Prístup veľkého tresku sa používa iba pre malé systémy, pretože všetky moduly sú integrované a testované iba jedným pokusom.
Akýkoľvek problém zistený počas tohto prístupu je ťažké lokalizovať, pretože problém môže byť z ktoréhokoľvek z integrovaných modulov. Nájdené problémy s ladením sú preto v tomto prístupe veľmi drahé na opravu.
# 2) Prístup zhora nadol
Prístup zhora nadol sa vykonáva pomocou pahýľov, t. J. Po otestovaní modulu najvyššej úrovne sa integrujú a otestujú okamžité podprogramy.
Pahýly sú programy, ktoré simulujú účinok rutín nižšej úrovne a sú vyvolané testovanými rutinami. Testovanie závitov využíva prístup zhora nadol.
# 3) Prístup zdola nahor
Pri prístupe zdola nahor sa testujú všetky subsystémy individuálne a potom sa testuje celý systém. Dôvodom na samostatné testovanie všetkých subsystémov je testovanie rozhrania medzi všetkými modulmi, ktoré sú súčasťou subsystému.
Táto technika vyžaduje testovacie ovládače, t. J. Program, ktorý volá ďalšie moduly a poskytuje rovnaký výstup ako skutočný produkt.
# 4) Testovanie zmiešanej integrácie
Táto technika je kombináciou prístupu zhora nadol aj zdola nahor. Preto sa nazýva Mixed Integration Testing.
Kľúčové body na vykonanie testovania na základe vlákna
- Počas vykonávania testovania vlákien sú vlákna alebo malé funkcie integrované a testované. Vykonané testovanie je prírastkové testovanie na úrovni podsystému a potom ako kompletný systém.
- V samotnej počiatočnej fáze dostanú testéri integrácie dobrý nápad a vedomosti o tom, čo majú ďalej testovať.
- Testéri integrácie musia aplikovať a vykonávať scenáre pozitívne aj negatívne iba v rámci hraníc vlákna. Musia sa rozhodnúť pre prístup založený na testovaní vlákien, ktorý sa bude uplatňovať aj na výnimočné a hraničné prípady.
- Definícia vlákna poskytnutá vývojárom testerovi pomáha príslušne testovať vlákno testermi integrátora. Na akékoľvek ďalšie informácie požadované testerom je možné odpovedať v procese kontroly vlákna.
- Procesy vlákien fungujú skôr pre integračné procesy ako pre proces ukončenia vývoja.
- Ak chcete otestovať funkčnosť viacerých vlákien, nechajte súčasne aktívnych viac inštancií testovanej aplikácie alebo programu.
- Spustite program s viacerými vláknami na inom hardvéri.
- Testovanie vlákien je forma testovania relácií, pre ktoré sú relácie tvorené vláknami. Nie je potrebné, aby vytvorené vlákno bolo reláciou.
Typy testovania na vláknach
Vykonávajú sa dva typy vláknového testovania:
otázky a odpovede na pohovor so správcom salesforce
- Testovanie s jedným vláknom
- Testovanie viacerých vlákien
# 1) Testovanie s jedným vláknom
Testovanie pomocou jedného vlákna testuje naraz jednu transakciu. Čakacia doba, počas ktorej klient dostane odpoveď na svoju žiadosť, môže byť o niečo dlhšia, pretože bude schopný obslúžiť alebo odpovedať naraz jednému klientovi.
Toto testovanie pomáha testerovi pochopiť a vyskúšať logiku programu alebo napísaného kódu.
# 2) Testovanie s viacerými vláknami
Testovanie viacerých vlákien testuje niekoľko aktívnych transakcií súčasne. V takom prípade sa pre požiadavky klienta vytvoria samostatné vlákna. Kedykoľvek je podaná žiadosť, vytvorí sa pre službu vlákno alebo na ňu odpovie.
Transakcia, ktorá fungovala dobre pri testovaní jedného vlákna, môže zlyhať pri testovaní vo viacerých vláknach a tiež môže interferovať s ostatnými vláknami a funkciami a zabrániť ich fungovaniu podľa očakávania.
Je viacvláknový prístup lepší ako prístup s jedným vláknom?
Aplikácie s viacerými vláknami sú lepšie ako aplikácie s jedným vláknom, pretože zvyšujú výkonnosť aplikácie. Multi-threading umožňuje viacerým prostriedkom pracovať na probléme / požiadavke súčasne.
Výzvy pri testovaní na vláknach
Pri vykonávaní vláknového testovania čelí tester niekoľkým výzvam, ktoré majú vplyv na výkon, čas a náklady na testovanie.
- Písanie testovacích prípadov jednotiek pre viacvláknový kód je náročné.
- Keď sa testovanie viacerých vlákien vykonáva na inom hardvéri, líši sa to veľkosťou, úložnou kapacitou, pamäťou, problémami atď.
- Scenáre testovania pre jedno vlákno aj pre viac vlákien sa líšia.
- Pri testovaní viacerých vlákien by sa mali naprogramovať reprodukovateľné testy pre jednotkové testy.
Výhody / nevýhody viacerých závitov
Multi-threading má mnoho výhod aj nevýhod. Ako tester, ktorý to vie, im pomáha testovať a zodpovedajúcim spôsobom prerušiť testovací proces.
Výhody
- Multi-threading zvyšuje reakciu na používateľa. Aplikácia môže nechať program bežať, aj keď dôjde k zablokovaniu časti aplikácie.
- Zdieľanie zdrojov je ďalšou výhodou, pretože vlákna zdieľajú zdroje procesu, s ktorým súvisia alebo do ktorého patria.
- Vytváranie vlákien je ekonomické, pretože zdieľa zdroje, do ktorých patria.
Nevýhody
- Komplexný testovací proces
- Výsledky sú veľmi nepredvídateľné.
- Písanie programu sa stáva zložitejším.
- Výskyt zablokovania.
Čo je uviaznutie
Po dokončení viacerých vlákien sa vlákno dostane do stavu čakania, ak prostriedok nie je k dispozícii.
Stav čakania sa nemusí pre vlákno zmeniť, pretože požadovaný prostriedok je držaný inými čakajúcimi vláknami. Keď nastane takáto situácia, hovorí sa tomu Deadlock.
Rozdiel medzi vláknom a procesmi
Poďme pochopiť rozdiely medzi vláknami a procesmi:
S.No | Závit | Proces |
---|---|---|
7 | Vlákna nie je možné ďalej deliť. | Procesy môžu mať viac vlákien. |
1 | Niť je ľahký proces. | Tento proces je procesom veľkej váhy. |
dva | Ak sa vlákno servera zablokuje, môže sa spustiť druhé vlákno s rovnakou úlohou a dokončiť proces. | Ak dôjde k zablokovaniu procesu na serveri, nemôžu sa spustiť ďalšie procesy, kým sa neodblokuje čas blokovaný na serveri. |
3 | Vlákna neizolujú, zdieľajú pamäť. | Proces je izolovaný. |
4 | Vytváranie vlákien, prepínanie kontextu, ukončovanie trvá vo vlákne menej času. | Vytváranie vlákien, prepínanie kontextu, ukončovanie trvá v procesoch viac času. |
5 | Vlákno odkazuje na konkrétnu úlohu procesu. | Proces sa týka vykonania ľubovoľného programu. |
6 | Využitých zdrojov je vo vlákne veľmi málo. | Zdrojov využívaných v procesoch je viac. |
Rozdiel medzi vláknovým a používateľským testovaním
S.No. | Testovanie na základe vlákna | Testovanie na základe použitia |
---|---|---|
1 | Vlákna sú integrované a testované individuálne. | Testovanie sa začína triedami, ktoré na sebe navzájom nezávisia, t. J. Sú nezávislé. |
dva | Vykonáva sa regresné testovanie, aby sa zabezpečilo, že nič nebude ovplyvnené. | Len čo sa vykoná testovanie nezávislých tried, potom sa otestujú závislé triedy. Závislí sú závislí od nezávislých tried. Táto séria pokračuje až do vytvorenia úplného systému. |
3 | Vláknové testovanie integruje triedy, ktoré sú nevyhnutné na potvrdenie vstupu alebo udalosti systému. | Testovanie na základe použitia integruje triedy, ktoré sú nevyhnutné pre odpoveď alebo potvrdenie prípadu použitia. |
často kladené otázky
Otázka č. 1) Čo je to testovanie vlákna?
Odpoveď: Vláknové testovanie je metodika, ktorá sa vykonáva v ranej fáze integračného testovania. Vlákna alebo programy sú integrované a testované postupne v podsystéme a potom ako celý systém.
Otázka 2) Ktoré testovanie sa vykoná ako prvé?
Odpoveď : Spravidla sa najskôr vykoná test zdola nahor a potom sa vykoná test zhora nadol.
Otázka 3) Čo je to testovanie zhora nadol?
Odpoveď: Zhora nadol je technika testovania integrácie, pri ktorej sa testovanie vykonáva pomocou stubov, t. J. Keď komponenty nižšej úrovne ešte nie sú pripravené na testovanie integrácie, vytvoria sa stuby (dočasné moduly), aby sa získal rovnaký výstup ako v prípade skutočných modulov.
Záver
Testovanie integrácie založené na vláknach hrá dôležitú úlohu pri testovaní hlavných funkcií alebo konkrétnej úlohy alebo vlákna. Táto metodika je najlepšia pre architektúru založenú na klientskych serveroch.
Pri vykonávaní testovania vlákien musí tester čeliť mnohým výzvam, má však tiež veľa výhod, vďaka ktorým je jeho vykonanie ľahké a spoľahlivé. Umožňuje testerom otestovať všetky transakcie a overiť, či funguje podľa očakávaní a podľa požiadavky.
Nie je možné otestovať všetky transakcie / udalosti, aby sa dokončilo testovanie vlákien, ktoré sú rozdelené do typov s jedným a viacerými vláknami.
Odporúčané čítanie
- Ako svoju kariéru si zvolíte testovanie softvéru
- Niektoré zaujímavé otázky týkajúce sa testovania softvéru
- Je testovanie softvéru emocionálnou úlohou?
- Synchronizovaná Java: Čo je synchronizácia vlákien v Jave
- Vlákna Java s metódami a životným cyklom
- Multithreading v C ++ s príkladmi
- Multithreading v Jave - návod s príkladmi
- Thread.Sleep () - Metóda Thread Sleep () v Jave s príkladmi