Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations
Nadat een team een fix voor een defect in de betalingsberekening heeft uitgebracht, voeren ze de tests opnieuw uit die eerder faalden (dat is hertesten) en draaien ze vervolgens de volledige regressiesuite voor de rest van het afrekenproces. Regressietesten controleert dat ongewijzigde gebieden — zoals de kortingslogica en de berekening van verzendkosten — zich na de wijziging nog steeds correct gedragen. Bij continue integratie draaien regressietests doorgaans automatisch bij elke codewijziging.
Wat is het verschil tussen regressietesten en hertesten? Bij hertesten worden de specifieke testgevallen uitgevoerd die de vorige keer faalden, om te controleren dat de fix heeft gewerkt. Regressietesten voert tests uit op eerder geteste, ongewijzigde functionaliteit om ervoor te zorgen dat de wijziging geen nieuwe defecten heeft geïntroduceerd. Na een fix zijn beide nodig.
Wanneer wordt regressietesten uitgevoerd? Telkens wanneer de software of de omgeving verandert: nieuwe functies, bugfixes, configuratiewijzigingen of infrastructuurupdates. Hoe groter de wijziging, hoe belangrijker de regressiedekking.
Hoeveel regressietesten is genoeg? Genoeg om het risico van de wijziging te dekken. Teams beginnen vaak met een rooktest over de kritieke paden en breiden daarna uit op basis van de impact van de wijziging en de beschikbare testautomatisering.
Is regressietesten een testniveau? Het is een testtype, geen niveau — regressietests kunnen op elk niveau draaien, van componenttesten tot systeemtesten, en komen vaak in meerdere fasen voor.