verschil tussen eenheidstest, systeemtest, integratietest en regressietest

verschil tussen eenheidstest, systeemtest, integratietest en regressietest

Eenheidstest

eenheidstests worden uitgevoerd op de afzonderlijke eenheden van een programma en zijn bedoeld om een afzonderlijk onderdeel te onderzoeken dat Voor het eerst is gewijzigd of geïntroduceerd. Elke test die bedoeld is om een enkele module te valideren, moet worden gepresenteerd met de bijbehorende technische documentatie, die onder andere de outputs zal bevatten die de geteste module naar verwachting zal leveren. De unit tests richten zich op de functionaliteit en betrouwbaarheid van de software en worden uitgevoerd in een testfase voorafgaand aan de systeemintegratie. Als een defect tijdens een eenheidstest wordt ontdekt, worden de aard en de impact ervan op het algemene systeem beoordeeld; het doel is om het op te lossen voordat de geteste module wordt goedgekeurd.

systeemtest

systeemtest wordt uitgevoerd op alle nieuwe of gewijzigde onderdelen en modules die een product kenmerken. Het doel is om te begrijpen hoe de verschillende unitaire blokken met elkaar interageren en of ze in het algemeen de vereiste outputs leveren; de nadruk wordt gelegd op het valideren en verifiëren van systeemvereisten en op hoe individuele modules samenwerken wanneer ze zijn verbonden. Meestal zijn de tests op het systeem meer dan één: de eerste verdient speciale vermelding (normaal “rooktest” genoemd), die tot doel heeft om in brede termen te bestuderen hoe het programma zich gedraagt en of de belangrijkste functies correct worden uitgevoerd, zonder stil te staan bij de details. Tests op het gehele systeem duren lang, omdat het noodzakelijk is een groot aantal uit te voeren om alle mogelijke scenario ‘ s die zich kunnen voordoen te analyseren; het testplan speelt op dit moment een zeer delicate rol, omdat het de beschrijving van de testcases, de volgorde waarin ze moeten worden uitgevoerd en de documentatie die nodig is om de resultaten op te sommen bevat. Wanneer een fout wordt ontdekt en verholpen, moet de test opnieuw worden uitgevoerd om ervoor te zorgen dat de aangebrachte correcties geen negatieve invloed hebben gehad op onderdelen die voorheen geen fouten hadden (de reeds genoemde regressietest).

integratietest

nadat de verschillende systeemtests zijn uitgevoerd, moet ervoor worden gezorgd dat het ontwikkelde programma de gewenste resultaten oplevert, zelfs als het wordt uitgevoerd in andere omgevingen dan de native: daarom moeten integratietests worden uitgevoerd, waarbij het product samen met andere interfaces en toepassingen wordt getest. In tegenstelling tot systeemtests, is het in integratietests niet nodig om opnieuw te testen als een defect wordt ontdekt nadat het is opgelost. De integratietests zijn onderverdeeld in verschillende groepen en kunnen al dan niet worden uitgevoerd, afhankelijk van de te testen toepassing:

  • compatibiliteitstest: garanderen dat de applicatie werkt met verschillende configuraties gebaseerd op die welke beschikbaar zijn voor de gebruiker
  • prestatietests: zij evalueren het vermogen van de toepassing om correct te functioneren wanneer, bijvoorbeeld, meerdere gebruikers gelijktijdig gebruiken of het aantal ingangen toeneemt
  • stresstests: zij testen de correcte werking van de toepassing wanneer deze wordt belast met ongewone werkbelasting
  • Load tests: zij vormen een aanvulling op de stresstests en evalueren de werking van de toepassing onder normale werklast

regressietest

de reeds in de vorige paragrafen genoemde regressietest wordt uitgevoerd wanneer de procedure van een programmadeel wordt gewijzigd nadat een defect is vastgesteld; wanneer een fout wordt gecorrigeerd, ontstaat de mogelijkheid dat een nieuwe onbedoeld wordt ingevoerd: Er ontstaat dus onzekerheid over het vermogen van de toepassing om alle eerder uitgevoerde functies opnieuw correct te herhalen. De regressietest wordt meestal parallel met andere tests uitgevoerd en kan worden beschouwd als een kwaliteitscontrole om ervoor te zorgen dat de zojuist gewijzigde code de functies die niet zijn gewijzigd, correct blijft uitvoeren en aan dezelfde eerder geverifieerde eisen voldoet . Concluderend kan worden gesteld dat de regressietest garandeert dat de rest van de aanvraag die niet is gewijzigd, niet wordt beïnvloed door fouten die voortvloeien uit de correctie van andere.

Leave a Reply