what is thread testing software testing
Denna handledning förklarar vad som är trådtestning, när och hur man utför det, typer av trådbaserad testning och utmaningar:
Trådtestning är en mjukvarutestningsteknik som används för att testa applikationer som är klientserverbaserade.
Trådbaserad testning bör utföras i de inledande stadierna av Integrationstestning så att nyckelfunktionerna kan testas / verifieras för en specifik uppgift / ett program eller en tråd.
Vad du kommer att lära dig:
- Varför trådtestning
- När och hur utförs trådtestning
- Typer av trådbaserad testning
- Skillnaden mellan tråd och processer
- Skillnaden mellan trådbaserad och användarbaserad testning
- Slutsats
Varför trådtestning
När komponenterna är integrerade är det nödvändigt att kontrollera om systemet fungerar som förväntat eller inte och alla transaktioner skulle ske enligt kravet eller inte. Således kommer trådbaserad testning in för att testa densamma.
Denna testning görs genom att trådarna integreras progressivt på alla nivåer från delsystemet till hela systemet, dvs. hela systemet. Alla systemaktiviteter går bara framåt med trådarna.
Tråddefinition hjälper till att dela den funktionella bakgrunds- och trådkörningsinformationen mellan utvecklare och utvecklare till testare.
Om trådar
En tråd är flödet av kontroll i en process. Det är den minsta uppgiften i systemet som kan köras.
företag som betalar dig för att prova sina produkter
Exempel
En webbläsare kan ha en eller flera trådar som kör. en tråd för att visa bilder och text och en annan tråd för att hämta data. I vissa fall måste en enda ansökan krävas för att kunna betjäna alla processer.
Att skapa multitrådar är den bästa lösningen för samma, annars skickas flera förfrågningar till servern av klienten och det tar tid att bekräfta förfrågningarna en efter en. Multi-thread hjälper till att svara på förfrågningarna samtidigt.
När och hur utförs trådtestning
Det bör göras i början av testet för systemintegration.
Integrationstester utförs genom att olika moduler integreras på ett planerat sätt. Integrationsplanen följs för samma som specificerar i vilken ordning modulerna ska integreras för att göra hela systemet.
Nedan listas teknikerna för att utföra integrationstester:
- Big-Bang tillvägagångssätt
- Top-down-tillvägagångssätt
- Nedifrån och upp-tillvägagångssätt
- Blandat tillvägagångssätt
Låt oss se varje teknik i detalj.
# 1) Big-Bang-strategi
Big bang-metoden används endast för små system eftersom alla moduler är integrerade och testade på en gång.
Alla problem som finns under denna metod är svåra att lokalisera eftersom problemet kan komma från någon av de integrerade modulerna. Därför är felsökningsproblem som är mycket kostsamma att åtgärda i denna metod.
# 2) Uppifrån och ner-strategi
Top-down-tillvägagångssättet görs med hjälp av stubbarna, dvs. när toppmodulen har testats integreras och testas de omedelbara underrutinerna.
Stubbar är programmen som simulerar effekten av lägre nivårutiner och kallas av de rutiner som testas. Trådtestning använder en top-down-metod.
# 3) Uppifrån och upp-tillvägagångssätt
I nedifrån och upp-metoden testas alla delsystem individuellt och sedan testas hela systemet. Anledningen till att testa alla delsystem separat är att testa gränssnittet mellan alla moduler som ingår i delsystemet.
Denna teknik kräver testdrivrutiner, dvs programmet som anropar de andra modulerna och ger samma resultat som den faktiska produkten.
# 4) Testning av blandad integration
Denna teknik är en kombination av både top-down och bottom-up metoder. Därför kallas det Mixed Integration Testing.
Viktiga punkter för att utföra trådbaserad testning
- När du utför trådtestning integreras och testas trådar eller liten funktionalitet. Testningen är inkrementell testning på undersystemnivå och sedan som ett komplett system.
- I själva inledningsskedet får integrationstestarna en bra idé och kunskap för vad de ska testa vidare.
- Integrationstestare måste endast tillämpa och utföra scenarier både positiva och negativa inom trådgränserna. De måste besluta om en trådtestningsmetod som ska följas för att täcka exceptionella fall och gränsfall också.
- Tråddefinitionen som tillhandahålls av utvecklaren till testaren hjälper till att testa tråden i enlighet med integratortestarna. All ytterligare information som krävs av testaren kan besvaras i trådgranskningsprocessen.
- Trådprocesserna fungerar för integrationsprocesser snarare än för slutet till slututvecklingsprocessen.
- För att testa flertrådsfunktionalitet, låt flera instanser av applikationen eller programmet som ska testas vara aktiva samtidigt.
- Kör flertrådsprogrammet på annan hårdvara.
- Trådtestning är en form av sessionstestning för vilka sessioner bildas av trådar. Det är inte nödvändigt att en bildad tråd är en session.
Typer av trådbaserad testning
Två typer av trådbaserade tester utförs:
- Testning av enstaka tråd
- Testning av flera trådar
# 1) Testning av enstaka tråd
Test av en tråd testar en transaktion i taget. Väntetiden för klienten att få svar på sin begäran kan vara lite längre eftersom den kommer att kunna betjäna eller svara på en klient åt gången.
Denna testning hjälper testaren att förstå och testa programmets eller den skrivna kodens logik.
# 2) Testning av flera trådar
Flertrådstestning testar flera aktiva transaktioner samtidigt. I det här fallet skapas separata trådar för begäran från klienten. När en begäran görs skapas en tråd till tjänsten eller svarar på begäran.
En transaktion som fungerade bra i testningen av enstaka trådar kan misslyckas vid testning i flera trådar och kan också störa andra trådar och funktioner och hindra dem att fungera som förväntat.
Är en multithread-metod bättre än en single thread-strategi?
Multitrådade applikationer är bättre än enkeltrådade eftersom det förbättrar programmets prestanda. Multi-threading tillåter ett antal resurser att arbeta med en fråga / begäran samtidigt.
Utmaningar när du gör trådbaserad testning
Under testbaserad trådbaserad testning står testaren inför flera utmaningar som påverkar prestanda, tid och kostnad för testning.
- Att skriva enhetstestfall för flertrådig kod är utmanande.
- När flertrådstestning görs på olika hårdvaror varierar det beroende på storlek, lagringskapacitet, minne, problem etc.
- Testscenarier för både en tråd och flera trådar är olika.
- Vid testning med flera trådar bör reproducerbara test för enhetstester programmeras.
Fördelar / nackdelar med flertrådning
Flertrådning har många fördelar och nackdelar. Som testare vet samma sak dem att testa och bryta testprocessen därefter.
Fördelar
- Multitrådning ökar användarnas lyhördhet. Programmet kan låta programmet köras även om en del av applikationen blockeras.
- Resursdelning är en annan fördel eftersom trådar delar resurserna i processen de är relaterade till eller tillhör.
- Att skapa trådar är ekonomiskt eftersom det delar de resurser de tillhör.
Nackdelar
- Komplex testprocess
- Resultaten är mycket oförutsägbara.
- Att skriva ett program blir svårare.
- Dödläge förekomst.
Vad är dödläge
När flertrådning är klar kommer tråden i vänteläge om resursen inte är tillgänglig.
Väntetillståndet kanske inte ändras för tråden eftersom den begärda resursen innehas av andra väntrådar. När en sådan situation uppstår kallas det Deadlock.
Skillnaden mellan tråd och processer
Låt oss förstå skillnaderna mellan tråd och processer:
S. nr | Tråd | Bearbeta |
---|---|---|
7 | Trådarna kan inte delas vidare. | Processer kan ha flera trådar. |
ett | Tråd är en lätt process. | Processen är en tungviktig process. |
två | Om servertraden blockeras kan en andra tråd av samma uppgift köras och slutföra processen. | Om serverprocessen blockeras kan andra processer inte köras förrän den blockerade serverprocessen avblockeras. |
3 | Trådarna isoleras inte, de delar minne. | Processen är isolerad. |
4 | Att skapa trådar, kontextbyte, avslut tar mindre tid i tråden. | Att skapa trådar, kontextbyte, avslutning tar mer tid i processer. |
5 | Tråd avser den specifika uppgiften för en process. | Process hänvisar till genomförandet av alla program. |
6 | Resurser som används är väldigt få i tråden. | Resurser som används i processer är fler. |
Skillnaden mellan trådbaserad och användarbaserad testning
S.No. | Trådbaserad testning | Användningsbaserad testning |
---|---|---|
ett | Trådarna integreras och testas individuellt. | Testning börjar med klasser som inte är beroende av varandra, dvs. är oberoende. |
två | Regressionstest utförs för att se till att ingenting påverkas. | När testning av oberoende klasser har utförts testas beroende klasser. Beroende är de som är beroende av de oberoende klasserna. Denna serie fortsätter till dess att hela systemet byggs. |
3 | Trådbaserad test integrerar de klasser som är nödvändiga för att bekräfta inmatning eller händelse i systemet. | Användningstestning integrerar de klasser som är nödvändiga för att svara eller erkänna användningsfallet. |
Vanliga frågor
F # 1) Vad är trådtestning?
Svar: Trådbaserad testning är en metod som utförs under den tidiga fasen av integrationstestningen. Trådar eller program integreras och testas stegvis i ett delsystem och sedan som ett helt system.
F # 2) Vilken testning görs först?
Svar : Vanligtvis görs test från botten upp och först och sedan testas upp och ner.
F # 3) Vad är testning uppifrån och ner?
intervjufrågor för helpdesk
Svar: Top-down är en integrationstestteknik där testning görs med hjälp av stubbar, dvs. när komponenter på lägre nivå ännu inte är redo att testa integrationen skapas stubbar (temporära moduler) för att få samma utdata som när det gäller faktiska moduler.
Slutsats
Trådbaserad integrationstest spelar en viktig roll för att testa de viktigaste funktionerna eller den specifika uppgiften eller tråden. Denna metod är bäst för klientserverbaserad arkitektur.
Under testning av trådar måste testaren möta många utmaningar, men har också många fördelar vilket gör det enkelt och pålitligt att utföra. Det låter testarna testa alla transaktioner och verifiera om det fungerar som förväntat och enligt kravet.
Det är omöjligt att testa alla transaktioner / händelser för att slutföra trådtestningen, varför den är uppdelad i en- och flertrådstyper.
Rekommenderad läsning
- Välja programvarutestning som din karriär
- Några intressanta programtestintervjufrågor
- Är programvarutestning en känslomässig uppgift?
- Java Synchronized: Vad är trådsynkronisering i Java
- Java-trådar med metoder och livscykel
- Multitrådning i C ++ med exempel
- Multitrådning i Java - Handledning med exempel
- Thread.Sleep () - Thread Sleep () Metod i Java med exempel