what is thread testing software testing
Denne opplæringen forklarer hva som er trådtesting, når og hvordan du utfører det, typer trådbasert testing og utfordringer:
Trådtesting er en programvaretesteteknikk som brukes til å teste applikasjonene som er klientserverbasert.
Trådbasert testing bør utføres i de innledende stadiene av integrasjonstesting, slik at nøkkelfunksjonene kan testes / verifiseres for en bestemt oppgave / et program eller en tråd.
Hva du vil lære:
- Hvorfor trådtesting
- Når og hvordan utføres trådtesting
- Typer av trådbasert testing
- Forskjellen mellom tråd og prosesser
- Forskjellen mellom trådbasert og brukerbasert testing
- Konklusjon
Hvorfor trådtesting
Når komponentene er integrert, er det nødvendig å sjekke om systemet fungerer som forventet eller ikke, og alle transaksjonene vil skje i henhold til kravet eller ikke. Dermed kommer trådbasert testing inn for å teste det samme.
Denne testingen gjøres ved å integrere trådene gradvis på alle nivåer som starter fra delsystemet til det komplette systemet, dvs. hele systemet. Alle systemaktivitetene går bare frem med trådene.
Trådefinisjon hjelper deg med å dele den funksjonelle bakgrunnen og detaljene for kjøring av tråd mellom utviklerne og utviklerne til testere.
Om tråder
En tråd er strømmen av kontroll i en prosess. Det er den minste oppgaven i systemet som kan kjøres.
selskaper som betaler deg for å prøve produktene sine
Eksempel
En nettleser kan ha en eller flere tråder som kjører. en tråd for å vise bilder og tekst og en annen tråd for å hente data. I visse tilfeller må det kreves en enkelt søknad for å betjene alle prosessene.
Å lage flere tråder er den beste løsningen for det samme, ellers vil flere forespørsler bli sendt til serveren av klienten, og det vil ta tid å bekrefte forespørslene en etter en. Multi-thread vil hjelpe deg med å svare på forespørslene samtidig.
Når og hvordan utføres trådtesting
Det bør gjøres i den innledende fasen av systemintegrasjonstesten.
Integrasjonstesting utføres ved å integrere forskjellige moduler på en planlagt måte. Integreringsplanen følges for det samme som spesifiserer rekkefølgen modulene skal integreres for å lage det komplette systemet.
Listet nedenfor er teknikkene for å utføre integrasjonstesting:
- Big-Bang tilnærming
- Top-down tilnærming
- Bottom-up-tilnærming
- Blandet tilnærming
La oss se hver teknikk i detalj.
# 1) Big-Bang-tilnærming
Big bang-tilnærmingen brukes bare for små systemer, da alle modulene er integrert og testet på en gang.
Ethvert problem som oppdages under denne tilnærmingen er vanskelig å lokalisere, ettersom problemet kan være fra noen av de integrerte modulene. Derfor er feilsøkingsproblemer som er funnet veldig dyre å fikse i denne tilnærmingen.
# 2) Top-Down Approach
Top-down-tilnærmingen gjøres ved hjelp av stubbene, dvs. når toppnivåmodulen er testet, blir de umiddelbare underrutinene integrert og testet.
Stubber er programmene som simulerer effekten av rutiner på lavere nivå og kalles av rutinene som testes. Trådtesting bruker en top-down-tilnærming.
# 3) Bottom-up-tilnærming
I bottom-up-tilnærmingen testes alle delsystemene individuelt, og deretter testes hele systemet. Årsaken bak å teste alle delsystemene hver for seg er å teste grensesnittet mellom alle modulene som er en del av delsystemet.
Denne teknikken krever testdrivere, dvs. programmet som kaller de andre modulene og gir samme utgang som det faktiske produktet.
# 4) Testing av blandet integrasjon
Denne teknikken er en kombinasjon av både top-down og bottom-up tilnærminger. Derfor kalles det Mixed Integration Testing.
Viktige punkter for å utføre trådbasert testing
- Når du utfører trådtesting, blir tråder eller liten funksjonalitet integrert og testet. Testingen er inkrementell testing på et undersystemnivå og deretter som et komplett system.
- På selve den innledende fasen får integrasjonstesterne en god ide og kunnskap for hva de skal teste videre.
- Integrasjonstestere må bruke og utføre scenarier både positive og negative innenfor trådgrensene. De må bestemme seg for en trådtestingstilnærming som skal følges for å dekke unntakstilfeller og grensesaker også.
- Tråddefinisjonen som utvikleren gir til testeren, hjelper til med å teste tråden tilsvarende av integratortesterne. All ytterligere informasjon som kreves av testeren, kan besvares i trådgjennomgangsprosessen.
- Trådprosessene fungerer for integrasjonsprosesser i stedet for for slutt til sluttutviklingsprosessen.
- For å teste funksjoner med flere tråder, la flere forekomster av applikasjonen eller programmet som skal testes være aktive samtidig.
- Kjør multitrådsprogrammet på annen maskinvare.
- Trådtesting er en form for øktstesting for hvilke økter dannes av tråder. Det er ikke nødvendig at en dannet tråd er en økt.
Typer av trådbasert testing
To typer trådbasert testing utføres:
- Testing av enkelt tråd
- Testing av flere tråder
# 1) Testing av enkelt tråd
Testing av enkelt tråd tester en transaksjon om gangen. Ventetiden for klienten for å få svar på forespørselen kan være litt lengre, siden den vil kunne betjene eller svare på en klient om gangen.
Denne testen hjelper testeren til å forstå og teste logikken til programmet eller den skrevne koden.
# 2) Testing av flere tråder
Multitrådetesting tester flere aktive transaksjoner samtidig. I dette tilfellet opprettes separate tråder for forespørsler fra klienten. Hver gang en forespørsel blir gjort, opprettes en tråd til tjenesten eller svarer på forespørselen.
En transaksjon som fungerte bra i testingen av en enkelt tråd kan mislykkes mens den testes i flere tråder, og kan også forstyrre andre tråder og funksjoner og stoppe dem til å fungere som forventet.
Er en multithread-tilnærming bedre enn en single thread-tilnærming?
Multitrådede applikasjoner er bedre enn enkelttrådede, da det forbedrer applikasjonens ytelse. Multi-threading gjør det mulig for en rekke ressurser å jobbe med en sak / forespørsel samtidig.
Utfordringer mens du gjør trådbasert testing
Mens han utfører trådbasert testing, står testeren overfor flere utfordringer som påvirker ytelsen, tiden og kostnadene ved testing.
- Å skrive enhetsprøvesaker for kode med flere tråder er utfordrende.
- Når multitrådetesting utføres på annen maskinvare, varierer den for størrelse, lagringskapasitet, minne, problemer osv.
- Testscenarier for både tråd og flere tråder er forskjellige.
- I flere trådtesting bør reproduserbare tester for enhetstester programmeres.
Fordeler / ulemper ved flertråding
Multi-threading har mange fordeler så vel som ulemper. Som en tester vet det samme dem å teste og bryte testprosessen tilsvarende.
Fordeler
- Multi-threading øker responsen til brukeren. Programmet kan la programmet kjøre selv om en del av applikasjonen blir blokkert.
- Ressursdeling er en annen fordel da tråder deler ressursene i prosessen de er relatert til eller tilhører.
- Å lage tråder er økonomisk ettersom det deler ressursene de tilhører.
Ulemper
- Kompleks testprosess
- Resultatene er veldig uforutsigbare.
- Å skrive et program blir vanskeligere.
- Dødlåsende forekomst.
Hva er dødlås
Når flertråding er ferdig, kommer tråden i ventetilstand hvis ressursen ikke er tilgjengelig.
Ventetilstanden endres kanskje ikke for tråden ettersom ressursen som er forespurt holdes av andre ventetråder. Når en slik situasjon oppstår, kalles det Deadlock.
Forskjellen mellom tråd og prosesser
La oss forstå forskjellene mellom tråd og prosesser:
S. nr | Tråd | Prosess |
---|---|---|
7 | Trådene kan ikke deles videre. | Prosesser kan ha flere tråder. |
1 | Tråden er en lett prosess. | Prosessen er en tungvektsprosess. |
to | Hvis servertråden blir blokkert, kan en annen tråd med samme oppgave kjøre og fullføre prosessen. | Hvis serverprosessen blir blokkert, kan andre prosesser ikke kjøre før den blokkerte serverprosessen blir blokkert. |
3 | Trådene isoleres ikke, de deler minne. | Prosessen er isolert. |
4 | Å lage tråder, kontekstbytte, avslutning tar kortere tid i tråden. | Å lage tråder, kontekstbytte, avslutning tar mer tid i prosesser. |
5 | Tråd refererer til den spesifikke oppgaven til en prosess. | Prosess refererer til gjennomføring av ethvert program. |
6 | Ressurser som brukes er veldig få i tråden. | Ressurser som brukes i prosesser er flere. |
Forskjellen mellom trådbasert og brukerbasert testing
S.No. | Trådbasert testing | Bruksbasert testing |
---|---|---|
1 | Trådene er integrert og testet hver for seg. | Testing starter med klasser som ikke er avhengige av hverandre, dvs. er uavhengige. |
to | Regresjonstesting utføres for å sikre at ingenting blir påvirket. | Når testing av uavhengige klasser er utført, blir avhengige klasser testet. Avhengige er de som er avhengige av de uavhengige klassene. Denne serien fortsetter til den tid det komplette systemet er bygget. |
3 | Trådbasert testing integrerer klassene som er essensielle for å anerkjenne input eller hendelse i systemet. | Brukstesttesting integrerer klassene som er essensielle for å svare eller anerkjenne brukssaken. |
ofte stilte spørsmål
Q # 1) Hva er trådtesting?
Svar: Trådbasert testing er en metodikk som utføres i den tidlige fasen av integrasjonstesting. Tråder eller programmer er integrert og testet trinnvis i et delsystem og deretter som et helt system.
hvilken type test som brukes for å bekrefte at alle programmer i et program fungerer riktig
Q # 2) Hvilken testing utføres først?
Svar : Vanligvis gjøres nedenfra og opp-testing først, og deretter utføres ned-og-ned-testing.
Spørsmål nr. 3) Hva er Top-Down Testing?
Svar: Top-down er en integrasjonstesteteknikk der testing utføres ved hjelp av stubber, dvs. når komponenter på lavere nivå ennå ikke er klare til å teste integrasjonen, blir stubber (midlertidige moduler) opprettet for å få samme utgang som i tilfelle av faktiske moduler.
Konklusjon
Trådbasert integrasjonstesting spiller en viktig rolle i å teste hovedfunksjonalitetene eller den spesifikke oppgaven eller tråden. Denne metoden er best for klientserverbasert arkitektur.
Når du utfører trådtesting, må testeren møte mange utfordringer, men har også mange fordeler som gjør det enkelt og pålitelig å utføre. Det lar testerne teste alle transaksjonene og verifisere om det fungerer som forventet og i henhold til kravet.
Det er umulig å teste alle transaksjonene / hendelsene for å fullføre trådtesten på grunn av det, det er delt inn i enkelt- og flertrådstyper.
Anbefalt lesing
- Velge programvaretesting som din karriere
- Noen interessante intervjusspørsmål om programvaretesting
- Er programvaretesting en emosjonell oppgave?
- Java Synchronized: Hva er trådsynkronisering i Java
- Java-tråder med metoder og livssyklus
- Multitrading i C ++ med eksempler
- Multithreading In Java - Opplæring med eksempler
- Thread.Sleep () - Tråd Sleep () Metode i Java med eksempler