Einde om testen te beëindigen
End-to-end-testen is een softwaretestmethode die volledige software valideert van het begin tot het einde, samen met de integratie met externe interfaces. Het doel van end-to-end-testen is het testen van volledige software op afhankelijkheden, gegevensintegriteit en communicatie met andere systemen, interfaces en databases om een volledig productie-achtig scenario uit te voeren.
Samen met het softwaresysteem valideert het ook batch- / gegevensverwerking van andere upstream / downstream-systemen. Vandaar de naam "End-to-End" . End-to-end-tests worden meestal uitgevoerd na functionele en systeemtests. Het maakt gebruik van daadwerkelijke productie, zoals gegevens en testomgeving, om real-time instellingen te simuleren. End-to-End-testen wordt ook wel Chain Testing genoemd .
Waarom stoppen met testen?
End-to-end-tests verifiëren de volledige systeemstroom en vergroten het vertrouwen door problemen te detecteren en de testdekking van subsystemen te vergroten. Moderne softwaresystemen zijn complex en onderling verbonden met meerdere subsystemen die kunnen verschillen van de huidige systemen. Het hele systeem kan instorten door het falen van een subsysteem dat een groot risico vormt dat kan worden vermeden door end-to-end-tests.
Einde om testproces te beëindigen:
Het volgende diagram geeft een overzicht van het end-to-end-testproces.
De belangrijkste activiteiten die betrokken zijn bij end-to-end-tests zijn -
- Studie van end-to-end testvereisten
- Testomgeving instellen en hardware- / softwarevereisten
- Beschrijf alle systemen en de bijbehorende subsysteemprocessen.
- Beschrijving van rollen en verantwoordelijkheden voor alle systemen
- Testmethodologie en normen
- End-to-end volgen van vereisten en ontwerpen van testcases
- Invoer- en uitvoergegevens voor elk systeem
Hoe maak je end-to-end testcases aan?
End to End Testing Design framework bestaat uit drie delen
- Bouw gebruikersfuncties
- Bouwvoorwaarden
- Bouw testcases
Bouw gebruikersfuncties
De volgende activiteiten moeten worden uitgevoerd als onderdeel van het bouwen van gebruikersfuncties:
- Maak een lijst van de kenmerken van het systeem en hun onderling verbonden componenten
- Maak een lijst van de invoergegevens, actie en de uitvoergegevens voor elke functie of functie
- Identificeer de relaties tussen de functies
- Bepaal of de functie herbruikbaar of onafhankelijk kan zijn
Bijvoorbeeld - Overweeg een scenario waarin u inlogt op uw bankrekening en wat geld overmaakt naar een andere rekening van een andere bank ( subsysteem van de derde partij)
- Log in op het banksysteem
- Controleer het saldo op de rekening
- Maak een bedrag over van uw rekening naar een andere bankrekening ( subsysteem van de derde partij)
- Controleer uw laatste rekeningsaldo
- Uitloggen bij de applicatie
Bouwvoorwaarden op basis van gebruikersfunctie
De volgende activiteiten worden uitgevoerd als onderdeel van de bouwomstandigheden:
- Het bouwen van een reeks voorwaarden voor elke gedefinieerde gebruikersfunctie
- Voorwaarden omvatten volgorde, timing en gegevensvoorwaarden
Bijvoorbeeld -Controle van meer voorwaarden zoals
Login pagina
- Ongeldige gebruikersnaam en wachtwoord
- Controle met geldige gebruikersnaam en wachtwoord
- Wachtwoordsterkte controleren
- Controle van foutmeldingen
Saldo Bedrag
- Controleer het huidige saldo na 24 uur. (Als de overschrijving naar een andere bank wordt gestuurd)
- Controleer op de foutmelding als het overboekingsbedrag hoger is dan het huidige saldo
Bouw een testscenario
Bouwen van het testscenario voor de gedefinieerde gebruikersfunctie
In dit geval,
- Log in op het systeem
- Controle van het banksaldo
- Maak het banksaldo over
Bouw meerdere testcases
Bouw een of meer testcases voor elk gedefinieerd scenario. Testgevallen kunnen elke conditie als een enkele testcase omvatten.
Metrische gegevens voor end-to-end-testen:
Hieronder volgen enkele van de vele statistieken die worden gebruikt voor end-to-end-tests.
- Testcase-voorbereidingsstatus: het geeft de voortgang van de testcase-voorbereiding weer ten opzichte van de geplande
- Wekelijkse testvoortgang - Biedt wekelijkse details van het percentage voltooide test - Mislukt, niet uitgevoerd en uitgevoerd ten opzichte van geplande uitvoeringstests.
- Status en details van defecten - Het geeft het percentage open en gesloten defecten per week weer. Ook de weekgewijze verdeling van defecten op basis van ernst en prioriteit
- Omgeving Beschikbaarheid - Totaal aantal uren "omhoog" / Totaal aantal uren gepland per dag voor testen
End-to-end testen versus systeemtesten
Einde om testen te beëindigen | Systeemtesten |
---|---|
Valideert zowel het softwaresysteem als de onderling verbonden subsystemen | Valideert alleen het softwaresysteem volgens de specificaties van de vereisten. |
Het controleert de volledige end-to-end processtroom. | Het controleert systeemfunctionaliteiten en -kenmerken. |
Alle interfaces, backend-systemen komen in aanmerking voor testen | Functioneel en niet-functioneel testen komt in aanmerking voor testen |
Het wordt uitgevoerd zodra de systeemtest is voltooid. | Het wordt uitgevoerd na integratietests. |
End-to-end-tests omvatten het controleren van externe interfaces die moeilijk te automatiseren kunnen zijn. Daarom heeft handmatig testen de voorkeur. | Zowel handmatig als geautomatiseerd kunnen worden uitgevoerd voor systeemtests |
Gevolgtrekking
In Software Engineering is end-to-end-testen het proces dat een softwaresysteem en zijn subsystemen verifieert. De grootste uitdaging bij deze tests is om voldoende kennis te hebben van het hele systeem en van een onderling verbonden subsysteem.