Testen is in het algemeen het vergelijken van de huidige output tegen de verwachting met als doel hebben om te controleren of het systeem de door de klant gedefinieerde eisen respecteert.
Testen moet voldoen aan de behoefte aan informatie over de verschillen tussen het systeem en de gedefinieerde eisen. Maar meer dan dat, moeten we de oorzaken achter de problemen identificeren en helpen tot oplossing.
Dus op basis van de analysis worden de oorzaken bepaald, het probleem opgelost en we kunnen toekomstige risico's voorzien. Samengevat, de kwaliteit van het systeem zal worden verbeterd.
Een kwaliteitsprincipe, ook ondersteund door Agile, is dat het beter is om te voorzien dan om op te lossen. Een hoog defect dat in een vroeg stadium is opgelost, bijvoorbeeld tijdens de bouw, kost minder dan een cosmetische issue in de productie.
Wanneer bij handmatige test loopt de tester de testgevallen handmatig door, bij geautomatiseerde test maakt hij gebruik van afzonderlijke software (soms eigen ontwikkelde code )
om de testuitvoer te doen en de uitkomst automatisch te vergelijken met de voorspelde resultaten. Test die zo worden uitgevoerd, kan altijd herhaald worden met veel voordelen: