Wat is regressietesten

Bo WesdorpMedeoprichter en CTO, Miyagami Praktijk3 min lezen

Regressietesten is het opnieuw uitvoeren van bestaande tests na een codewijziging, om te bevestigen dat functies die eerder werkten nog steeds werken. Het detecteert de bijeffecten van nieuwe werkzaamheden: een opgeloste bug die een aangrenzend scherm kapotmaakt, een refactor die een API-response verandert, een dependency-upgrade die het gedrag aanpast. Het werkt het best als een geautomatiseerde suite die bij elke wijziging wordt uitgevoerd.

Waarom ontstaan regressies

Software is op manieren met elkaar verbonden die niemand volledig in het hoofd heeft. Een wijziging in een gedeelde functie, een databasekolom of een configuratiewaarde bereikt code die de auteur nooit heeft geopend. Hoe groter de codebase, hoe meer plekken een kleine aanpassing kan raken. Regressietests maken die verborgen koppeling zichtbaar als een falende check in plaats van een supportticket.

Wat is het verschil tussen regressietesten en hertesten

Hertesten controleert of één specifieke bug is opgelost, met behulp van de test die de bug aan het licht bracht. Regressietesten controleert of de fix en alles eromheen niets anders heeft gebroken. Je hertest eerst, en voert daarna de regressiesuite uit. Beide zijn nodig, maar alleen regressietesten schaalt over een heel product.

Welke typen regressietesten zijn er

Teams kiezen doorgaans tussen drie scopes:

  • Volledige regressie. Voer alle tests uit. Traagst, gebruikt voor grote releases of na uitgebreide refactors.
  • Selectieve regressie. Voer de tests uit voor de modules die een wijziging raakt, plus hun afhankelijkheden.
  • Smoke-regressie. Voer bij elke commit een kleine set kritieke-padtests uit, zoals inloggen, afrekenen en kern-API-aanroepen.

Een verstandige opzet voert smoke-tests uit bij elk pull request, selectieve tests elke nacht en de volledige suite voor een release.

Hoe bouw je een regressiesuite die bruikbaar blijft

Begin met de paden waar een fout geld of vertrouwen kost. Voeg een test toe elke keer dat een bug de productieomgeving bereikt, zodat dezelfde bug niet kan terugkeren. Houd tests snel en onafhankelijk, want een trage of onbetrouwbare suite wordt genegeerd. Verwijder tests die geen echt gedrag meer beschrijven, want een suite die niemand vertrouwt beschermt niets.

Automatiseer de suite in je CI-pipeline en laat een rode build mergen blokkeren. Handmatige regressieronden zijn nog steeds nuttig voor verkennende controles en visuele review, maar ze moeten dekken wat automatisering niet kan, niet herhalen wat automatisering al doet.

Wat verandert er als AI de code schrijft

Codeeragents produceren wijzigingen snel en raken vaak meer bestanden dan een persoon in één sessie zou doen. Dat verhoogt de waarde van regressietests, omdat de reviewtijd per regel daalt terwijl het aantal wijzigingen stijgt. De suite wordt het contract waaraan de agent moet voldoen. Een zwakke suite betekent dat de agent hem kan doorstaan terwijl hij gedrag breekt dat niemand heeft vastgelegd.

Daarom is het testen van software die je niet zelf hebt ontworpen belangrijk: dekkingspercentages zeggen weinig, terwijl tests die aan echt gedrag zijn gekoppeld veel zeggen. Combineer een sterke suite met een zorgvuldige review van AI-gegenereerde code en zorg dat een persoon verantwoordelijk blijft voor wat er wordt gemerged.

Wat dit betekent als je inhuurt

Een goede engineer behandelt tests als onderdeel van de feature. Tijdens onze vetting werken kandidaten in een echte codebase gedurende twee sessies van zestig minuten, één zonder AI-tools en één met hun eigen agents, en de scorecards laten zien hoe ze wijzigingen verifiëren. Als je toegewijde testcapaciteit nodig hebt, bekijk dan QA engineers, vanaf €5.600 per maand voor een fulltime engineer.

Hoe vaak moet je regressietests uitvoeren

Zo vaak als je pipeline het toelaat. De snelle laag moet bij elke commit draaien, zodat een fout naar één wijziging wijst. Langzamere lagen kunnen elke nacht draaien. Het doel is een korte tijd tussen het breken van iets en het ontdekken ervan, want de kosten van een fix groeien bij elke wijziging die bovenop de slechte wordt gestapeld.

Korte antwoorden

Is regressietesten handmatig of geautomatiseerd?

Grotendeels geautomatiseerd. Handmatige ronden dekken verkennende en visuele controles die scripts niet goed kunnen beoordelen.

Wat is het verschil tussen regressietesten en smoke-testen?

Smoke-testen is een kleine, snelle controle van kritieke paden. Regressietesten is breder en controleert of bestaand gedrag nog steeds werkt na een wijziging.

Hoeveel regressietests heb je nodig?

Genoeg om de paden te dekken waar een fout geld of vertrouwen kost. Voeg een test toe voor elke bug die de productieomgeving bereikt.

Hebben AI-codeeragents regressietests nodig?

Ja. Agents passen code snel aan, en een goede testsuite is hoe een team bevestigt dat die wijzigingen bestaand gedrag niet hebben gebroken.

Laten we praten

Ontvang binnen drie dagen een shortlist

Je deelt de rollen en de stack in een kort formulier of in een gesprek van dertig minuten. Binnen drie werkdagen krijg je senior engineers op naam om te beoordelen, elk met beide scorecards, en je kunt binnen vijf werkdagen inhuren.

Beoordeeld opClutch39 beoordelingen
ISO 27001
Gecertificeerd

Plan een afspraak van dertig minuten met Dale

De kalender wordt aangeboden door HubSpot, dat zijn eigen cookies plaatst. Laad hem hier, of boek via de pagina van HubSpot.

Boekingspagina openen