Vad är End to End Testing? E2E Testing Framework med exempel

Vad är end-to-end-testning? E2E Testing Framework med exempel

End-to-end-testning är en metodik för programvarutestning för att testa ett programflöde från början till slut. Syftet med end to end-testning är att simulera det verkliga användarscenariot och validera det system som testas och dess komponenter för integration och dataintegritet.

Ingen vill bli känd för sina misstag och sin försumlighet, och detsamma gäller för testarna. När testarna tilldelas en applikation att testa tar de från och med det ögonblicket på sig ansvaret och applikationen fungerar också som en plattform för att visa sina praktiska och tekniska testkunskaper.

Så, för att beskriva det tekniskt, för att se till att testningen görs fullständigt, är det nödvändigt att utföra ”End to End-testning”.

Vad är end to end-testning

I den här handledningen kommer vi att lära oss vad som är end to end-testning, hur det görs, varför det är nödvändigt, vilka matriser som används, hur man skapar ett specifikt testfall för end to end och några få andra viktiga aspekter också. Vi kommer också att lära oss om systemtestning och jämföra det med End to End test..

Real också => End to End Training on a Live Project – Free Online QA Training.

Vad är End to End Testing?

End to end testing process

End to end testing är en metodik för programvarutestning för att testa ett programflöde från början till slut. Syftet med denna testning är att simulera det verkliga användarscenariot och validera det testade systemet och dess komponenter för integration och dataintegritet.

Det utförs från början till slut under verkliga scenarier som kommunikation av applikationen med hårdvara, nätverk, databas och andra applikationer.

Den främsta anledningen till att utföra denna testning är att fastställa olika beroenden i en applikation samt att säkerställa att korrekt information kommuniceras mellan olika systemkomponenter. Den utförs vanligtvis efter det att funktionstestning och systemtestning av en applikation har slutförts.

Låt oss ta ett exempel på Gmail:

exempel på testning från början till slut

Den slutgiltiga verifieringen av ett Gmail-konto kommer att omfatta följande steg:

  1. Lansering av en inloggningssida för Gmail via en webbadress.
  2. Inloggning på Gmail-kontot med hjälp av giltiga inloggningsuppgifter.
  3. Åtkomst till inkorg. Öppna lästa och olästa e-postmeddelanden.
  4. Förbered ett nytt e-postmeddelande, svara eller vidarebefordra ett e-postmeddelande.
  5. Öppna skickade objekt och kontrollera e-postmeddelanden.
  6. Kontrollera e-post i mappen Spam
  7. Logga ut ur Gmail-programmet genom att klicka på ”logout”

End-to-End Testing Tools

Rekommenderat verktyg:

#1) TestCraft

TestCraft logotyp ny
Vi rekommenderar att du använder ett verktyg för automatiserad testning från slut till slut, som TestCraft.

TestCraft är en kodlös Selenium-plattform för testautomatisering. Dess revolutionerande AI-teknik och unika visuella modellering gör det möjligt att snabbare skapa och utföra tester samtidigt som man eliminerar överkostnader för testunderhåll.

Testarna skapar helt automatiserade testscenarier utan att koda. Kunderna hittar fel snabbare, släpper oftare, integrerar med CI/CD-metoden och förbättrar den övergripande kvaliteten på sina digitala produkter. Allt detta skapar en komplett testupplevelse från början till slut.

=> Besök TestCrafts webbplats

Hur fungerar End-To-End Test?

För att förstå lite mer, låt oss ta reda på hur det fungerar?

Tag ett exempel från banksektorn. Få av oss måste ha provat aktier. När en Demat-kontoinnehavare köper en aktie ska en viss procentandel av beloppet ges till mäklaren. När aktieägaren säljer aktien, oavsett om han gör vinst eller förlust, ska en viss procentandel av beloppet återigen ges till mäklaren. Alla dessa transaktioner återspeglas och hanteras i konton. Hela processen inbegriper riskhantering.

När vi tittar på exemplet ovan, med End-to-End-testet i åtanke, kommer vi att upptäcka att hela processen inbegriper flera nummer samt olika nivåer av transaktioner. Hela processen involverar många system som kan vara svåra att testa.

E2E testmetoder

#1) Horisontellt test:

