Regressie is het tegenovergestelde van progressie. Het betekent achteruitgang. In de IT betekent het dat de software achteruit gaat. Regressietesten zijn er op gericht vast te stellen of dit zo is: hebben wijzigingen in de software onbedoelde (negatieve) effecten?

In een regressietest test je dus niet de wijzigingen, maar de in principe ongewijzigde delen.

Het kan bijvoorbeeld dat een wijziging er voor zorgt dat er een veld bij komt of een veld wijzigt. In een regressietest test je dan of andere delen of andere systemen goed omgaan met het veld. Maar er kunnen ook subtielere effecten zijn van een wijziging. Misschien gebruiken andere delen ook wel delen van de software die is gewijzigd of wordt een scherm onbegrijpelijk door nieuwe velden of knoppen.

Regressieset

Een regressietest is dus vooral een hertest. De testen die je in een regressietest uitvoert heb je vaak al eerder uitgevoerd. De testset die je gebruikt voor een regressietest heet regressieset. Het is aan te raden alle testgevallen die je maakt (voor het testen van wijzigingen) ook in de regressietest op te nemen. Een regressietest bevat idealiter alle testen. Als je de gehele regressietest uitvoert dan voer je een complete hertest uit. Dit hoeft niet altijd: als je een goede risicoanalyse uitvoert of de wijziging is heel klein en je hebt veel vertrouwen dat er alleen maar regressie optreedt in een deel van het systeem, dan kun je de regressietest inperken.

Daarvoor is het wel noodzakelijk dat je je regressietest goed beheert: dat je eenvoudig alle testgevallen kunt selecteren die te maken hebben met een wijziging. Bovendien is een regressietest vaak een behoorlijke inspanning en moet je weten wie welke stukken kan en moet uitvoeren: een poliklinisch medewerker tandheelkunde kan de regressietest voor de intensive care waarschijnlijk niet uitvoeren.

Bovendien zullen er regressietesten zijn die ketentesten zijn: ketens van systemen maar ook procesketens van afdelingen of zelfs organisaties. Zo’n test moet gecoördineerd worden uitgevoerd: iedereen moet zijn taak weten en inzien wat de status van testen door anderen is. Zodat iedereen zijn taak efficient kan uitvoeren.

Een goede administratie van de regressieset én de regressievoortgang zijn daarmee noodzakelijk.

 

Een voorbeeld

Patiëntinformatie wordt uitgebreid met gegevens vanuit een apparaat die patiënten zelf bij zich dragen. Dit moet worden ingevoerd, er moet een koppeling komen en vervolgens zullen afdelingen in verschillende situaties gebruik willen maken van de gegevens. De eerste testen (nog geen regressietest) vinden plaats als een project en alle afdelingen doen mee. De wijziging gaat live.

Bij een volgende versie van de software worden een aantal kinderziekten opgelost. Een knop wordt verplaatst, een overzicht wordt uitgebreid en andere afdelingen worden aangesloten.

Dit wordt ook getest maar je wilt nu ook weten of andere afdelingen hun gegevens nog kunnen zien en of ze bijvoorbeeld niet te veel zien. Bovendien wil je het gehele proces kunnen garanderen omdat er veel van af hangt.

In zo’n situatie wil je alle testen uit het eerste project kunnen herhalen: een regressietest.

Waar staan de testgevallen? Weten we nog in welke volgorde handelingen moeten worden uitgevoerd? Wat moet afdeling A doen, zodat afdeling B zijn zaken nog goed kan zien?

Je hebt dan een administratie nodig waaruit dit soort zaken kunnen worden gehaald en waarin de uitgevoerde handelingen van afdeling A er toe leiden dat afdeling B weet dat ze een vervolgtest kunnen doen.

 

Tips!

Let bij regressietesten altijd op de volgende zaken:

  1. Te groot vertrouwen op steeds dezelfde regressieset. Je doet steeds dezelfde test. Deze werkte toch de vorige keer? Maar als je deze een aantal keer hebt uitgevoerd en je vindt steeds geen fouten dan moet je je afvragen of de testers de set nog wel met aandacht uitvoeren, of de set niet verouderd is, of je niet te veel test en of er niet eens wat andere testers moeten worden ingezet.
  2. Motivatie: steeds hetzelfde doen is vervelend. Regressietesten betekent herhaling.
    1. Laat testers eens andere delen testen of vraag andere gebruikers om te testen.
    2. Maak van regressietesten een gezamenlijk feestje. Regressietesten moet je in principe gezamenlijk uitvoeren, in één ruimte, op één moment, met alle afdelingen, met beheerders. Dat is overzichtelijk, stimulerend, efficiënt, inspirerend én gezellig! Bovendien leren verschillende afdelingen en medewerkers dan van elkaar.
    3. Vraag een testprofessional om te beoordelen wat er nodig is om (een deel van) de regressietesten te automatiseren. Let hierbij op: testautomatisering vraagt investering en onderhoud, hierdoor is het niet altijd kosteneffectief!
  3. De regressietesten worden niet goed onderhouden waardoor ze nieuwe risico’s niet dekken. Hierdoor test je elke keer hetzelfde en test je eigenlijk te veel. Bekijk goed wat de gevolgen zijn van wijzigingen voor de regressieset: moeten testgevallen worden bijgewerkt, toegevoegd of verwijderd?
  4. De rol van de testcoördinator is belangrijk: zij moet met een aantal ervaren medewerkers en beheerders de risico’s analyseren, zorgen dat nieuwe risico’s met testgevallen worden gedekt en een regressieset selecteren. Van daaruit moet zij de testers hun testopdracht geven en monitoren wat de voortgang is en wie wanneer aan zet is om acties uit te voeren in bijvoorbeeld ketentestgevallen.

 

Supportbook is een ideale tool om regressietesten op te zetten, te onderhouden, de testuitvoering aan te sturen en te monitoren. Bel 085-4848170 of stuur een mailtje naar info@supportbook.nl voor een demo!