Testen bestrijkt de hele softwarelevenscyclus, niet alleen het uitvoeren van het programma. Voor een salarisadministratiesysteem omvat testen het reviewen van de eisen op volledigheid (statisch testen), het ontwerpen van testgevallen uit de loonstrookregels, het uitvoeren ervan tegen het systeem (dynamisch testen) en het beoordelen of het systeem geschikt is voor het doel. Het doel is vast te stellen dat het systeem voldoet aan de gespecificeerde eisen, geschiktheid voor het doel aan te tonen en defecten op te sporen.
Wat is het verschil tussen testen en debuggen? Testen is een proces van plannen, voorbereiden en evalueren om defecten te vinden en kwaliteit aan te tonen. Debuggen is de ontwikkelactiviteit van het lokaliseren en verhelpen van de oorzaak van een gevonden defect. Testen vindt het defect; debuggen verwijdert het.
Gaat testen alleen over het uitvoeren van de software? Nee. Testen omvat statische activiteiten zoals reviews van eisen, ontwerp en code. Statisch testen vindt defecten zonder de software uit te voeren, vaak eerder en goedkoper.
Wat betekent ‘geschikt voor het doel’? Dat de software in de praktijk aantoonbaar voldoet aan de behoeften van de gebruikers en belanghebbenden, verder dan de letter van de gespecificeerde eisen.
Kan testen de afwezigheid van defecten bewijzen? Nee. Testen kan alleen de aanwezigheid van defecten aantonen, niet hun afwezigheid — volledig testen is onmogelijk, behalve in triviale gevallen.