Denna metod används mycket ofta. Den sker horisontellt i samband med flera applikationer. Denna metod kan lätt förekomma i en enda ERP-applikation (Enterprise Resource Planning). Ta ett exempel på en webbaserad tillämpning av ett onlinebeställningssystem. Hela processen kommer att omfatta konton, lagerstatus för produkterna samt leveransuppgifter.

#2) Vertikalt test:

I denna metod verifieras och utvärderas alla transaktioner i en applikation från början till slut. Varje enskilt lager i applikationen testas med början från toppen till botten. Ta ett exempel på en webbaserad applikation som Använder HTML-koder för att nå webbservrar. I sådana fall krävs API för att generera SQL-koder mot databasen. Alla dessa komplexa datorscenarier kräver korrekt validering och dedikerad testning. Därför är denna metod mycket svårare.

”White Box Testing” och ”Black Box Testing” är båda förknippade med denna testning. Eller med andra ord kan vi säga att detta är kombinationen av fördelarna med både white box testing och black box testing. Beroende på vilken typ av programvara som utvecklas, på olika nivåer, används båda testmetoderna, dvs. white box- och black box-testning, vid behov. I grund och botten utför end to end-testet både funktionella och arkitektoniska metoder för att validera systemfunktioner.

Testarna gillar end to end-verifiering eftersom man genom att skriva testfall från användarens perspektiv och i ett verkligt scenario kan undvika de två vanligaste misstagen, dvs. att ”missa en bugg” och att ”skriva testfall som inte verifierar verkliga scenarier”. Detta ger testare en enorm känsla av att ha uppnått sitt mål.

Nedan följer några riktlinjer som man bör ha i åtanke när man utformar testfall för att utföra denna typ av testning:

  • Testfall bör utformas från slutanvändarens perspektiv.
  • Bör fokusera på att testa några befintliga funktioner i systemet.
  • Flera scenarier bör övervägas för att skapa flera testfall.
  • Differentierade uppsättningar av testfall bör skapas för att fokusera på flera scenarier i systemet.

Som vi utför alla testfall, så är det likadant med den här testningen. Om testfallen är ”Pass”, dvs. vi får det förväntade resultatet, sägs det att systemet framgångsrikt har klarat End to End-testet. På samma sätt, om systemet inte producerar det önskade resultatet, krävs en omtestning av ett testfall med tanke på felområdena.

Varför utför vi E2E-testning?

I det nuvarande scenariot, som också visas i diagrammet ovan, består ett modernt mjukvarusystem av dess sammankoppling med flera undersystem. Detta har gjort moderna mjukvarusystem till mycket komplicerade system.

Dessa delsystem som vi talar om kan finnas inom samma organisation eller i många fall även inom olika organisationer. Dessutom kan dessa delsystem vara något liknande eller annorlunda än det nuvarande systemet. Om det uppstår något fel eller någon brist i något delsystem kan det därför påverka hela mjukvarusystemet negativt och leda till att det kollapsar.

Dessa stora risker kan undvikas och kontrolleras genom denna typ av testning:

  • Håller en kontroll och utför en verifiering av systemflödet.
  • Öka testtäckningsområdena för alla delsystem som är involverade i mjukvarusystemet.
  • Detekterar eventuella problem med delsystemen och ökar därmed produktiviteten hos hela mjukvarusystemet.

Omnämnda aktiviteter ingår i slutprocessen:

  • En grundlig studie av kraven för att kunna utföra denna testning.
  • En korrekt uppsättning av testmiljöer.
  • A thorough study of Hardware and Software requirements.
  • Descriptions of all subsystems as well as main software system involved.
  • Enlist the roles and responsibilities for all the systems and subsystems involved.
  • Testing methods used under this testing as well as standards that are followed, its description.
  • Test cases designing as well as tracing requirement matrix.
  • Record or save the input and output data for each system.

E2E Testing Design Framework

End to End Testing-4

We will look into all the 3 categories one by one:

#1) User Functions: Följande åtgärder bör utföras som en del av uppbyggnaden av användarfunktioner:

  • Lista upp funktioner i programvarusystemen och deras sammankopplade delsystem.
  • För varje funktion ska du hålla reda på de åtgärder som utförs samt in- och utgångsdata.
  • Hitta reda på eventuella relationer mellan olika användarfunktioner.
  • Hitta reda på karaktären av de olika användarfunktionerna, dvs. om de är oberoende eller om de kan återanvändas.

