what is thread testing software testing
Ovaj vodič objašnjava što je testiranje niti, kada i kako ga izvesti, vrste testiranja temeljenih na nitima i izazovi s kojima se suočavaju:
Testiranje niti je tehnika softverskog testiranja koja se koristi za testiranje aplikacija koje se temelje na klijentskom poslužitelju.
Testiranje temeljeno na niti trebalo bi provesti u početnim fazama integracijskog testiranja kako bi se ključne funkcije mogle testirati / provjeriti za određeni zadatak / program ili nit.
Što ćete naučiti:
- Zašto ispitivanje niti
- Kada i kako se vrši ispitivanje niti
- Vrste ispitivanja na osnovi niti
- Razlika između niti i procesa
- Razlika između testiranja temeljenog na niti i korisnika
- Zaključak
Zašto ispitivanje niti
Kada su komponente integrirane, potrebno je provjeriti hoće li sustav raditi kako se očekivalo ili ne, a sve će se transakcije dogoditi prema zahtjevu ili ne. Stoga testiranje temeljeno na nitima dolazi za testiranje istog.
Ovo se ispitivanje vrši integriranjem niti na svim razinama počevši od podsustava do cjelovitog sustava, tj. Cijelog sustava. Sve aktivnosti sustava kreću se naprijed samo s nitima.
Definicija niti pomaže podijeliti funkcionalnu pozadinu i detalje izvršenja niti između programera i programera s testerima.
O nitima
Nit je tok kontrole u procesu. To je najmanji zadatak sustava koji se može pokrenuti.
najpopularniji alati za analitiku velikih podataka
Primjer
Web preglednik može imati jednu ili više niti koje se izvode. jedna nit za prikaz slika i teksta i druga nit za preuzimanje podataka. U određenim slučajevima mora biti potrebna jedna prijava koja će služiti svim procesima.
Stvaranje više niti je najbolje rješenje za isto, inače će klijent poslati više zahtjeva na poslužitelj i trebat će vremena da jedan po jedan potvrdi zahtjeve. Više niti pomoći će istodobno odgovoriti na zahtjeve.
Kada i kako se vrši ispitivanje niti
To bi trebalo učiniti u početnoj fazi ispitivanja integracije sustava.
Integracijsko ispitivanje izvodi se planiranim integriranjem različitih modula. Plan integracije slijedi za isti koji određuje redoslijed integriranja modula kako bi se stvorio cjelovit sustav.
U nastavku su navedene tehnike za izvršavanje integracijskog testiranja:
- Pristup Velikog praska
- Pristup od vrha prema dolje
- Pristup odozdo prema gore
- Mješoviti pristup
Pogledajmo svaku tehniku detaljno.
# 1) Pristup velikog praska
Pristup velikog praska koristi se samo za male sustave jer su svi moduli integrirani i testirani u samo jednom potezu.
Bilo koji problem pronađen tijekom ovog pristupa teško je lokalizirati jer problem može biti iz bilo kojeg integriranog modula. Stoga su pronađeni problemi s otklanjanjem pogrešaka vrlo skupi za rješavanje u ovom pristupu.
# 2) Pristup od vrha prema dolje
Pristup od vrha prema dolje vrši se pomoću klinova, tj. Kada je modul najviše razine testiran, neposredne se potprogrami integriraju i testiraju.
Stubs su programi koji simuliraju učinak rutina niže razine i pozivaju ih rutine koje se testiraju. Testiranje niti koristi pristup od vrha prema dolje.
# 3) Pristup odozdo prema gore
U pristupu odozdo prema gore, svi se podsustavi testiraju pojedinačno, a zatim se ispituje kompletan sustav. Razlog testiranja svih podsustava odvojeno je testiranje sučelja među svim modulima koji su dio podsustava.
Ova tehnika zahtijeva testne upravljačke programe, tj. Program koji poziva ostale module i pruža jednak izlaz kao stvarni proizvod.
# 4) Mješovito integracijsko ispitivanje
Ova je tehnika kombinacija pristupa odozgo prema dolje i odozdo prema gore. Stoga se naziva mješovitim integracijskim ispitivanjem.
Ključne točke za izvođenje testiranja na osnovi niti
- Tijekom izvođenja ispitivanja niti, integriraju se i testiraju niti ili male funkcionalnosti. Provedeno testiranje je postupno testiranje na razini podsustava, a zatim kao cjelovitog sustava.
- U samoj početnoj fazi testeri integracije dobivaju dobru ideju i znanje o tome što dalje testirati.
- Integracijski testeri moraju primijeniti i izvršiti pozitivne i negativne scenarije samo unutar granica niti. Moraju se odlučiti za pristup testiranju niti koji će se slijediti kako bi se pokrili i iznimni slučajevi i granični slučajevi.
- Definicija niti koju programer daje ispitivaču pomaže u testiranju niti u skladu s tim ispitivači integratora. Na sve daljnje informacije potrebne ispitivaču možete odgovoriti u postupku pregleda niti.
- Procesi niti rade za integracijske procese, a ne za krajnji razvojni proces.
- Da biste testirali funkcionalnost više niti, pustite da istodobno budu aktivne više instanci aplikacije ili programa.
- Pokrenite program s više niti na drugom hardveru.
- Testiranje niti oblik je testiranja sesija za koje su sesije formirane od niti. Nije potrebno da je formirana nit sesija.
Vrste ispitivanja na osnovi niti
Izvode se dvije vrste testiranja na osnovi niti:
- Ispitivanje s jednom niti
- Testiranje s više niti
# 1) Ispitivanje s jednom niti
Testiranje s jednom niti testira jednu po jednu transakciju. Vrijeme čekanja da klijent dobije odgovor na svoj zahtjev može biti malo duže jer će moći poslužiti ili odgovoriti jednom klijentu odjednom.
Ovo testiranje pomaže ispitivaču da razumije i testira logiku programa ili napisani kôd.
# 2) Ispitivanje s više niti
Testiranje s više niti istodobno testira nekoliko aktivnih transakcija. U tom se slučaju stvaraju zasebne niti za zahtjeve klijenta. Kad god se podnese zahtjev, stvori se nit za uslugu ili odgovori na zahtjev.
Transakcija koja je dobro funkcionirala u testiranju s jednom niti može propasti tijekom testiranja u više niti, a također može ometati druge niti i funkcionalnosti i zaustaviti ih da rade kako se očekivalo.
Je li pristup s više niti bolji od pristupa s jednom niti?
Višenitne aplikacije su bolje od jednonitnih jer poboljšavaju izvedbu aplikacije. Višestruko uvijanje niti omogućava istovremeno korištenje niza resursa na izdanju / zahtjevu.
Izazovi tijekom testiranja na osnovi niti
Tijekom izvođenja testiranja temeljenih na nitima, ispitivač se suočava s nekoliko izazova koji utječu na performanse, vrijeme i troškove testiranja.
- Pisanje jedinstvenih test slučajeva za višenitni kod je izazov.
- Kada se testiranje s više niti vrši na različitim hardverima, to se razlikuje u odnosu na veličinu, kapacitet pohrane, memoriju, probleme itd.
- Scenariji testiranja i za jednu i za više niti su različiti.
- U testiranju s više niti treba programirati ponovljive testove za jedinične testove.
Prednosti / nedostaci višestrukih navoja
Višestruko navojanje ima brojne prednosti kao i nedostatke. Kao ispitivač, znajući isto, pomaže im da testiraju i prekinu postupak testiranja u skladu s tim.
Prednosti
- Višestruko navojavanje povećava reakciju korisnika. Program može pustiti da se program izvodi čak i ako se dio aplikacije blokira.
- Dijeljenje resursa je još jedna prednost jer niti dijele resurse procesa s kojim su povezani ili kojima pripadaju.
- Stvaranje niti je ekonomično jer dijeli resurse kojima pripadaju.
Mane
- Složeni postupak ispitivanja
- Rezultati su vrlo nepredvidljivi.
- Pisanje programa postaje teže.
- Pojava mrtve točke.
Što je mrtva točka
Kada se završi višestruko uvijanje niti, nit prelazi u stanje čekanja ako resurs nije dostupan.
Stanje čekanja možda se neće promijeniti za nit jer zahtijevani resurs drže druge niti koje čekaju. Kad se pojavi takva situacija koja se zove Deadlock.
Razlika između niti i procesa
Razumijemo razlike između niti i procesa:
S.Br | Nit | Postupak |
---|---|---|
7 | Niti se ne mogu dalje dijeliti. | Procesi mogu imati više niti. |
1 | Konac je lagan postupak. | Proces je težak postupak. |
dva | Ako se nit poslužitelja blokira, može se pokrenuti druga nit istog zadatka i dovršiti postupak. | Ako se proces poslužitelja blokira, drugi se procesi ne mogu pokretati sve dok se ne blokira postupak blokiranog poslužitelja. |
3 | Teme se ne izoliraju, one dijele memoriju. | Proces je izoliran. |
4 | Stvaranje niti, prebacivanje konteksta, prekid traje manje vremena u niti. | Stvaranje niti, prebacivanje konteksta, prekid oduzimaju više vremena u procesima. |
5 | Nit se odnosi na specifični zadatak procesa. | Proces se odnosi na izvršavanje bilo kojeg programa. |
6 | Korištenih resursa je vrlo malo u niti. | Resursi koji se koriste u procesima su više. |
Razlika između testiranja temeljenog na niti i korisnika
S.Ne. | Ispitivanje na osnovi niti | Testiranje na temelju upotrebe |
---|---|---|
1 | Niti se integriraju i testiraju pojedinačno. | Testiranje započinje s klasama koje međusobno ne ovise, tj. Neovisne su. |
dva | Ispitivanje regresije provodi se kako bi se osiguralo da ništa ne utječe. | Jednom kada se izvrši testiranje neovisnih klasa, testiraju se ovisni razredi. Ovisnici su oni koji ovise o neovisnim klasama. Ova serija traje do trenutka kada se izgradi kompletan sustav. |
3 | Testiranje temeljeno na nitima integrira klase koje su ključne za priznavanje unosa ili događaja sustava. | Testiranje na bazi upotrebe integrira klase koje su ključne za odgovor ili priznavanje slučaja upotrebe. |
Često postavljana pitanja
P # 1) Što je ispitivanje niti?
Odgovor: Testiranje zasnovano na nitima je metodologija koja se izvodi tijekom rane faze integracijskog testiranja. Niti ili programi integriraju se i postupno testiraju u podsustav, a zatim kao cijeli sustav.
P # 2) Koje se ispitivanje prvo vrši?
Odgovor : Obično se prvo provodi odozdo prema gore, a zatim se provodi odozdo prema dolje.
P # 3) Što je testiranje odozgo prema dolje?
Odgovor: Odozgo je tehnika integracijskog testiranja gdje se ispitivanje vrši pomoću klinova, tj. Kada komponente niže razine još nisu spremne za testiranje integracije, stubovi (privremeni moduli) se stvaraju da bi se dobio isti izlaz kao u slučaju stvarnih modula.
java niz ukloni element u indeksu
Zaključak
Testiranje integracije temeljeno na niti igra važnu ulogu u testiranju glavnih funkcionalnosti ili određenog zadatka ili niti. Ova je metodologija najbolja za arhitekturu zasnovanu na klijentskom poslužitelju.
Tijekom ispitivanja niti, ispitivač se mora suočiti s mnogim izazovima, ali ima i brojne prednosti što ga čini jednostavnim i pouzdanim u izvođenju. Omogućio je testerima da testiraju sve transakcije i provjere radi li prema očekivanjima i prema zahtjevu.
Nemoguće je testirati sve transakcije / događaje kako bi se dovršilo testiranje niti, zbog čega je podijeljeno na jednu i više niti.
Preporučena literatura
- Odabir testiranja softvera za vašu karijeru
- Neka zanimljiva pitanja za ispitivanje softverskog testiranja
- Je li testiranje softvera emocionalni zadatak?
- Java Synchronized: Što je sinkronizacija niti u Javi
- Java niti s metodama i životnim ciklusom
- Višenitnost u jeziku C ++ s primjerima
- Multithreading u Javi - Vodič s primjerima
- Thread.Sleep () - metoda spavanja niti () u Javi s primjerima