Le développement agile étant devenu la nouvelle habitude habituelle, la prestation fréquente de services améliorés a transformé les modèles de processus métier. La question est de savoir pourquoi. Eh bien, la réponse simple est l’acquisition et la fidélisation de la clientèle par la fourniture en temps opportun de produits ou de services de qualité pour satisfaire les besoins en évolution rapide des clients. La question suivante est de savoir si cela compromet la qualité. La réponse courte est « test de performance ». Encore une fois, pourquoi investir dans les tests alors que cela peut retarder la publication de la version ? Eh bien, ce n’est pas un gros compromis, car les tests sont l’épine dorsale de la qualité sans laquelle tout l’objectif de l’agilité s’effondrerait. C’est la raison pour laquelle des outils et des techniques de test plus intelligents sont introduits. Test canari pour Les tests de performance gagnent du terrain ces jours-ci.

Aujourd’hui, les utilisateurs sont offerts un tel niveau de variété dans les applications que même 5 secondes de retard dans le temps de chargement du site Web et le temps de réponse supérieur à huit secondes peut vous causer une perte majeure. Par exemple, en 2013, seulement un temps d’arrêt de 5 minutes de Google a fait perdre à l’entreprise près de 545 000 $. De même, en janvier 2016, une mise à jour logicielle a provoqué l’arrêt du fonctionnement du thermostat Nest et a laissé de nombreux utilisateurs froids, qui ont ensuite dénoncé le problème sur les médias sociaux. En outre, il n’y a pas si longtemps, la panne d’Amazon Web Service a causé une perte de ventes de 1100 $ par seconde.

Jetons un coup d’oeil aux essais de canari, à sa signification, avantages, et aux inconvénients, ainsi nous pouvons justifier son importance.

Test de charge JMeter avec LoadView

De la configuration à l’exécution du test en quelques minutes.

Qu’est-ce que les tests canaries?

Canary testing, Canary Release et Canary Deployment sont les termes utilisés alternativement pour une technique qui permet une livraison continue tout en minimisant les risques. Le processus est de déployer une mise à jour logicielle à un groupe sélectionné d’utilisateurs pour les tests. La méthode a obtenu son nom des oiseaux canaris qui ont été utilisés comme détecteurs de gaz toxiques dans les mines de charbon dans le passé. Les Canaries sont plus sensibles aux gaz toxiques que les humains, donc, ils tombent immédiatement malades ou meurent à de faibles niveaux d’exposition. Cela a aidé les mineurs à évacuer les mines et à échapper au danger avant qu’il ne soit trop tard.

 

Stratégie de déploiement

De même, dans les tests canaris, les canaris sont un petit groupe d’utilisateurs qui connaissent les dernières mises à jour logicielles, et leurs commentaires aident l’équipe de développement à décider si la nouvelle version doit être mise à la disposition de tous les utilisateurs ou les modifications doivent être annulées rapidement. Les essais canaries sont une application de changement parallèle qui se fait sur un environnement de production distinct auquel seuls quelques utilisateurs sélectionnés sont acheminés, tandis que la majorité est conservée sur l’ancien environnement de production. Cette migration des utilisateurs dure jusqu’à ce que tous les utilisateurs aient été déplacés vers la nouvelle version. Il s’agit d’une approche progressive qui favorise l’innovation et réduit le risque de perturbation à un niveau de masse.

 

Stratégie de restauration

Si la nouvelle version s’avère extrêmement erronée et constitue une grande menace pour l’expérience utilisateur, au lieu d’inverser les changements dans l’environnement de production; Les utilisateurs sont redirigés vers l’ancienne version stable. Pendant ce temps, l’équipe de développement s’efforce de corriger les bogues.

 

Qui sont les utilisateurs sélectionnés?

La question suivante est de savoir qui seront les utilisateurs touchés par votre mise à jour logicielle? Eh bien, il existe différentes façons de décider sur les utilisateurs de canaris, tels que:

  • Il peut s’agir des équipes de test interne ou distribuées à distance
  • À partir d’une région spécifique, en cas d’utilisateurs géographiquement répartis
  • La marque unique d’abord, en cas de marques multiples

 

La meilleure application de test canari qui peut être cité est Facebook. Facebook fonctionne avec une stratégie de « plusieurs canaris ». Seuls les employés internes sont exposés d’abord aux nouveaux changements avec tous les basculements de fonctionnalité activés pour détecter les problèmes tôt.

 

Quels sont les avantages des tests canaries

Vous ne pouvez pas mesurer les avantages de quelque chose à moins d’avoir autre chose avec lequel le comparer. Donc, oui, les tests canaris sont souvent confondus avec les tests A /B et les tests bleu-vert. Cependant, c’est le meilleur des deux mondes. Voyons pourquoi.

 

Test A/B

Par implémentation, les tests A / B sont similaires aux tests canaris. 50% des utilisateurs reçoivent une version mise à niveau de l’application avec la nouvelle fonctionnalité « B ». Les 50 % d’utilisateurs restants continuent d’utiliser la fonctionnalité de base « A ». Les résultats de la publication des fonctionnalités sont ensuite surveillés pour observer le Résultats par rapport aux attentes. Cependant, l’objectif de A / B est de voir à quel point une fonctionnalité est utile pour les clients. Alors que des tests canaris sont effectués pour atténuer les risques.

 

