Les tests E2E permettent de vérifier si les composants intégrés (comme le front-end, le back-end, les bases de données et les services tiers) fonctionnent bien ensemble. Les tests E2E intègrent des scénarios d’utilisation réels.
Un éventail complet de types de tests de logiciels est désormais disponible. Vous pouvez tester des zones spécifiques de toute une application, en vous concentrant sur l'aspect particulier qui vous intéresse, jusqu'au test unitaire de son plus petit niveau incrémental. Vous souhaiterez peut-être tester les performances du logiciel dans diverses fonctions spécifiques ou la manière dont ses différents composants s'intègrent les uns aux autres. Dans ce cas, il serait judicieux d'explorer les tests fonctionnels ou les tests d'intégration.
Mais supposons que votre objectif soit d’avoir une vue complète du fonctionnement de votre logiciel. Vous voulez voir l’application en action du début à la fin, et voir avec quelle efficacité elle gère ses sous-systèmes et les dépendances associées.
Outre ces étapes, supposons que vous souhaitiez également vous faire une idée du fonctionnement de l’interface utilisateur (UI). Quelle que soit l’approche de test que vous choisissez, elle devra prendre en compte la performance de l’application du point de vue de l’utilisateur.
Les tests E2E fournissent un cadre de test complet, qui offre une vision de bout en bout du comportement de l’application, ainsi que la possibilité d’évaluer la qualité de l’expérience utilisateur (UX).
Les tests E2E étant suffisamment ambitieux pour s’attaquer à l’ensemble du cycle de développement d’applications, ils requièrent sans surprise plus d’engagement, de ressources et de temps.
Les tests E2E diffèrent considérablement d'une stratégie de test « boîte noire », où le fonctionnement se résume à une évaluation « réussite/échec ». Cette stratégie implique que nous vérifions uniquement si l'application fonctionne comme prévu. Pour cette raison, l’E2E n’est pas le choix idéal pour tous les besoins. Il s'agit généralement d'un processus de test chronophage, qui convient particulièrement lorsque les testeurs ont réellement besoin d'évaluer chaque étape des performances de l'application.