Pour comprendre les différents tests, il faut considérer d'une application est un assemblage de modules.
Tests de composants ou tests unitaires : tester chaque module indépendamment des autres.
Tests d'intégration : tester que les modules fonctionnent bien ensemble.
Tests système et tests de validation : tester le logiciel dans un environnement le plus proche possible de la réalité,
Tests d'acceptation, tests alpha et bêta : tester le logiciel en production avec un public averti de la potentielle instabilité du logiciel.