Wat is eind-tot-eind-testen: E2E Testing Framework met voorbeelden
End-to-end testing is een software testmethodologie om een applicatie flow van begin tot eind te testen. Het doel van End-to-end testen is om het echte gebruikersscenario te simuleren en het te testen systeem en zijn componenten te valideren voor integratie en data integriteit.
Niemand wil bekend staan om zijn fouten en zijn nalatigheid, en hetzelfde is het geval met de Testers. Wanneer de testers een applicatie toegewezen krijgen om te testen, nemen zij vanaf dat moment de verantwoordelijkheid op zich en de applicatie fungeert tevens als platform om hun praktische en technische testkennis te tonen.
Dus, om het technisch te beschrijven, om er zeker van te zijn dat het testen volledig wordt uitgevoerd, is het noodzakelijk om “End to End testen” uit te voeren.
In deze tutorial leren we wat end to end testen is, hoe het wordt uitgevoerd, waarom het nodig is, wat de gebruikte matrices zijn, hoe je een end to end specifieke test case maakt en nog een paar andere belangrijke aspecten. We zullen ook leren over Systeem testen en vergelijken met End to End testen..
Real also => End to End Training op een Live Project – Gratis Online QA Training.
Wat is End-to-end testen?
End-to-end testen is een methodologie voor het testen van software om een applicatiestroom van begin tot eind te testen. Het doel van deze tests is het simuleren van een echt gebruikersscenario en het valideren van het geteste systeem en zijn componenten op integratie en gegevensintegriteit.
Het wordt uitgevoerd van begin tot eind onder realistische scenario’s zoals communicatie van de applicatie met hardware, netwerk, database en andere applicaties.
De belangrijkste reden voor het uitvoeren van deze tests is het bepalen van verschillende afhankelijkheden van een applicatie en ervoor te zorgen dat nauwkeurige informatie wordt gecommuniceerd tussen verschillende systeemcomponenten. Het wordt meestal uitgevoerd na de voltooiing van functionele en systeemtesten van een toepassing.
Laten we een voorbeeld nemen van Gmail:
Eind-tot-eind verificatie van een Gmail-account omvat de volgende stappen:
- Een Gmail-inlogpagina openen via een URL.
- Inloggen in een Gmail-account met geldige inloggegevens.
- Toegang tot Postvak In. Openen van Gelezen en Ongelezen e-mails.
- Een nieuwe e-mail opstellen, een e-mail beantwoorden of doorsturen.
- Openen van Verzonden items en e-mails controleren.
- E-mails in de map Spam controleren.
- Uitloggen uit Gmail-toepassing door op ‘uitloggen’ te klikken.
End-To-End Testing Tools
Aanbevolen tool:
#1) TestCraft
Wij raden aan een end-to-end testautomatiseringstool zoals TestCraft te gebruiken.
TestCraft is een codeloos Selenium-testautomatiseringsplatform. Dankzij de revolutionaire AI-technologie en unieke visuele modellering kunnen tests sneller worden gemaakt en uitgevoerd, terwijl de overhead voor testonderhoud wordt geëlimineerd.
De testers maken volledig geautomatiseerde testscenario’s zonder te coderen. Klanten vinden sneller bugs, releasen vaker, integreren met de CI/CD-aanpak en verbeteren de algehele kwaliteit van hun digitale producten. Dit alles zorgt voor een complete end-to-end testervaring.
=> Bezoek TestCraft Website
Hoe End-To-End Test werken?
Om een beetje meer te begrijpen, laten we eens kijken hoe het werkt?
Neem een voorbeeld van de banksector. Weinigen van ons zullen aandelen hebben geprobeerd. Wanneer een Demat-rekeninghouder een aandeel koopt, moet een bepaald percentage van het bedrag aan de makelaar worden gegeven. Wanneer de aandeelhouder dat aandeel verkoopt, of hij nu winst of verlies maakt, wordt een bepaald percentage van het bedrag opnieuw aan de makelaar gegeven. Al deze transacties worden in rekeningen weergegeven en beheerd. Het hele proces omvat risicobeheer.
Wanneer we naar bovenstaand voorbeeld kijken en daarbij de End-to-End test in gedachten houden, zullen we zien dat het hele proces meerdere nummers en verschillende transactieniveaus omvat. Het hele proces omvat vele systemen die moeilijk te testen kunnen zijn.
E2E-testmethoden
#1) Horizontale test:
Deze methode wordt zeer vaak gebruikt. Het vindt horizontaal plaats over de context van meerdere applicaties. Deze methode kan gemakkelijk voorkomen in een enkele ERP (Enterprise Resource Planning) applicatie. Neem het voorbeeld van een webgebaseerde toepassing van een online bestelsysteem. Het hele proces omvat de boekhouding, de voorraadstatus van de producten en de verzendingsgegevens.
2) Verticale test:
In deze methode worden alle transacties van een applicatie van begin tot eind geverifieerd en geëvalueerd. Elke afzonderlijke laag van de applicatie wordt van boven naar beneden getest. Neem een voorbeeld van een webgebaseerde toepassing die gebruikmaakt van HTML-codes om webservers te bereiken. In dergelijke gevallen is een API vereist om SQL-codes tegen de database te genereren. Al deze complexe computerscenario’s vereisen een goede validatie en speciale tests. Deze methode is dus veel moeilijker.
‘White Box testing’ en ‘Black Box Testing’ worden beide geassocieerd met dit testen. Of met andere woorden, we kunnen zeggen, dit is de combinatie van de voordelen van zowel white-box testing en black-box testing. Afhankelijk van het type software dat wordt ontwikkeld, worden op verschillende niveaus beide testtechnieken, d.w.z. white-box en black-box testen, gebruikt wanneer dat nodig is. In principe, voert End to End test functionele evenals de architecturale benadering voor om het even welke software of programma’s uit om systeemfuncties te valideren.
De Testers houden van End to End verificatie omdat het schrijven van testgevallen vanuit het perspectief van de gebruiker en in een echt-wereldscenario, de twee gemeenschappelijke fouten kan vermijden .d.w.z. “het missen van een insect” en “het schrijven van testgevallen die geen echte-wereldscenario’s verifià “ren”. Dit verstrekt testers, een immens gevoel van voltooiing.
Hieronder opgesomd zijn weinig richtlijnen die zouden moeten in gedachten worden gehouden terwijl het ontwerpen van de testgevallen voor het uitvoeren van dit type van het testen:
- Testgevallen zouden vanuit het perspectief van de eindgebruiker moeten worden ontworpen.
- De focus moet liggen op het testen van een aantal bestaande functies van het systeem.
- Meerdere scenario’s moeten worden overwogen voor het creëren van meerdere testgevallen.
- Verschillende sets van testgevallen moeten worden gemaakt om zich te concentreren op meerdere scenario’s van het systeem.
Zoals we elke test gevallen uit te voeren, hetzelfde is het geval met deze testen. Als de testcases “Pass” zijn, d.w.z. we krijgen de verwachte output, wordt gezegd dat het systeem met succes End to End test heeft doorstaan. Evenzo, als het systeem niet de gewenste output produceert, dan is een hertest van een test case nodig met in gedachten de gebieden van mislukking.
Waarom voeren we E2E testen uit?
In het huidige scenario, zoals ook getoond in het diagram hierboven, bestaat een modern software systeem uit zijn interconnectie met meerdere sub-systemen. Hierdoor zijn moderne softwaresystemen zeer gecompliceerd geworden.
De sub-systemen waarover we het hier hebben, kunnen zich binnen dezelfde organisatie bevinden, maar kunnen in veel gevallen ook van verschillende organisaties zijn. Ook kunnen deze subsystemen enigszins vergelijkbaar of verschillend zijn van het huidige systeem. Als gevolg hiervan, als er een storing of fout in een subsysteem, kan het nadelige gevolgen hebben voor het hele Software systeem leidt tot de ineenstorting.
Deze grote risico’s kunnen worden vermeden en kan worden gecontroleerd door dit type van het testen:
- Houd een controle en voer systeem flow verificatie.
- Verhoog de test dekking gebieden van alle subsystemen die betrokken zijn bij het software systeem.
- Ontdekt eventuele problemen met de subsystemen en verhoogt zo de productiviteit van het gehele softwaresysteem.
Hieronder vermeld zijn de enkele activiteiten die zijn opgenomen in het end to end proces:
- Een grondige studie van de eisen om dit testen uit te voeren.
- Een juiste opzet van testomgevingen.
- 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
We will look into all the 3 categories one by one:
#1) User Functions: De volgende acties moeten worden uitgevoerd als onderdeel van het bouwen van gebruikersfuncties:
- Lijst van functies van de softwaresystemen en hun onderling verbonden subsystemen.
- Voor elke functie, houd de uitgevoerde acties bij, evenals de Input en Output data.
- Vind de relaties, indien aanwezig, tussen verschillende Gebruikersfuncties.
- Ontdek de aard van verschillende gebruikersfuncties .d.w.z. als ze onafhankelijk zijn of herbruikbaar.
#2) Voorwaarden: Volgende activiteiten moeten worden uitgevoerd als onderdeel van het bouwen van voorwaarden op basis van gebruikersfuncties:
- Voor elke gebruikersfunctie moet een reeks voorwaarden worden opgesteld.
- Timing, Gegevensvoorwaarden en andere factoren die van invloed zijn op gebruikersfuncties kunnen worden beschouwd als parameters.
#3) Testgevallen: Volgende factoren moeten worden overwogen voor het bouwen van testcases:
- Voor elk scenario moeten een of meer testcases worden gemaakt om elke functionaliteit van de gebruikersfuncties te testen.
- Elke afzonderlijke voorwaarde moet worden opgenomen als een afzonderlijke testcase.
Metrics Involved
Op naar de volgende belangrijke activiteiten of metrics die betrokken zijn bij dit testen:
- Status van de voorbereiding van de testcases: Dit kan worden bijgehouden in de vorm van een grafiek om de voortgang van de geplande testgevallen die in voorbereiding zijn weer te geven.
- Wekelijkse bijhouden van Test vooruitgang: Dit omvat week wijs vertegenwoordiging van de testgevallen uitvoering vooruitgang. Het kan worden weergegeven door middel van procentuele weergave voor een pass, fail, uitgevoerd, niet uitgevoerd, ongeldig, etc cases.
- Status en gedetailleerd verslag voor Defects: De Status rapport moet worden opgesteld op een dagelijkse basis om de test case uitvoering status, alsmede defecten gevonden en gelogd per hun ernst te tonen. Wekelijks, zou het percentage van de open en gesloten gebreken moeten worden berekend. Ook, gebaseerd op defect ernst en prioriteit, gebreken status moet worden bijgehouden op een wekelijkse basis.
- Test omgeving: Dit houdt een spoor van de testomgeving tijdsduur toegewezen alsmede de testomgeving tijd daadwerkelijk gebruikt tijdens het uitvoeren van deze testing.
We hebben bijna gezien alle aspecten van deze testen. Laat ons nu onderscheid maken tussen “Systeemtesten” en “Eind tot eind testen”. Maar voordat dat laat me je een basis idee van “Systeem testen”, zodat we gemakkelijk kunnen onderscheiden tussen de twee vormen van software testen.
Systeem testen is de vorm van testen die een reeks van verschillende tests omvat waarvan het doel is het uitvoeren van de volledige testen van het geïntegreerde systeem. Systeemtesten is in feite een vorm van black-box testen waarbij de nadruk ligt op de externe werking van de softwaresystemen vanuit het oogpunt van de gebruiker, rekening houdend met de omstandigheden in de echte wereld.
Systeemtesten houdt in:
- Het testen van een volledig geïntegreerde toepassing, inclusief het hoofdsysteem.
- Bepaal de interactie tussen de componenten onderling en binnen het systeem.
- Verifieer de gewenste output op basis van de geleverde input.
- Analyseer de ervaring van de gebruiker tijdens het gebruik van verschillende aspecten van de applicatie.
Hierboven hebben we de basisbeschrijving van Systeemtesten gezien om het te begrijpen. Nu gaan we kijken naar de verschillen tussen “Systeemtesten” en “End-to-end testen”.
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.
Voor elke commerciële release van de software, speelt End to End verificatie een belangrijke rol, omdat het de gehele applicatie test in een omgeving die precies de echte gebruikers nabootst, zoals netwerk communicatie, database interactie, etc.
Merendeel, de end to end test wordt handmatig uitgevoerd, omdat de kosten van het automatiseren van dergelijke testgevallen te hoog zijn om door elke organisatie te kunnen worden veroorloofd. Dit is niet alleen gunstig voor systeem validatie, maar kan ook worden beschouwd als nuttig voor het testen van externe integratie.
Laat het ons weten als u vragen heeft over de end-to-end test.
Laatst bijgewerkt: 18 februari 2021