Hva er komponenttesting? Teknikker, eksempler på testtilfeller
⚡ Smart oppsummering
Komponenttesting sjekker hver enkelt del av en applikasjon for seg selv, uten å integrere den med resten, slik at feil blir funnet og rettet i en enkelt modul før monteringen begynner.
Hva er komponenttesting?
Komponenttesting er en type programvaretesting der testing utføres på hver enkelt komponent separat, uten å integrere den med andre komponenter. Sett fra et arkitekturperspektiv kalles det også modultesting, og noen referanser kaller det programtesting.
All programvare som helhet er laget av flere komponenter, og testing på komponentnivå omhandler testing av disse komponentene individuelt. Det er en av de vanligste svart boks testing typer utført av QA-teamet.
Det er verdt å merke seg navngivning tidlig. ISTQB-ordlisten omhandler komponenttesting og enhetstesting som synonymer for samme testnivå. Mange leveranseteam, og denne artikkelen, holder de to fra hverandre i praksis: utviklere kjører enhetstester på sin egen kode, og testere kjører deretter komponenttester på den leverte byggingen. Sammenligningstabellen på slutten av denne artikkelen viser dette praktiske skillet.
Som diagrammet nedenfor viser, har komponenttesting sin egen teststrategi og testplan, der hver del av programvaren eller applikasjonen vurderes individuelt. For hver komponent en testscenario er definert, som deretter deles opp i testtilfeller på høyt nivå og til slutt i detaljerte testtilfeller på lavt nivå test tilfeller med forutsetninger.
Måten begrepet «komponenttesting» brukes på varierer fra domene til domene og fra organisasjon til organisasjon. De vanligste årsakene til denne forskjellen i oppfatning er de tre nedenfor.
- Den valgte typen utviklingslivssyklusmodell
- Kompleksiteten til programvaren eller applikasjonen som testes
- Om testingen utføres med eller uten isolasjon fra de andre komponentene i applikasjonen
Programvaretestens livssyklus produserer mange testartefakter, det vil si dokumentene som opprettes og brukes under testaktiviteter. Blant disse er testpolicyen og teststrategien som definerer hvilke typer testing som brukes og hvor dypt testingen går i et gitt prosjekt.
Hvem utfører komponenttesting
Komponenttesting utføres av testere. Enhetstesting utføres av utviklerne, som tester en individuell funksjon eller prosedyre. Når enhetstestingen er fullført, følger komponenttesting, og testerne tar eierskap til den.
Når du skal utføre komponenttesting
Komponenttesting utføres kort tid etter at enhetstestingen er utført av utviklerne og byggingen er utgitt til testteamet. Denne byggingen kalles UT-byggingen, eller enhetstestingsbyggingen. Hovedfunksjonaliteten til hver komponent testes i denne fasen.
Inngangskriterier for komponenttesting
- Minimumssettet med komponenter som skal inkluderes i UT-bygget er utviklet og enhetstestet.
Utgangskriterier for komponenttesting
- Funksjonaliteten til hver komponent fungerer som spesifisert.
- Ingen kritisk, høy eller middels alvorlighetsgrad eller prioritetsfeil er fortsatt åpne i defektlogg.
Teknikker for komponenttesting
Basert på testnivåets dybde kategoriseres komponenttesting på to måter.
- CTIS — Komponenttesting i liten
- CTIL — Komponenttesting i store
CTIS — Komponenttesting i liten
Komponenttesting kan utføres med eller uten isolasjon fra de andre komponentene i applikasjonen som testes. Når det utføres med de andre komponentene isolert, kalles det komponenttesting i liten skala.
Eksempel 1: På et nettsted med fem forskjellige nettsider er komponenttesting i liten skala å teste hver nettside separat og isolert fra de andre komponentene.
Eksempel 2: guru99.com-hjemmesiden som vises nedenfor inneholder mange komponenter, for eksempel Hjem, Testing, SAP, Nett, Må lære!, Stordata, Live-prosjekter og blogg.
All programvare er laget av mange komponenter på samme måte, og hver komponent har sine egne underkomponenter. Å teste hver modul som er oppført i eksempel 2 separat, uten å vurdere integrasjonen med de andre komponentene, er komponenttesting i det små.
Når du åpner rullegardinmenyen Testing, vises delkomponentene i Testing-komponenten: Manuell testing, SOAPUI, QTP, JUnit, Selenium, Testhåndtering og Mobil testingI øyeblikksbildet nedenfor er disse delkomponentene uthevet med rødt.
CTIL — Komponenttesting i store
Komponenttesting utført uten isolasjon fra de andre komponentene i applikasjonen som testes, refereres til som komponenttesting i stor grad.
Et eksempel gjør forskjellen tydeligere. Anta at en applikasjon består av tre komponenter: Komponent A, Komponent B og Komponent C.
Utvikleren har bygget komponent B og ønsker at den skal testes. For å teste komponent B fullstendig, avhenger noe av funksjonaliteten av komponent A og noe av komponent C, som diagrammet nedenfor illustrerer.
Funksjonalitetsflyten er A → B → C, som betyr at komponent B avhenger av både A og C. I den flyten er stubben den kalte funksjonen og driveren er den kallende funksjonen.
Komponent A og komponent C er ikke utviklet ennå. For å teste komponent B fullstendig, erstattes A og C av en driver og en stub etter behov, slik at de to manglende delene fungerer som dummyobjekter inntil de virkelige finnes.
- Stubb: En stub kalles av komponenten som testes. Komponent C er ikke klar, så en stub erstatter den og returnerer svarene B forventer.
- Sjåfør: En driver kaller komponenten som testes. Komponent A er ikke klar, så en driver erstatter den og kaller B med de nødvendige inndataene.
Eksempel på testtilfeller for komponenttesting
De to nettsidene nedenfor er sammenhengende fra et funksjonalitetssynspunkt, noe som gjør dem til et nyttig komponentpar å teste.
Nettside 1 er innloggingssiden til demobanknettstedet.
Når brukeren oppgir en gyldig bruker-ID og et gyldig passord og klikker på send-knappen, navigerer siden til hjemmesiden til demobankens nettsted, som vises nedenfor.
Her er innloggingssiden én komponent og hjemmesiden en annen. Å teste funksjonaliteten til hver side separat er komponenttesting.
Scenarier for komponenttesting på nettside 1:
- Skriv inn en ugyldig bruker-ID og bekreft at en brukervennlig advarsel vises til sluttbrukeren.
- Skriv inn en ugyldig bruker-ID og et ugyldig passord, klikk på Tilbakestill, og kontroller at feltene for bruker-ID og passord er tømt.
- Skriv inn et gyldig brukernavn og passord, og klikk på Logg inn-knappen.
Scenarier for komponenttesting på nettside 2:
- Kontroller at velkomstmeldingen for ledersiden vises på hjemmesiden.
- Kontroller at alle lenkene på venstre side av nettsiden er klikkbare.
- Kontroller at leder-ID-en vises midt på hjemmesiden.
- Bekreft tilstedeværelsen av de tre forskjellige bildene på hjemmesiden, i henhold til diagrammet.
Enhetstesting vs komponenttesting
Tabellen nedenfor oppsummerer hvordan de to nivåene skiller seg fra hverandre i daglig praksis.
| Enhetstesting | Komponenttesting |
| Testing av individuelle programmer og moduler for å demonstrere at programmet kjører i henhold til spesifikasjonen. | Testing av hvert objekt eller hver del av programvaren separat, med eller uten isolasjon fra andre objekter. |
| Validert mot designdokumenter. | Validert mot testkrav og brukstilfeller. |
| Gjort av utviklere. | Utført av testere. |
| Ferdig først. | Utført etter at enhetstestingen er fullført hos utviklerne. |
| Mangler blir vanligvis rettet på stedet og ikke formelt loggført. | Feil loggføres og tracgått gjennom feilhåndteringsprosessen. |






