Tests end to end (test E2E) – Guide complet 2023 et exemple de tests de bout en bout 

Tests end to end (test E2E)

(Article sur le test end to end “test e2e” – mise à jour en 2023)

Les tests end to end, en français test de bout en bout (e2e), constituent une approche qui permet d’évaluer le fonctionnement d’un produit dans un processus de bout en bout. Les tests end to end vérifient que tous les composants d’un système sont capables de fonctionner de manière optimale dans des situations réelles. Le but ici est de vérifier le bon fonctionnement d’une application du début à la fin du parcours client. 

On vous dit tout sur ces tests e2e, indispensable à une bonne expérience client.  

Différents types de tests end to end

On trouve deux types de tests end to end (e2e) : tests e2e verticaux et tests e2e horizontaux. 

Tests E2E horizontaux

Au sein d’une seule application ERP (Entreprise Resource Planning) les tests e2e peuvent être composés de plusieurs programmes. Ainsi, les tests E2E horizontaux sont un moyen de tester dans le cas où il y a plusieurs programmes/fonctionnalités. 

Les tests end to end peuvent être utilisés de différentes manières. Dans le cadre d’une application web d’e-commerce, les tests e2e horizontaux pourraient comprendre :

  • La connexion à un profil 
  • L’utilisation des fonctions de recherche et de navigation 
  • L’ajout d’un article au panier 
  • L’enregistrement d’un article pour plus tard 
  • L’achat d’un article 
  • L’enregistrement des informations relatives à la livraison et paiement 
  • La confirmation de l’achat 
  • La déconnexion et bien plus encore…

Tests E2E verticaux

Dans cette méthode de tests e2e verticaux, les tests sont effectués étape par étape, en suivant un ordre chronologique et hiérarchique. Afin de garantir la qualité, chaque élément est testé du début à la fin. Les tests verticaux sont souvent utilisés pour vérifier les parties critiques du fonctionnement d’un système informatique.  

Prenons l’exemple d’une application Web qui utilise des codes HTML pour atteindre des serveurs Web. Dans de tels cas, l’API est requise pour générer des codes SQL sur la base de données. Ces scénarios informatiques nécessitent une validation approfondie et des tests dédiés. En raison de ces difficultés, cette méthode est beaucoup plus exigeante. 

Tests end to end : Comment utiliser les tests e2e ?  

Le test end to end peut s’appliquer de plusieurs manières. 

Avant tout test, l’équipe de conception et de développement utilise une liste de ce que l’interface utilisateur (ou une autre fonction) doit faire. Il est essentiel d’observer le flux de données d’un bout à bout afin d’identifier les dépendances, les failles et les incertitudes. Les critères doivent être définis avant le test e2e, notamment en ce qui concerne les facteurs susceptibles d’affecter l’interface, comme la latence ou le trafic.

Généralement, les tests e2e examinent les produits et systèmes finis ainsi que la manière dont ils communiquent entre eux. Si le produit ne fonctionne pas comme prévu on recherche à identifier le problème. Les données sont collectées et analysées pour identifier la source de l’erreur. Lorsque l’erreur est trouvée et par la suite corrigée, le système est retesté.

Voici quelques étapes pratiques pour réaliser des tests E2E :

  1. Déterminer les scénarios de test. 
  2. Identifiez les étapes de chaque scénario. 
  3. Utiliser ces étapes pour effectuer des tests manuels. 
  4. Automatisez les tests. 
  5. Ajoutez vos tests à l’intégration continue (pipeline CI/CD).

Les avantages des tests end-to-end

Les tests End to End offrent un certain nombre d’avantages. 

En effectuant des tests de bout en bout, vous pouvez vérifier un grand nombre de fonctionnalités en peu de temps. Grâce à ces tests e2e on peut s’assurer que tous les modules se connectent correctement entre eux.

Dans le domaine de l’e-commerce, les tests end to end sont généralement les fonctionnalités de vente et donc du chiffre d’affaires de l’entreprise, ce qui est très important. Afin d’améliorer l’expérience client, les e-commerçants peuvent mettre en place un test de bout en bout pour optimiser l’expérience client avec par exemple l’achat immédiat en un seul click d’un produit. 

Voici quelques avantages de tests e2e :

  • Augmenter la portée des tests 
  • Assurer le bon fonctionnement de l’application 
  • Réduire le temps nécessaire à la commercialisation de l’application 
  • Réduire les coûts 
  • Détecter les bogues 
  • Expérience client optimale