Déploiement bleu-vert

Le déploiement bleu-vert est axé sur l’élimination des temps d’arrêt et des perturbations pour les utilisateurs finaux. Les modifications sont apportées sur un environnement de production inactif vers lequel tous les utilisateurs sont migrés de l’ancienne production, une fois les tests terminés. Toutefois, lors des tests à la canari, le volume d’utilisateurs touchés est maintenu au minimum au début.

Nous pouvons conclure que les tests canaris sont les meilleurs des deux mondes, c’est-à-dire les tests A/B et le déploiement bleu-vert. Les avantages de l’approche de déploiement des canaris peuvent être énumérés à :

  • Il facilite l’innovation, accélère le développement agile et permet un déploiement facile de nouvelles fonctionnalités.
  • Il assure zéro temps d’arrêt.
  • Il permet un retour rapide des changements en cas de résultats négatifs.
  • Il permet un niveau élevé de configuration pour les conditions afin de déterminer quel trafic est envoyé à la nouvelle version, avant de le libérer à l’ensemble de la base d’utilisateurs.
  • Il permet à plusieurs équipes de tester simultanément des micro-services individuels sur la production.
  • Contrairement au déploiement bleu-vert, l’expansion des ressources n’est pas nécessaire pour tester un environnement supplémentaire. Parce que par stratégie de ressources de micro-service est adoptée pour les tests.
  • Le comportement de la nouvelle version peut être surveillé en augmente lentement la charge sur la production, au lieu de mettre en place un tout nouvel environnement de test de capacité.
  • Il permet le déploiement de plusieurs versions en production. Cela donne à l’équipe la liberté, la flexibilité et la vitesse souhaitées pour tester la nouvelle version.

 

Déploiement canarier et LoadView

Vous pouvez obtenir les meilleurs résultats pour les tests de performance sans compromettre l’expérience utilisateur des masses. Tout ce dont vous avez besoin, c’est de la pratique du déploiement des canaris et d’un excellent outil de test qui prend en charge les mesures pour les tests de performance. En utilisant l’approche canari, l’exécution des cas de test de performance peut être automatisée à l’aide d’une solution avancée comme LoadView. Cela peut sembler déroutant et complexe. Mais essayons de le comprendre à l’aide d’un exemple. Par exemple, Netflix, une application d’une seule page (SPA), développe une nouvelle fonctionnalité et la diffuse aux utilisateurs de canaris (7 500 000, soit 5 % des 15 millions; selon les statistiques de 2020).

Maintenant, aucune équipe DevOps ne peut jamais surveiller un si grand nombre d’utilisateurs manuellement. Ainsi, LoadView agit comme une baguette magique, car il permet aux équipes DevOps et aux équipes de test de faire tourner des centaines, voire des milliers d’utilisateurs simultanés pour charger et tester leurs applications, et voir comment leurs applications fonctionnent sous cette charge appliquée.

De plus, ce qui fait de LoadView, avec son outil de script EveryStep Web Recorder , un choix convaincant, c’est qu’il prend en charge les SPA de test de charge . La logique SPA repose sur la technologie JavaScript qui n’est pas supportée par de nombreux outils, comme JMeter par exemple. JMeter ne fonctionne qu’au niveau du protocole, et non du navigateur, de sorte qu’une grande partie des performances côté client sont laissées de côté des résultats des tests de performances. Avec l’enregistreur EveryStep, la création de scénarios et de chemins utilisateur est facile et utilise de vrais navigateurs. Il vous suffit d’enregistrer le chemin et de configurer votre scénario de test. C’est aussi simple que ça.

 

Défis du déploiement/test canarier

Chaque pièce a deux faces. Certains diront que la méthodologie de déploiement/test des canaris a ses inconvénients, mais il est plus approprié d’indiquer les points mentionnés suivants comme ses défis.

  • Les équipes de DevOps doivent gérer plusieurs versions du logiciel en parallèle. Par conséquent, il est conseillé de maintenir le nombre de versions simultanées au minimum.
  • Vous n’avez pas le contrôle total sur la nouvelle version lorsqu’elle est mise à niveau si votre logiciel de solution est installé sur les appareils des utilisateurs.
  • La gestion de base de données devient difficile pendant les versions canaris.
  • La mise en œuvre de tests canaris exige des efforts substantiels pour une surveillance efficace et robuste de l’infrastructure et de l’application.
  • La surveillance de chaque version incrémentielle prend du temps et pourrait affecter la date de sortie cible. Les tests canaries peuvent prendre jusqu’à plusieurs heures.

 

Conclusion: Test des canaries

Pour conclure, on peut en déduire que l’approche de déploiement/test des canaris peut être votre prochain meilleur ami en matière d’atténuation des risques lorsqu’il s’agit de tester les performances de la nouvelle version de votre logiciel avec des utilisateurs réels sans aucun temps d’arrêt. Comme ian Molyneaux l’a déclaré dans son livre,
The Art of Application Performance Testing: From Strategy to Tools
, « Si un utilisateurfinal perçoit de mauvaises performances de votre site Web, son prochain clic sera probablement sur your-competition.com.» Ne laisse pas ça arriver. Assurez-vous que vos clients et vos clients obtiennent une excellente expérience utilisateur.

Commencez votre expérience de test de charge dès maintenant avec LoadView.