Vad är komponenttestning?
Komponenttestning definieras som en mjukvarutestningstyp, där testningen utförs på varje enskild komponent separat utan att integreras med andra komponenter. Det kallas också modultestning när det ses ur ett arkitekturperspektiv. Komponenttestning kallas också enhetstestning, programtestning eller modultestning.
I allmänhet består all programvara som helhet av flera komponenter. Komponentnivåtestning handlar om att testa dessa komponenter individuellt.
Det är en av de vanligaste testtyperna för svart låda som utförs av QA Team.
Enligt nedanstående diagram kommer det att finnas en teststrategi och testplan för komponenttestning. Där varje del av programvaran eller applikationen betraktas individuellt. För var och en av denna komponent kommer ett testscenario att definieras, vilket kommer att föras ner till högnivå testfall -> Lågnivå detaljerade testfall med förutsättningar.
Användningen av termen " Component Testing " varierar från domän till domän och organisation till organisation.
Den vanligaste orsaken till olika uppfattningar om komponenttestning är
- Typ av utveckling Livscykelmodell vald
- Komplexiteten hos programvaran eller applikationen som testas
- Testning med eller utan isolering från resten av andra komponenter i programvara eller applikation.
Som vi vet har mjukvarutestens livscykelarkitektur många testartifakter (gjorda dokument som används under testaktiviteter). Bland många tester - artefakter är det Testpolicy & Teststrategi som definierar vilka typer av test, testdjup som ska utföras i ett givet projekt.
Vem gör komponenttestning
Komponenttester utförs av testare. 'Unit Testing' utförs av utvecklarna där de testar den enskilda funktionaliteten eller proceduren. Efter att enhetstestning utförts är nästa testning komponenttestning. Komponenttester görs av testarna.
När ska komponenttest utföras
Komponenttestning utförs strax efter att enhetstestningen har gjorts av utvecklarna och build-versionen släpps för testteamet. Denna build kallas UT-build (Unit Testing Build). Största funktionaliteten hos alla komponenter testas i denna fas,
Inträdeskriterier för komponenttestning
- Minsta antal komponenter som ska ingå i UT bör utvecklas och enhetstestas.
Utgångskriterier för komponenttestning
- Funktionaliteten hos hela komponenten ska fungera bra.
- Det bör inte finnas några kritiska eller höga eller medelstora svårighetsgrader och prioritetsfel.
Komponenttesttekniker
Baserat på testnivåernas djup kan komponenttest kategoriseras som
- CTIS - Komponenttest i smått
- CTIL - Komponenttestning i stort
CTIS - Component Testing in Small
Komponenttestning kan göras med eller utan isolering av resten av andra komponenter i programvaran eller applikationen som testas. Om den utförs med isolering av en annan komponent, kallas den komponenttestning i små.
Exempel 1: Tänk på en webbplats som har 5 olika webbsidor och testa sedan varje webbsida separat och med isolering av andra komponenter kallas komponenttestning i små.
Exempel 2: Tänk på hemsidan för webbplatsen guru99.com som har många komponenter som
Hem, testning, SAP, webb, måste lära sig !, Big Data, live-projekt, blogg och etc.
På samma sätt är all programvara tillverkad av många komponenter och dessutom kommer varje komponent att ha sina egna underkomponenter. Att testa varje modul som nämns i exempel 2 separat utan att överväga att integrera med andra komponenter kallas Component Testing in Small.
Klicka på Testning-rullgardinsmenyn enligt nedanstående snapshow och se olika "underkomponenter" av testkomponenten. Så de underkomponenter som visas är manuell testning, SOAPUI, QTP, JUnit, selen, testhantering, selen, mobil testning etc.
Obs! Underkomponenten nämns med röd markerad färg i ögonblicksbilden nedan.
CTIS - Component Testing in Small
Komponenttestning utan isolering av andra komponenter i programvaran eller applikationen som testas kallas Component Testing Large.
Låt oss ta ett exempel för att förstå det på ett bättre sätt. Antag att det är ett program som består av tre komponenter säga Komponent A , komponent B, och komponent C .
Utvecklaren har utvecklat komponenten B och vill att den ska testas. Men för att helt kunna testa komponenten B är få av dess funktioner beroende av komponent A och få av komponent C.
Funktionsflöde: A -> B -> C vilket betyder att det finns ett beroende av B från både A & C, enligt diagrammet är den kallade funktionen, och föraren är den anropande funktionen .
Men komponent A och komponent C har inte utvecklats ännu. För att testa komponenten B helt kan vi i så fall byta ut komponenten A och komponent C med stub och drivrutiner efter behov. Så i grund och botten ersätts komponent A & C med stub & driver's som fungerar som ett dummyföremål tills de faktiskt utvecklas.
- Stub: En stub anropas från programvarukomponenten som ska testas som visas i diagrammet nedan 'Stub' kallas av komponent A.
- Drivrutin: En förare anropar komponenten som ska testas som visas i diagrammet nedan 'Komponent B' anropas av föraren.
Exempel på testfall för komponenttestning
Tänk på två webbsidor enligt diagrammen som nämns nedan. Här är båda webbsidorna relaterade till varandra ur funktionalitetssynpunkt.
- Webbsida 1 är inloggningssidan till demo.guru99.com
När användaren angav giltigt användar-id och lösenord i textfältet och klickar på knappen Skicka, kommer webbsidan att navigera till hemsidan för guru99-demobankwebbplatsen.
- Webbsida 2 är Guru99.com: s hemsida
Så här är inloggningssidan en komponent och hemsidan är en annan. Nu testas funktionaliteten för enskilda sidor separat kallas komponenttestning .
Scenarier för komponenttestning på webbsida1 -
- Ange ogiltigt användar-ID och verifiera om någon användarvänlig varning dyker upp för slutanvändaren.
- Ange ogiltigt användar-ID och lösenord och klicka på 'reset' och verifiera om data som matats in i textfälten användar-id och lösenord raderas.
- Ange det giltiga användarnamnet och lösenordet och klicka på knappen 'Logga in'.
Scenarier för komponenttest på webbsida2 -
- Kontrollera om meddelandet "Välkommen till chefssidan för guru99 bank" visas på startsidan.
- Kontrollera om alla länken till vänster på webbsidan är klickbar.
- Kontrollera om chefs-id visas mitt på hemsidan.
- Kontrollera förekomsten av de tre olika bilderna på hemsidan enligt diagrammet.
Enhetstestning mot komponenttestning
Enhetstestning | Komponenttestning |
---|---|
|
|
|
|
|
|
|
|
Sammanfattning:
Inom Software Engineering spelar komponenttest en avgörande roll för att hitta buggarna. Innan vi börjar med Integration Testing rekommenderas det alltid att utföra komponenttestningen för att säkerställa att varje komponent i en applikation fungerar effektivt.
Integrationstest följs av komponenttestning. Komponenttest kallas även modultestning i vissa referenser.