Hva er komponenttesting? Teknikker, eksempler på testtilfeller
Hva er komponenttesting?
Komponenttesting er definert som en programvaretesttype, der testingen utføres på hver enkelt komponent separat uten å integreres med andre komponenter. Det er også referert til som modultesting når det ses fra et arkitekturperspektiv. Komponenttesting blir også referert til som enhetstesting, programtesting eller modultesting.
Generelt er all programvare som helhet laget av flere komponenter. Komponentnivåtesting omhandler testing av disse komponentene individuelt.
Det er en av de hyppigste sorte boks-testingene som utføres av QA Team.
I henhold til diagrammet nedenfor vil det være en teststrategi og testplan for komponenttesting. Hvor hver eneste del av programvaren eller applikasjonen vurderes individuelt. For hver av disse komponentene a Testscenario vil bli definert, som videre bringes ned i en High Level Test Cases -> Low Level detaljerte Test Cases with Prerequisites.
Bruken av begrepet "Komponenttesting” varierer fra domene til domene og organisasjon til organisasjon.
Den vanligste årsaken til ulik oppfatning av komponenttesting er
- Type utvikling Livssyklusmodell valgt
- Kompleksiteten til programvaren eller applikasjonen som testes
- Testing med eller uten isolasjon fra resten av andre komponenter i programvare eller applikasjon.
Som vi vet Software Test Life Cycle Architecture har mange mange test-artefakter (dokumenter laget, brukt under testaktiviteter). Blant mange tester – artefakter, er det Test Policy & Test Strategy som definerer testtypene, testdybden som skal utføres i et gitt prosjekt.
Hvem utfører komponenttesting
Komponenttesting utføres av testere. "Enhetstesting" utføres av utviklerne der de tester den enkelte funksjonaliteten eller prosedyren. Etter Enhetstesting er utført, er neste testing komponenttesting. Komponenttesting utføres av testerne.
Når du skal utføre komponenttesting
Komponenttesting utføres kort tid etter at enhetstestingen er utført av utviklerne og bygget er utgitt for testteamet. Denne konstruksjonen kalles UT-bygg (Unit Testing Build). Hovedfunksjonaliteten til alle komponentene testes i denne fasen,
Inngangskriterier for komponenttesting
- Minimum antall av komponenten som skal inkluderes i UT bør utvikles og enhetstestes.
Utgangskriterier for komponenttesting
- Funksjonaliteten til alle komponentene skal fungere fint.
- Det skal ikke være noen kritiske eller høye eller middels alvorlige og prioriterte defekter Defekt Logg.
Teknikker for komponenttesting
Basert på dybden av testnivåer, kan komponenttesting kategoriseres som
- CTIS – Komponenttesting i liten grad
- CTIL – Component Testing In Large
CTIS – Komponenttesting i liten grad
Komponenttesting kan utføres med eller uten isolering av resten av andre komponenter i programvaren eller applikasjonen som testes. Hvis det utføres med isolering av en annen komponent, blir det referert til som komponenttesting i liten.
Eksempel 1: Tenk på et nettsted som har 5 forskjellige nettsider, og test deretter hver nettside separat, og med isolasjon av andre komponenter blir referert til som komponenttesting i Small.
Eksempel 2: Tenk på hjemmesiden til guru99.com-nettstedet som har mange komponenter som
Hjem, testing, SAP, Web, Must Learn!, Big Data, Live Projects, Blog og etc.
På samme måte er all programvare laget av mange komponenter, og hver komponent vil også ha sine egne underkomponenter. Å teste hver modul nevnt i eksempel 2 separat uten å vurdere integrasjon med andre komponenter kalles Komponenttesting i liten.
Klikk på rullegardinmenyen Testing i henhold til snapshowet nedenfor og se forskjellige "delkomponenter" av testkomponenten. Så underkomponentene som vises er Manuell testing, SOAPUI, QTP, JUnit, Selenium, Test Management, Selenium, Mobil Testing osv.
OBS: Underkomponenten er nevnt med rød uthevet farge i øyeblikksbildet nedenfor.
CTIL – Component Testing in Large
Komponenttesting utført uten isolering av andre komponenter i programvaren eller applikasjonen som testes, kalles Component Testing Large.
La oss ta et eksempel for å forstå det på en bedre måte. Anta at det er en applikasjon som består av tre komponenter si Komponent A, Komponent B, og Komponent C.
Utvikleren har utviklet komponent B og vil ha den testet. Men for å helt test komponent B, få av funksjonene er avhengige av komponent A og få av komponent C.
Funksjonsflyt: A -> B -> C som betyr at det er en avhengighet til B fra både A og C, i henhold til diagramstubben er kalt funksjon, og sjåføren er ringe funksjon.
Men komponent A og komponent C er ikke utviklet ennå. I så fall, for å teste komponent B fullstendig, kan vi erstatte komponent A og komponent C med stubb og drivere etter behov. Så i utgangspunktet er komponent A & C erstattet av stub & driver's som fungerer som et dummyobjekt til de faktisk er utviklet.
- Stubb: En stubbe kalles opp fra programvarekomponenten som skal testes som vist i diagrammet under 'Stub' kalles av komponent A.
- Sjåfør: En driver kaller komponenten som skal testes som vist i diagrammet nedenfor 'Komponent B' kalles opp av driveren.
Eksempel på testtilfeller for komponenttesting
Tenk på 2 nettsider i henhold til diagrammene nevnt nedenfor. Her er begge nettsidene relatert til hverandre fra et funksjonssynspunkt.
- Nettside 1 er påloggingsside til demo.guru99.com
Når brukeren skrev inn gyldig bruker-id og passord i tekstfeltet og klikker på send-knappen, vil nettsiden navigere til hjemmesiden til guru99 demo bank-nettstedet.
- Nettside 2 er hjemmesiden til Guru99.com
Så her er påloggingssiden en komponent, og hjemmesiden er en annen. Nå kalles det å teste funksjonaliteten til individuelle sider separat komponenttesting.
Komponenttestscenarioer på nettside1 –
- Skriv inn ugyldig bruker-ID og kontroller om noen brukervennlig advarsel vises til sluttbrukeren.
- Skriv inn ugyldig bruker-ID og passord og klikk på 'reset' og kontroller om dataene som er skrevet inn i tekstfeltene bruker-id og passord er slettet.
- Skriv inn gyldig brukernavn og passord og klikk på "Logg inn"-knappen.
Komponenttestscenarioer på nettside2 –
- Bekreft om meldingen "Velkommen til ledersiden til guru99 bank" vises på hjemmesiden.
- Kontroller om alle koblingene på venstre side av nettsiden er klikkbare.
- Bekreft om leder-ID-en vises i midten av hjemmesiden.
- Bekreft tilstedeværelsen av de 3 forskjellige bildene på hjemmesiden i henhold til diagrammet.
Enhetstesting vs komponenttesting
Enhetstesting | Komponenttesting |
---|---|
Testing av individuelle programmer, moduler for å demonstrere at programmet kjører i henhold til spesifikasjonen kalles Enhetstesting | Testing av hvert objekt eller deler av programvaren separat med eller uten isolasjon av andre objekter kalles Komponenttesting |
Den er validert mot designdokumenter | Den er validert mot testkrav, brukstilfeller |
Enhetstesting utføres av utviklere | Komponenttesting utføres av testere |
Enhetstesting utføres først | Komponenttesting utføres etter at enhetstesting er fullført fra utviklerens ende. |
Oppsummering
In Engineering programvare, Komponenttesting spiller en avgjørende rolle for å finne feilene. Før vi starter Integrasjonstesting etter komponenttesting og integrasjonstesting følges av komponenttesting.
Komponenttesting refereres også til som modultesting i noen referanser.