Published On: 14 décembre 20214,1 min read

Jouer ses tests en série ou en parallèle ?

Nous allons voir dans cet article quelle est la différence entre des tests de non-régression automatisé qui se jouent en série ou en parallèle et les critères qui vont permettre de choisir si les tests doivent se jouer en série ou en parallèle

Lancer des tests de non-régression automatisés en série ou en parallèle

Automatiser le lancement de tests en série, signifie que les tests se joueront les un à la suite des autres dans un ordre bien défini. Au contraire, automatiser le lancement de tests de non régression en parallèle signifie que plusieurs tests seront joués en même temps sur différentes machines.

Les critères discriminants

Le workflow fonctionnel des plateformes à tester

Dans le cas de parcours fonctionnels très spécifiques, certaines actions doivent nécessairement être effectuées dans un ordre bien précis. L’exécution en série permettra de pouvoir vérifier l’évolution d’un item de l’état initial à un état final. Dans ces cas précis, les tests doivent se jouer les uns à la suite des autres obligatoirement pour permettre au parcours complet de s’exécuter correctement. Il est possible grâce à cela d’accéder à différentes plateformes pour visualiser les différentes données et valeurs associées.

Par exemple, lors d’un test, on peut tester plusieurs éléments:

  • Passage d’une commande
  • Validation du paiement de la commande
  • Prise en compte de la commande
  • Validation de la commande
  • Expédition de la commande
  • Réception de la commande
  • Clôture de la commande

L’inconvénient de ce type de circuit est que si une étape a une source d’erreur à la lecture, l’ensemble des tests suivants sont en erreur.

L’impact des jeux de données

Parfois, les comptes de connexion utilisés dans les tests ne permettent pas d’avoir plusieurs connexions simultanées. Il faut donc privilégier le lancement en série si un seul compte de connexion est disponible pour les tests.

Connexion multiple possible :

Connexion multiple impossible :

Par ailleurs, certains jeux de données sont dépendants des parcours effectués précédemment. Ce qui implique une rigueur dans la chronologie d’exécution des tests.

Les contraintes techniques des plateformes testées

Les tests de non-régression sont le plus souvent automatisés sur des plateformes de recette ou de pré-production. Généralement, l’infrastructure de ces plateformes est moins robuste que les plateformes de production. Et ainsi il y a une plus faible résistante car il est possible qu’elle ne supporte pas la connexion d’un grand nombre d’automates en simultanée.

Si aucune contrainte n’est imposée par les parcours, par les jeux de données ou par l’infrastructure des plateformes testées, le fait de faire jouer les tests en parallèle a le gros avantage de réduire considérablement la durée d’exécution de l’ensemble de la couverture de tests lors d’une phase de non régression.

Il est possible de tester et d’exécuter plusieurs tests sur plusieurs types de navigateurs et plusieurs devices en même temps

Dans une démarche d’intégration continue, la vitesse d’exécution des tests de non-régression est un atout considérable. Elle permet de tester plus en un minimum de temps et d’avoir un « feed-back » sur la qualité du code testé très rapidement.

Les contraintes techniques des plateformes qui testent

Néanmoins, la plateforme qui permet l’automatisation des tests doit aussi avoir une architecture adaptée aux besoins.

Le lancement des tests en série implique qu’ils sont joués les uns à la suite des autres obligatoirement. Dans ce cas-là, l’intérêt est qu’une seule machine jouant les tests automatiquement est nécessaire. La gestion de l’infrastructure supportant le lancement des automates et la maintenance associée sera moins importante car une seule session sera nécessaire pour lancer l’ensemble de la couverture de test.

Pour le lancement de tests en parallèle, si on considère qu’une session peut lancer un test à la fois, plus il y aura de sessions disponibles pour lancer les tests automatisés et plus la durée d’exécution des tests sera courte.

Conclusion

Pour avoir une couverture de tests de non-régression automatisée et optimisée, il est important de mixer les deux types de jeux de tests en fonction des besoins. Vous pouvez donc utiliser différents modes de test : le mode de test en série ou en parallèle. Le mieux est de faire une combinaison des deux.

Testez plus vite
et mieux avec les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing

Testez plus vite et mieux avec
les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing