Hvad er komponenttest?
Komponenttest defineres som en softwaretesttype, hvor testen udføres på hver enkelt komponent separat uden at blive integreret med andre komponenter. Det kaldes også modultest, når det ses fra et arkitekturperspektiv. Komponenttest kaldes også enhedstest, programtest eller modultest.
Generelt er enhver software som helhed lavet af flere komponenter. Komponentniveau-test handler om at teste disse komponenter individuelt.
Det er en af de mest hyppige testtyper i sort boks, der udføres af QA Team.
I henhold til nedenstående diagram vil der være en teststrategi og testplan for komponenttest. Hvor hver del af softwaren eller applikationen betragtes individuelt. For hver af denne komponent vil der blive defineret et testscenario, som yderligere vil blive bragt ned i et højt niveau testtilfælde -> detaljerede testtilfælde med lavt niveau med forudsætninger.
Brugen af udtrykket " Component Testing " varierer fra domæne til domæne og organisation til organisation.
Den mest almindelige årsag til forskellig opfattelse af komponenttest er
- Type af udviklingslivscyklusmodel valgt
- Kompleksiteten af softwaren eller applikationen, der testes
- Test med eller uden isolation fra resten af andre komponenter i software eller applikation.
Som vi ved Software Test Life Cycle Architecture har mange test-artefakter (dokumenter lavet, brugt under testaktiviteter). Blandt mange tests - artefakter er det Testpolitik & Teststrategi, der definerer testtyper, testdybde, der skal udføres i et givet projekt.
Hvem udfører komponenttest
Komponenttest udføres af testere. 'Unit Testing' udføres af udviklerne, hvor de udfører test af den individuelle funktionalitet eller procedure. Når enhedstest er udført, er den næste test komponenttest. Komponenttest udføres af testerne.
Hvornår skal man udføre komponenttest
Komponenttest udføres kort efter, at enhedstesten er udført af udviklerne, og buildet frigives til testteamet. Denne build kaldes UT-build (Unit Testing Build). Den største funktionalitet af alle komponenter testes i denne fase,
Indgangskriterier for komponenttest
- Minimumsantallet af komponenten, der skal medtages i UT, skal udvikles og enhedstestes.
Udgangskriterier for komponenttest
- Funktionaliteten af hele komponenten skal fungere fint.
- Der bør ikke være nogen kritiske eller høje eller mellemstore sværhedsgrader og prioritetsfejl Fejllog.
Komponenttestteknikker
Baseret på dybden af testniveauer kan komponenttest kategoriseres som
- CTIS - Komponenttest i små størrelser
- CTIL - komponenttestning i stort
CTIS - komponenttest i lille
Komponenttest kan udføres med eller uden isolering af resten af andre komponenter i softwaren eller applikationen, der testes. Hvis det udføres med isolering af en anden komponent, betegnes det som komponenttest i lille.
Eksempel 1: Overvej et websted, der har 5 forskellige websider, og derefter tester hver webside separat og med isolering af andre komponenter kaldes komponenttest i lille.
Eksempel 2: Overvej hjemmesiden til webstedet guru99.com, som har mange komponenter som
Hjem, test, SAP, web, skal lære !, Big Data, live projekter, blog og osv.
Tilsvarende er enhver software lavet af mange komponenter, og hver komponent vil også have sine egne underkomponenter. Test af hvert modul nævnt i eksempel 2 separat uden at overveje integration med andre komponenter kaldes Component Testing in Small.
Klik på Test-rullemenuen i henhold til nedenstående snapshow og se forskellige "underkomponenter" af testkomponenten. Så de viste underkomponenter er manuel test, SOAPUI, QTP, JUnit, selen, testhåndtering, selen, mobil test osv.
Bemærk: Underkomponenten er nævnt med rød fremhævet farve i nedenstående snapshot.
CTIS - komponenttest i lille
Komponenttest udført uden isolering af andre komponenter i softwaren eller applikationen under test kaldes Component Testing Large.
Lad os tage et eksempel for at forstå det på en bedre måde. Antag at der er et program, der består af tre komponenter sige komponent A , komponent B, og komponent C .
Udvikleren har udviklet komponent B og vil have den testet. Men for fuldstændigt at teste komponenten B er få af dens funktionaliteter afhængige af komponent A og få af komponent C.
Funktionalitetsstrøm: A -> B -> C, hvilket betyder, at der er en afhængighed af B fra både A & C, i henhold til diagrammet er den kaldte funktion, og føreren er den kaldende funktion .
Men komponent A og komponent C er endnu ikke udviklet. For at teste komponent B helt kan vi i så fald udskifte komponent A og komponent C med stub og drivere efter behov. Så grundlæggende erstattes komponent A & C af stub & drivere, der fungerer som en dummy-genstand, indtil de faktisk er udviklet.
- Stub: En stub kaldes fra softwarekomponenten, der skal testes som vist i nedenstående diagram, 'Stub' kaldes af komponent A.
- Driver: En driver kalder komponenten, der skal testes, som vist i nedenstående diagram 'Komponent B' kaldes af Driver.
Eksempel på testtilfælde til komponenttest
Overvej 2 websider i henhold til nedenstående diagrammer. Her er begge websider indbyrdes forbundne fra et funktionelt synspunkt.
- Webside 1 er login-side til demo.guru99.com
Når brugeren indtastede gyldigt bruger-id og adgangskode i tekstfeltet og klikker på knappen Send, vil websiden navigere til hjemmesiden til guru99 demo-bankwebsite.
- Webside 2 er hjemmesiden for Guru99.com
Så her er login-siden en komponent, og hjemmesiden er en anden. Nu kaldes test af funktionaliteten på de enkelte sider separat komponenttest .
Komponenttestscenarier på websiden1 -
- Indtast ugyldigt bruger-id, og kontroller, om der vises en brugervenlig advarsel for slutbrugeren.
- Indtast ugyldigt bruger-id og adgangskode, og klik på 'nulstil', og kontroller, om de data, der er indtastet i tekstfelterne bruger-id og adgangskode, er ryddet.
- Indtast det gyldige brugernavn og adgangskode, og klik på knappen 'Login'.
Komponenttestscenarier på websiden2 -
- Bekræft, om meddelelsen "Velkommen til managerside for guru99 bank" vises på hjemmesiden.
- Kontroller, om alle linkene i venstre side af websiden er klikbare.
- Kontroller, om leder-id'et vises midt på startsiden.
- Kontroller tilstedeværelsen af de 3 forskellige billeder på hjemmesiden i henhold til diagrammet.
Enhedstestning mod komponenttest
Enhedstest | Komponenttest |
---|---|
|
|
|
|
|
|
|
|
Resumé:
I softwareteknik spiller komponenttest en afgørende rolle for at finde fejlene. Før vi starter med integrationstesten, anbefales det altid at udføre komponenttesten for at sikre, at hver komponent i en applikation fungerer effektivt.
Integrationstest efterfølges af komponenttesten. Komponenttest kaldes også modultest i nogle referencer.