Les inconvénients des tests end to end

Les tests de bout en bout seront longs à exécuter car ils nécessitent un grand nombre d’étapes d’exécutions. Le retour d’expérience sera encore plus long à obtenir, car l’un des principaux inconvénients de ce type de test est qu’il est parfois assez difficile de les exécuter dans de bonnes conditions et ainsi de les valider. Il est également courant que ces tests incluent tellement de ressources externes dans un environnement de préproduction souvent peu stable que celui-ci sera compliqué à exécuter 

Les tests de bout en bout sont donc plus onéreux à maintenir à long terme et nécessiteront un investissement important en termes de temps. Par conséquent, de nos jours les différents types de cycles de conception de logiciels ont tendance à appliquer les principes de développement Agile tels que DevOps plutôt que les tests end to end.  

Quand effectuer les tests end to end ?

Les tests end to end représentent la catégorie de tests qui se trouve au sommet de la pyramide des tests. Ainsi, il est risqué de se fier qu’aux tests e2e dans une phase de recette, car nous ne pouvons pas garantir que la solution testée est sans bogues. En ne testant que les fonctions de base, nous ne serons pas exposés à des faux positifs. 

Également, nous ne serions pas en mesure d’identifier les régressions potentielles suite à des modifications du code concernant les parties que nous n’avons pas testées. Il est donc impératif d’effectuer ces tests de bout en bout à la fin de la phase de recette, une fois que tous les autres tests ont été effectués. Cela implique qu’il a d’autres types de tests a effectué qui couvrent finalement la grande majorité de l’application. 

Le test E2E fait figure de dernière étape qui validera, ou non, le lancement définitif d’un site web ou d’une application.

Cycle de vie des tests end to end

Le cycle de vie d’un test de bout en bout est constitué de quatre parties : la planification du test, la conception du test, la réalisation du test et l’analyse des résultats.  

  • Planification des tests : Spécifie les tâches principales, le planning qui en découle ainsi que les ressources. 
  • Conception des tests : Les spécifications de test, la création de scénarios de test, l’analyse des risques et de leur utilisation. 
  • Réalisation des tests : Exécuter les scénarios de test et rédiger les résultats des tests 
  • Analyse des résultats : Analyser les résultats des tests, les évaluer et effectuer des tests supplémentaires si nécessaire.

Exemple de tests end to end

Voici un exemple de test e2e manuel :

Ici les testeurs doivent vérifier les fonctionnalités d’un compte Gmail :

  1. Accéder à la page de connexion de Gmail. 
  2. Connectez-vous à un compte Gmail
  3. Accéder à la boîte de réception et ouvrez les e-mails. 
  4. Créer un nouvel e-mail 
  5. Répondre à un e-mail 
  6. Transférer un e-mail de votre boîte de réception 
  7. Ouvrez l’onglet « Message envoyés » et vérifier l’envoie de vos plusieurs mails de tests. 
  8. Ouvrez l’onglet « Spam ». 
  9. Supprimez des e-mails + ouvrez l’onglet de la corbeille. 
  10. Déconnectez-vous de votre compte Gmail.

Il s’agit d’un scénario de test simple pour tester toutes les fonctionnalités que doit avoir un compte Gmail.  Si toutes les fonctionnalités sont conformes et que l’expérience client optimale, l’application sera mise en service.

Test e2e : Conclusion

Cet article visait à clarifier ce qu’est un test de bout en bout, mais également à expliquer en quoi il est nécessaire. Les tests de bout en bout accompagnent d’autres types de tests comme les tests unitaires et d’intégration. Ils font partie d’une stratégie de test complète dont chaque organisation peut tirer profit. Cela est particulièrement vrai si vous automatisez vos tests de bout en bout.  

Les tests e2e sont parfois longs et fastidieux, toutefois indispensables pour offrir une expérience client optimale. Le test E2E fait figure de dernière étape qui validera, ou non, le lancement définitif d’un site web ou d’une application.

Les sites web et autres applications mobiles sont de plus en plus sophistiqués exigent que ces tests de simulations soient de plus en plus perfectionnés. Encore faut-il savoir comment tirer le meilleur parti de ces tests !

Découvrez ici les différents types de tests dans un projet un projet IT ou comment garantir la qualité globale d’un logiciel avec le Quality by Design / Quality Engineering.

source : https://katalon.com/resources-center/blog/end-to-end-e2e-testing