Elk softwareproduct dat de testfase heeft overgeslagen, ondermaats presteert of voor verbetering vatbaar is, moet grondig worden getest. De software kan in alle stadia en in alle aspecten worden getest - of het nu gaat om functionele, prestatie-, beveiligings- of bruikbaarheidstests in de ontwerp-, ontwikkelings- of laatste fase.