##2) Villkor: Följande aktiviteter bör utföras som en del av uppbyggnaden av villkor baserade på användarfunktioner:

  • För varje användarfunktion bör en uppsättning villkor utarbetas.
  • Timing, dataförhållanden och andra faktorer som påverkar användarfunktionerna kan betraktas som parametrar.

#3) Testfall: Följande faktorer bör beaktas vid skapandet av testfall:

  • För varje scenario bör ett eller flera testfall skapas för att testa varje funktionalitet i användarfunktionerna.
  • Varje enskilt villkor bör tas upp som ett separat testfall.

Involverade mått

Växla till nästa viktiga aktiviteter eller mått som är involverade i denna testning:

  1. Status för förberedelserna av testfallet: Detta kan spåras i form av ett diagram för att representera framstegen för de planerade testfallen som håller på att förberedas.
  2. Veckovis uppföljning av testframsteg: Detta inkluderar en veckovis representation av testfallens genomförandeframsteg. Det kan återspeglas genom procentuell representation för fall som godkänts, misslyckats, utförts, inte utförts, ogiltiga etc.
  3. Status och detaljerad rapport för defekter: Statusrapporten bör utarbetas dagligen för att visa statusen för testfallets utförande samt de fel som hittats och loggats enligt deras allvarlighetsgrad. Varje vecka bör man beräkna den procentuella andelen öppna och stängda defekter. Dessutom bör felstatusen spåras varje vecka baserat på felets svårighetsgrad och prioritet.
  4. Testmiljö: Detta håller reda på den tilldelade testmiljötiden samt den testmiljötid som faktiskt använts under testningen.

Vi har nästan sett alla aspekter av denna testning. Låt oss nu skilja på ”systemtestning” och ”testning från början till slut”. Men innan dess ska jag ge er en grundläggande idé om ”systemtestning” så att vi lätt kan skilja mellan de två formerna av programvarutestning.

Systemtestning är den form av testning som innefattar en rad olika tester vars syfte är att utföra den fullständiga testningen av det integrerade systemet. Systemtestning är i grunden en form av black-box-testning där fokus ligger på programvarusystemens externa funktion ur användarens synvinkel med hänsyn tagen till verkliga förhållanden.

Systemtestning innebär:

  • Testning av en fullt integrerad applikation inklusive huvudsystemet.
  • Det är viktigt att fastställa hur komponenterna interagerar med varandra och inom systemet.
  • Verifiera det önskade resultatet på grundval av den indata som tillhandahålls.
  • Analysera användarens upplevelse när han eller hon använder olika aspekter av applikationen.

Ovanför har vi sett den grundläggande beskrivningen av systemtestning för att förstå den. Nu ska vi titta på skillnaderna mellan ”systemtestning” och ”testning från början till slut”.

S.nr. End to End Testing System Testing
1 Validates both the main Software system as well as all the interconnected Sub-Systems. As per the specifications provided in Requirement document, it just validates the software system.
2 The main emphasis is on verifying the end to end testing process flow. The main emphasis is on verifying and checking features and functionalities of the software system.
3 While performing testing, all the interfaces including the backend processes of the software system is taken under consideration. While performing testing, only the functional and the non- functional areas and their features are considered for testing.
4 End to End testing is executed /performed after the completion of System testing of any software system. System testing is basically performed after the completion of integration testing of software system.
5 Manual testing is mostly preferred for performing end to End testing as these form of testing involves testing of external interfaces also which can be very difficult to automate at times. And will make the whole process very complex. Both manual and automation testing can be performed as a part of System testing.

Conclusion

Hope you learned various aspects of End to End tests like its processes, metrics, and the difference between System testing and End to End testing.

För varje kommersiell utgåva av programvaran spelar End to End-verifiering en viktig roll eftersom den testar hela applikationen i en miljö som exakt efterliknar verkliga användare som nätverkskommunikation, databasinteraktion etc.

För det mesta utförs End to End-testet manuellt eftersom kostnaden för att automatisera sådana testfall är för hög för att kunna bekostas av varje organisation. Detta är inte bara fördelaktigt för systemvalidering utan kan också anses vara användbart för att testa extern integration.

Låt oss veta om du har frågor om end-to-end-testet.

Senast uppdaterad: Förnyad version: 18 februari 2021

Lämna ett svar

Din e-postadress kommer inte publiceras.