Software testen: de ene test is de andere niet
Bij IT Test Talents werken we met meer dan honderd testexperts. Maar die doen niet allemaal hetzelfde. Elke tester heeft zijn eigen expertise en focusgebied. En dat is nodig ook, want het testen van software is de laatste jaren enorm toegenomen. Gelukkig maar. Softwaremakers zien de noodzaak ervan steeds meer in. Laten we eens een paar soorten testen onder de loep nemen.
Het is goed om eerst een onderscheid te maken tussen functioneel testen en andere testen. Tijdens Functioneel testen onderzoek je of de software doet wat die moet doen. Voordat er ook maar een regel code is geschreven, staat al vast wat de software moet kunnen. Door middel van functioneel testen kijken we of dat ook gelukt is.
Bij niet-functionele testen kijken we naar verwachtingen en prestaties onder bepaalde omstandigheden?
Functioneel testen
Dit begint bij unit testing. De ontwikkelaars zelf kijken of de kleinste stukjes code of codeobjecten naar behoren functioneren. Wat doet zo’n stukje code dan? Bijvoorbeeld een button die een ander stuk software aanroept.
Smoke testing is de test die moet laten zien of alle basisfuncties werken. Zo ja, dan kunnen de ontwikkelaars met deze versie van de software verder aan de slag.
Bij de systeemtest worden alle onderdelen aan elkaar geknoopt en gekeken of het nog steeds goed werkt. Typische bugs komen hier vaak naar voren. Invoer/uitvoer wordt niet goed afgevangen, type variabele is verkeerd waardoor de ontvangende code niet weet wat die ermee aan moet. Van die dingen.
Tijd om de software eens flink onder druk te zetten, want de software kan alle functionaliteiten hebben, als die in een webbrowser of op een specifieke computer niet vooruit te branden is, heb je er nog steeds niets aan. Onder meer met de loadtest, waarbij we kijken of er niets stuk gaat wanneer er meerdere gebruikers tegelijk met de software werken. Met de stresstest voeren we het aantal gebruikers, invoer en verwerkingen geleidelijk op. Een duurtest is precies het omgekeerde: een normale belasting gedurende langere tijd. Dit zijn dan allemaal testen die vallen onder performance testen.
Gebruikerstesten
Andere functionele testen zijn bijvoorbeeld de gebruikerstesten. Die zijn ook belangrijk, want als je er niet mee kunt werken, dan schiet de software alsnog zijn doel voorbij.
De regressietest wordt voortdurend uitgevoerd. Tijdens regressietesten wordt gecontroleerd of de niet aangepaste onderdelen van een applicatie nog steeds juist werken. Elke keer als er een stuk software bij het geheel komt, wordt de nieuwe versie getest.
Dan volgen uiteindelijk de echte gebruikerstesten, verdeeld in functionele acceptatietest en gebruikersacceptatietest. De eerste is bedoeld om te kijken of alles naar behoren werkt, alle functies nog steeds doen wat ze moeten doen, en of het allemaal logisch in elkaar steekt. Wanneer de eindgebruiker ook betrokken wordt bij het testen, hebben we het meestal over de bekende (en soms beruchte) betatest.
Andere testen
Buiten deze testen zijn er nog wat andere die in speciale gevallen gebruikt worden. Zo is er bijvoorbeeld de integratietest, waarin wordt gekeken of applicaties die afhankelijk zijn van elkaar goed met elkaar samenwerken. Gaat het om een nog groter geheel – hele systemen die met elkaar moeten kunnen praten – dan gaat het om een ketenintegratietest. En tenslotte zijn er nog testvarianten die naar specifieke zaken kijken zoals veiligheid (security testing).
Je ziet het, testen is geen kwestie van even een paar buttons drukken, maar een continu proces waar de vinger aan de pols wordt gehouden.
Overzicht nieuws