what is end end testing
Wat is end-to-end testen: E2E-testraamwerk met voorbeelden
End-to-end-testen is een softwaretestmethodologie om een applicatiestroom van begin tot eind te testen. Het doel van end-to-end-testen is het simuleren van het echte gebruikersscenario en het valideren van het te testen systeem en zijn componenten voor integratie en gegevensintegriteit.
Niemand wil bekend staan om hun fouten en hun nalatigheid, en hetzelfde is het geval met de testers. Wanneer de Testers een applicatie krijgen toegewezen om te testen, nemen zij vanaf dat moment de verantwoordelijkheid en fungeert de applicatie tevens als platform om hun praktische en technische testkennis te tonen.
Dus om het technisch te beschrijven, om ervoor te zorgen dat het testen volledig wordt uitgevoerd, is het noodzakelijk om ' Einde om testen te beëindigen
In deze tutorial zullen we leren wat end-to-end testen is, hoe het wordt gedaan, waarom het nodig is, welke matrices worden gebruikt, hoe we een einde kunnen maken aan specifieke testgevallen en enkele andere belangrijke aspecten. We zullen ook leren over systeemtesten en deze vergelijken met de end-to-end-test.
Echt ook End-to-end training voor een live project - Gratis online QA-training.
Wat je leert:
html interviewvragen en antwoorden pdf
- Wat is een end-to-end-test?
- End-to-end testtools
- Hoe werkt een end-to-end-test?
- E2E-testmethoden
- Waarom voeren we E2E-tests uit?
- E2E Testing Design Framework
- Betrokken statistieken
- Gevolgtrekking
Wat is een end-to-end-test?
End-to-end-testen is een softwaretestmethodologie om een applicatiestroom van begin tot eind te testen. Het doel van deze tests is het simuleren van het echte gebruikersscenario en het valideren van het te testen systeem en zijn componenten voor integratie en gegevensintegriteit.
Het wordt van begin tot eind uitgevoerd 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 om de verschillende afhankelijkheden van een applicatie te bepalen en om ervoor te zorgen dat nauwkeurige informatie wordt gecommuniceerd tussen verschillende systeemcomponenten. Het wordt meestal uitgevoerd na voltooiing van functionele en systeemtests van een applicatie.
Laten we een voorbeeld van Gmail nemen:
De end-to-end-verificatie van een Gmail-account omvat de volgende stappen:
- Een Gmail-inlogpagina openen via URL.
- Inloggen op Gmail-account met geldige inloggegevens.
- Toegang tot Inbox. Gelezen en ongelezen e-mails openen.
- Een nieuwe e-mail opstellen, een e-mail beantwoorden of doorsturen.
- Verzonden items openen en e-mails controleren.
- E-mails in de map Spam controleren
- Uitloggen bij de Gmail-applicatie door op ‘uitloggen’ te klikken
End-to-end testtools
Aanbevolen tool:
# 1) TestCraft
We raden aan om een end-to-end testautomatiseringstool zoals TestCraft te gebruiken.
TestCraft is een codeloos Selenium-testautomatiseringsplatform. De revolutionaire AI-technologie en unieke visuele modellering zorgen ervoor dat tests sneller kunnen worden gemaakt en uitgevoerd, terwijl de overhead voor testonderhoud wordt geëlimineerd.
De testers creëren volledig geautomatiseerde testscenario's zonder codering. Klanten vinden bugs sneller, komen vaker vrij, integreren met de CI / CD-benadering en verbeteren de algehele kwaliteit van hun digitale producten. Dit alles zorgt voor een complete end-to-end testervaring.
Bezoek de TestCraft-website
Hoe werkt een end-to-end-test?
Om wat meer te begrijpen, laten we het uitzoeken Hoe het werkt?
Pak eenvoorbeeldvan de banksector. Weinigen van ons moeten het geprobeerd hebben Aandelen. Wanneer een Demat-accounthouder een aandeel koopt, moet een bepaald percentage van een bedrag aan de makelaar worden gegeven. Wanneer de aandeelhouder dat aandeel verkoopt, of hij nu winst of verlies krijgt, wordt een bepaald percentage van het bedrag weer aan de makelaar gegeven. Al deze transacties worden weergegeven en beheerd in rekeningen. Het hele proces omvat risicobeheer.
Als we naar het bovenstaande voorbeeld kijken en de end-to-end-test in gedachten houden, zullen we zien dat het hele proces zowel meerdere getallen als verschillende transactieniveaus omvat. Het hele proces omvat veel systemen die moeilijk te testen kunnen zijn.
E2E-testmethoden
# 1) Horizontale test:
Deze methode wordt heel vaak gebruikt. Het komt horizontaal voor in de context van meerdere applicaties. Deze methode kan gemakkelijk plaatsvinden in een enkele ERP-applicatie (Enterprise Resource Planning). Neem een voorbeeld van een webgebaseerde toepassing van een online bestelsysteem. Het hele proces omvat accounts, voorraadstatus van de producten en verzendgegevens.
# 2) Verticale test:
Bij deze methode worden alle transacties van elke toepassing vanaf het begin tot het einde geverifieerd en geëvalueerd. Elke afzonderlijke laag van de applicatie wordt van boven naar beneden getest. Neem een voorbeeld van een webtoepassing die HTML-codes gebruikt om webservers te bereiken. In dergelijke gevallen is een API vereist om SQL-codes voor de database te genereren. Al deze complexe computerscenario's vereisen een goede validatie en toegewijde tests. Deze methode is dus veel moeilijker.
White Box-testen net zoals Black Box-testen beide zijn geassocieerd met dit testen. Of met andere woorden, we kunnen zeggen dat dit de combinatie is van voordelen van zowel white-box-testen als black-box-testen. Afhankelijk van het type software dat wordt ontwikkeld, worden op verschillende niveaus zowel de testtechnieken, d.w.z. white box- als black box-testen, gebruikt wanneer dat nodig is. Kortom, End to End-test voert zowel een functionele als de architectonische benadering uit voor alle software of programma's om systeemfuncties te valideren.
De testers zoals End-to-End-verificatie omdat het schrijven van testcases van de gebruiker s perspectief en in een real-world scenario, kunnen de twee veelgemaakte fouten vermijden. dat wil zeggen. een fout missen en het schrijven van testcases die geen realistische scenario's verifiëren Dit geeft testers een enorm gevoel van voldoening.
Hieronder staan enkele richtlijnen die in gedachten moeten worden gehouden bij het ontwerpen van de testcases voor het uitvoeren van dit type testen:
- Testcases moeten worden ontworpen vanuit het perspectief van de eindgebruiker.
- Moet zich concentreren op het testen van enkele bestaande functies van het systeem.
- Meerdere scenario's moeten worden overwogen om meerdere testcases te maken.
- Er moeten verschillende sets testcases worden gemaakt om te focussen op meerdere scenario's van het systeem.
Aangezien we eventuele testcases uitvoeren, is hetzelfde het geval bij deze tests. Als de testcases ‘Pass’ zijn, d.w.z. we krijgen de verwachte output, wordt er gezegd dat het systeem met succes de End to End-test heeft doorstaan. Evenzo, als het systeem niet de gewenste output produceert, is een nieuwe test van een testcase vereist, rekening houdend met de faalgebieden.
Waarom voeren we E2E-tests uit?
In het huidige scenario, zoals ook getoond in het bovenstaande diagram, omvat een modern softwaresysteem de onderlinge verbinding met meerdere subsystemen. Hierdoor zijn moderne softwaresystemen erg gecompliceerd geworden.
Deze subsystemen waar we het over hebben, kunnen zich binnen dezelfde organisatie bevinden of in veel gevallen kunnen ze ook van verschillende organisaties zijn. Ook kunnen deze subsystemen enigszins vergelijkbaar of verschillend zijn van het huidige systeem. Het resultaat is dat als er een storing of fout is in een subsysteem, dit een negatief effect kan hebben op het hele Softwaresysteem, wat leidt tot het ineenstorten.
Deze grote risico's kunnen worden vermeden en kunnen worden beheerst door dit type testen:
- Houd een controle en voer de systeemstroomverificatie uit.
- Vergroot de testdekkingsgebieden van alle subsystemen die bij het softwaresysteem betrokken zijn.
- Detecteert eventuele problemen met de subsystemen en verhoogt zo de productiviteit van het hele softwaresysteem.
Hieronder staan de enkele activiteiten die zijn opgenomen in het end-to-end-proces:
- Een grondige studie van de vereisten om deze tests uit te voeren.
- Gepast opzetten van testomgevingen.
- Een grondige studie van hardware- en softwarevereisten.
- Beschrijvingen van alle subsystemen en het belangrijkste betrokken softwaresysteem.
- Maak een beroep op de rollen en verantwoordelijkheden voor alle betrokken systemen en subsystemen.
- Testmethoden die bij deze tests worden gebruikt, evenals normen die worden gevolgd, de beschrijving ervan.
- Testcases ontwerpen en traceren van vereistenmatrix.
- Registreer of bewaar de invoer- en uitvoergegevens voor elk systeem.
E2E Testing Design Framework
We zullen alle drie de categorieën een voor een bekijken:
# 1) Gebruikersfuncties: De volgende acties moeten worden uitgevoerd als onderdeel van het bouwen van gebruikersfuncties:
- Opsomming van kenmerken van de softwaresystemen en hun onderling verbonden subsystemen.
- Houd voor elke functie de uitgevoerde acties bij, evenals de invoer- en uitvoergegevens.
- Zoek de eventuele relaties tussen verschillende gebruikersfuncties.
- Ontdek de aard van de verschillende gebruikersfuncties. Dat wil zeggen. als ze onafhankelijk zijn of herbruikbaar zijn.
# 2) Voorwaarden: De volgende activiteiten moeten worden uitgevoerd als onderdeel van de bouwomstandigheden op basis van gebruikersfuncties:
- Voor elke gebruikersfunctie moet een reeks voorwaarden worden opgesteld.
- Timing, gegevenscondities en andere factoren die de gebruikersfuncties beïnvloeden, kunnen als parameters worden beschouwd.
# 3) Testgevallen: De volgende factoren moeten in overweging worden genomen bij het bouwen van testcases:
- Voor elk scenario moeten een of meer testgevallen worden gemaakt om elke functionaliteit van de gebruikersfuncties te testen.
- Elke voorwaarde moet worden aangemeld als een afzonderlijke testcase.
Betrokken statistieken
Overgaan naar de volgende belangrijke activiteiten of statistieken die bij deze tests zijn betrokken
- Status van voorbereiding testcase: Dit kan worden gevolgd in de vorm van een grafiek om de voortgang weer te geven van de geplande testgevallen die in voorbereiding zijn.
- Wekelijks bijhouden van de voortgang van de test: Dit omvat een wekelijkse weergave van de voortgang van de uitvoering van de testcases. Het kan worden weerspiegeld door middel van een procentuele weergave voor gevallen van geslaagd, mislukt, uitgevoerd, niet uitgevoerd, ongeldig, enz.
- Status en gedetailleerd rapport voor defecten: Het statusrapport moet dagelijks worden opgesteld om de uitvoeringsstatus van de testcase weer te geven, evenals de gevonden en gelogde defecten volgens hun ernst. Wekelijks moet het percentage open en gesloten defecten worden berekend. Op basis van de ernst en prioriteit van het defect, moet de status van defecten wekelijks worden gevolgd.
- Test omgeving: Dit houdt de toegewezen tijdsduur van de testomgeving bij, evenals de werkelijk gebruikte tijd van de testomgeving tijdens het uitvoeren van deze tests.
We hebben bijna alle aspecten van deze tests gezien. Nu laten we differentiëren Systeemtesten en Einde om testen te beëindigen Maar laat me u eerst een basisidee geven van 'Systeemtesten', zodat we gemakkelijk een onderscheid kunnen maken tussen de twee vormen van software testen
Systeem testen is de testvorm die een reeks verschillende tests omvat die tot doel hebben de volledige tests van het geïntegreerde systeem uit te voeren. Systeemtesten is in feite een vorm van black-box-testen waarbij de focus ligt op de externe werking van de softwaresystemen vanuit het oogpunt van de gebruiker, waarbij rekening wordt gehouden met de reële omstandigheden.
Systeemtesten omvatten:
- Het testen van een volledig geïntegreerde applicatie inclusief het hoofdsysteem.
- Bepaal welke componenten met elkaar en binnen het systeem interageren.
- Verifieer de gewenste output aan de hand van de geleverde input.
- Analyse van de gebruikerservaring 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.No. | Einde om testen te beëindigen | Systeemtesten |
---|---|---|
1 | Valideert zowel het hoofdsoftwaresysteem als alle onderling verbonden subsystemen. | Volgens de specificaties in het vereiste document, valideert het alleen het softwaresysteem. |
twee | De belangrijkste nadruk ligt op het verifiëren van de end-to-end testprocesstroom. | De belangrijkste nadruk ligt op het verifiëren en controleren van kenmerken en functionaliteiten van het softwaresysteem. |
3 | Tijdens het testen wordt rekening gehouden met alle interfaces, inclusief de backend-processen van het softwaresysteem. | Tijdens het testen wordt alleen rekening gehouden met de functionele en niet-functionele gebieden en hun kenmerken. |
4 | End-to-end-tests worden uitgevoerd / uitgevoerd nadat de systeemtest van een softwaresysteem is voltooid. | Systeemtesten worden in principe uitgevoerd nadat de integratietest van het softwaresysteem is voltooid. |
5 | Handmatig testen heeft meestal de voorkeur voor het uitvoeren van end-to-end-tests, aangezien deze vorm van testen ook het testen van externe interfaces omvat, wat soms erg moeilijk te automatiseren is. En maakt het hele proces erg complex. | Zowel handmatige als automatiseringstests kunnen worden uitgevoerd als onderdeel van systeemtests. |
Gevolgtrekking
Ik hoop dat je verschillende aspecten van end-to-end-tests hebt geleerd, zoals de processen, statistieken en het verschil tussen systeemtests en end-to-end-tests.
Voor elke commerciële release van de software speelt End to End-verificatie een belangrijke rol, omdat het de volledige applicatie test in een omgeving die gebruikers uit de echte wereld exact imiteert, zoals netwerkcommunicatie, database-interactie, enz.
Meestal wordt de end-to-end-test handmatig uitgevoerd, omdat de kosten voor het automatiseren van dergelijke testgevallen te hoog zijn om door elke organisatie te worden betaald. Dit is niet alleen gunstig voor systeemvalidatie, maar kan ook als nuttig worden beschouwd voor het testen van externe integratie.
Laat het ons weten als u vragen heeft over de end-to-end test.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Belangrijkste verschillen tussen Black Box-tests en White Box-tests
- Primer eBook downloaden testen
- Functioneel testen versus niet-functioneel testen
- Software Testcursus Syllabus - Online cursus Gedetailleerd trainingsplan
- Wat is duurtesten bij softwaretests (voorbeelden)
- Black Box-testen: een diepgaande zelfstudie met voorbeelden en technieken
- Wat is componenttesten of moduletesten (leer met voorbeelden)