what is thread testing software testing
Denne vejledning forklarer, hvad der er trådtest, hvornår og hvordan man udfører det, typer trådbaseret test og udfordringer, der står over for:
Trådtest er en softwaretestteknik, der bruges til at teste de applikationer, der er klientserverbaseret.
Trådbaseret test skal udføres i de indledende faser af integrationstest, så nøglefunktionerne kan testes / verificeres for en bestemt opgave / et program eller en tråd.
Hvad du vil lære:
- Hvorfor trådtestning
- Hvornår og hvordan udføres trådtest
- Typer af trådbaseret test
- Forskellen mellem tråd og processer
- Forskellen mellem trådbaseret og brugerbaseret test
- Konklusion
Hvorfor trådtestning
Når komponenterne er integreret, er det nødvendigt at kontrollere, om systemet fungerer som forventet eller ej, og alle transaktionerne ville ske i henhold til kravet eller ej. Således kommer trådbaseret test ind for at teste det samme.
Denne test udføres ved at integrere trådene gradvist på alle niveauer, der starter fra delsystemet til det komplette system, dvs. hele systemet. Alle systemaktiviteter bevæger sig kun frem med trådene.
Tråddefinition hjælper med at dele de funktionelle baggrunds- og trådudførelsesdetaljer mellem udviklerne og udviklerne til testere.
Om tråde
En tråd er strømmen af kontrol i en proces. Det er den mindste opgave i systemet, der kan køres.
java-program for at sortere en matrix
Eksempel
En webbrowser kan have en eller flere tråde, der kører nemlig. en tråd for at vise billeder og tekst og en anden tråd for at hente data. I visse tilfælde skal der kræves en enkelt ansøgning for at betjene alle processerne.
Oprettelse af multitråde er den bedste løsning til det samme, ellers sendes flere anmodninger til serveren af klienten, og det vil tage tid at anerkende anmodningerne en efter en. Multi-thread hjælper med at svare på anmodningerne samtidigt.
Hvornår og hvordan udføres trådtest
Det skal gøres i den indledende fase af systemintegrationstesten.
Integrationstest udføres ved at integrere forskellige moduler på en planlagt måde. Integrationsplanen følges for det samme, der specificerer rækkefølgen, i hvilken modulerne integreres for at gøre det komplette system.
Nedenfor er teknikkerne til udførelse af integrationstest:
- Big-Bang tilgang
- Top-down tilgang
- Bottom-up tilgang
- Blandet tilgang
Lad os se hver teknik i detaljer.
# 1) Big-Bang tilgang
Big bang-metoden bruges kun til små systemer, da alle modulerne kun er integreret og testet på én gang.
Ethvert problem, der findes under denne tilgang, er vanskeligt at lokalisere, da problemet kan komme fra et hvilket som helst af de integrerede moduler. Derfor er fejlfindingsproblemer, der er fundet, meget dyre at løse i denne tilgang.
# 2) Top-Down-tilgang
Top-down-tilgangen udføres ved hjælp af stubberne, dvs. når topniveau-modulet er testet, integreres og testes de øjeblikkelige underrutiner.
Stubs er de programmer, der simulerer effekten af rutiner på lavere niveau og kaldes af de rutiner, der testes. Trådtestning bruger en top-down-tilgang.
# 3) Bottom-up tilgang
I bottom-up tilgang testes alle undersystemer individuelt, og derefter testes det komplette system. Årsagen til at teste alle delsystemer separat er at teste grænsefladen mellem alle de moduler, der er en del af delsystemet.
Denne teknik kræver testdrivere, dvs. det program, der kalder de andre moduler og giver den samme output som det faktiske produkt.
# 4) Test af blandet integration
Denne teknik er en kombination af både top-down og bottom-up tilgang. Derfor kaldes det blandet integrationstest.
Nøglepunkter til udførelse af trådbaseret test
- Under udførelse af trådtest integreres og testes tråde eller lille funktionalitet. Den udførte test er trinvis test på et undersystemniveau og derefter som et komplet system.
- I den indledende fase i sig selv får integrationstesterne en god idé og viden til, hvad de skal teste videre.
- Integrationstestere skal kun anvende og udføre scenarier både positive og negative inden for trådgrænserne. De er nødt til at beslutte, hvilken trådtestmetode der skal følges for også at dække ekstraordinære tilfælde og grænsesager.
- Tråddefinitionen leveret af udvikleren til testeren hjælper med at teste tråden i overensstemmelse hermed af integratortestere. Eventuelle yderligere oplysninger, der kræves af testeren, kan besvares i thread review-processen.
- Trådprocesserne fungerer for integrationsprocesser snarere end for slutning til slutudviklingsprocessen.
- For at teste multitrådsfunktionalitet skal du lade de flere forekomster af applikationen eller programmet, der skal testes, være aktive på samme tid.
- Kør multitrådsprogrammet på anden hardware.
- Trådtestning er en form for sessionstest, for hvilke sessioner er dannet af tråde. Det er ikke nødvendigt, at en dannet tråd er en session.
Typer af trådbaseret test
Der udføres to typer trådbaseret test:
sql server interview spørgsmål og svar til erfaren pdf
- Testning af enkelt tråd
- Multi-thread test
# 1) Testning af enkelt tråd
Test af en enkelt tråd tester en transaktion ad gangen. Ventetiden for klienten til at få svar på sin anmodning kan være lidt længere, da den vil være i stand til at betjene eller svare på en klient ad gangen.
Denne test hjælper testeren med at forstå og teste programmets logik eller den skrevne kode.
# 2) Testning af flere tråde
Multitrådtest tester flere aktive transaktioner på samme tid. I dette tilfælde oprettes der separate tråde til klientens anmodninger. Hver gang der foretages en anmodning, oprettes en tråd til tjenesten eller svarer på anmodningen.
En transaktion, der fungerede fint i testningen af enkelt tråd, kan mislykkes under test i multitråd og kan også forstyrre andre tråde og funktioner og stoppe dem til at fungere som forventet.
Er en multithread tilgang bedre end en single thread tilgang?
Multitrådede applikationer er bedre end enkelttrådede, da det forbedrer applikationens ydeevne. Multi-threading gør det muligt for et antal ressourcer at arbejde på et problem / en anmodning på samme tid.
Udfordringer ved udførelse af trådbaseret test
Under udførelsen af trådbaseret test står testeren over for flere udfordringer, der påvirker ydeevnen, tiden og omkostningerne ved testningen.
- At skrive enhedstestsager til kode med flere tråde er udfordrende.
- Når der udføres test med flere tråde på forskellige hardware, varierer det efter størrelse, lagerkapacitet, hukommelse, problemer osv.
- Testscenarier for både enkelt tråd og flere tråde er forskellige.
- Ved testning med flere tråde skal reproducerbare tests til enhedstest programmeres.
Fordele / ulemper ved multitrådning
Multi-threading har mange fordele såvel som ulemper. Som tester ved at vide det samme hjælper dem med at teste og bryde testprocessen i overensstemmelse hermed.
Fordele
- Multi-threading øger lydhørheden over for brugeren. Programmet kan muligvis lade programmet køre, selvom en del af applikationen bliver blokeret.
- Ressourcedeling er en anden fordel, da tråde deler ressourcerne i den proces, de er relateret til eller hører til.
- Oprettelse af tråde er økonomisk, da det deler de ressourcer, de tilhører.
Ulemper
- Kompleks testproces
- Resultaterne er meget uforudsigelige.
- At skrive et program bliver sværere.
- Deadlock-forekomst.
Hvad er deadlock
Når multitrådning er udført, kommer tråden i ventetilstand, hvis ressourcen ikke er tilgængelig.
Ventetilstanden ændres muligvis ikke for tråden, da den anmodede ressource holdes af andre ventetråde. Når en sådan situation opstår, kaldes det Deadlock.
Forskellen mellem tråd og processer
Lad os forstå forskellene mellem tråd og processer:
S. nr | Tråd | Behandle |
---|---|---|
7 | Tråde kan ikke deles yderligere. | Processer kan have flere tråde. |
1 | Tråd er en letvægtsproces. | Processen er en tungvægtsproces. |
to | Hvis servertråden bliver blokeret, kan en anden tråd med den samme opgave køre og fuldføre processen. | Hvis serverprocessen bliver blokeret, kan andre processer ikke køre, før den tid, der er blokeret for serverprocessen, bliver blokeret. |
3 | Tråde isoleres ikke, de deler hukommelse. | Processen er isoleret. |
4 | Oprettelse af tråde, kontekstskift, opsigelse tager kortere tid i tråden. | Oprettelse af tråde, kontekstskift, opsigelse tager mere tid i processer. |
5 | Tråd henviser til den specifikke opgave for en proces. | Process refererer til udførelsen af ethvert program. |
6 | Brugte ressourcer er meget få i tråden. | Ressourcer, der bruges i processer, er flere. |
Forskellen mellem trådbaseret og brugerbaseret test
S. nr. | Trådbaseret test | Brugsbaseret test |
---|---|---|
1 | Tråde er integreret og testet individuelt. | Test starter med klasser, der ikke er afhængige af hinanden, dvs. er uafhængige. |
to | Regressionstest udføres for at sikre, at intet bliver påvirket. | Når test af uafhængige klasser er udført, testes afhængige klasser. Afhængige er dem, der afhænger af de uafhængige klasser. Denne serie fortsætter indtil det komplette system er bygget. |
3 | Trådbaseret test integrerer de klasser, der er vigtige for at anerkende input eller begivenhed i systemet. | Brugsbaseret test integrerer de klasser, der er vigtige for at reagere eller anerkende brugssagen. |
Ofte stillede spørgsmål
Q # 1) Hvad er trådtestning?
Svar: Trådbaseret test er en metode, der udføres i den tidlige fase af integrationstesten. Tråde eller programmer er integreret og testet trinvist i et undersystem og derefter som et helt system.
Q # 2) Hvilken test udføres først?
Svar : Normalt udføres bund-op-test først, og derefter udføres top-down-test.
Q # 3) Hvad er top-down test?
Svar: Top-down er en integrationstestteknik, hvor test udføres ved hjælp af stubs, dvs. når komponenter på lavere niveau endnu ikke er klar til at teste integrationen, oprettes stubs (midlertidige moduler) for at få den samme output som i tilfælde af faktiske moduler.
Konklusion
Trådbaseret integrationstest spiller en vigtig rolle i afprøvning af de vigtigste funktionaliteter eller den specifikke opgave eller tråd. Denne metode er bedst til klientserverbaseret arkitektur.
Under testning af tråde skal testeren stå over for mange udfordringer, men har også mange fordele, hvilket gør det nemt og pålideligt at udføre. Det lod testerne teste alle transaktionerne og kontrollere, om det fungerer som forventet og i henhold til kravet.
Det er umuligt at teste alle transaktionerne / begivenhederne for at fuldføre trådtesten, hvorfor den er opdelt i enkelt- og multitrådstyper.
Anbefalet læsning
- Valg af softwaretest som din karriere
- Nogle interessante softwaretestinterviewspørgsmål
- Er softwaretestning en følelsesmæssig opgave?
- Java-synkroniseret: Hvad er trådsynkronisering i Java
- Java-tråde med metoder og livscyklus
- Multithreading i C ++ med eksempler
- Multithreading i Java - Vejledning med eksempler
- Thread.Sleep () - Tråd Sleep () Metode i Java med eksempler