Avant d'être livré, un logiciel doit passer par divers contrôles effectués par un testeur. Sa mission est de vérifier que l'application respecte le cahier des charges, qu'elle n'endommage pas le système informatique, qu'elle est compatible avec différents matériels et scénarios... En plus de réaliser les tests, le testeur prépare et analyse le travail en établissant une stratégie, en planifiant les actions, en créant des outils de tests, en interprétant les résultats et en rédigeant des rapports. En cas de dysfonctionnement détecté, il communique les problèmes au développeur en charge des corrections. Après chaque correction, le testeur vérifie à nouveau que tout fonctionne correctement, sans introduire de nouveaux bogues. Des échanges fréquents entre le service de tests et de développement sont souvent nécessaires.