Quel sera l’impact du DevOps sur les tests d’assurance qualité ?
Tutoriel de test DevOps : une récente enquête RightScale a révélé que 54 % des entreprises ont adopté DevOps et que l’intérêt pour DevOps augmente rapidement.
Dans cet article, nous apprendrons comment cette nouvelle méthodologie de développement logiciel aura un impact sur l’assurance qualité et comment la fonction d’assurance qualité dans son ensemble devrait évoluer pour adopter ce changement.
Consultez => Série complète de didacticiels DevOps
Dans cet article, nous en apprendrons plus sur DevOps et son impact sur l’assurance qualité et ses fonctions.
Contenu
Qu’est-ce que DevOps ?
DevOps – est une combinaison de Développement et opérations – il s’agit d’une méthodologie de développement logiciel qui cherche à intégrer toutes les fonctions de développement logiciel, du développement aux opérations dans le même cycle.
Cela nécessite un niveau de coordination plus élevé au sein des différentes parties prenantes du processus de développement logiciel (à savoir Développement, assurance qualité et opérations)
Cycle DevOps
Un cycle DevOps idéal commencerait à partir de :
De toute évidence, cette approche met l’accent sur l’automatisation de la construction, du déploiement et des tests. Utilisation d’outils d’intégration continue (CI), les outils de test d’automatisation deviennent une norme dans un cycle DevOps.
Pourquoi DevOps ?
Bien qu’il existe des différences subtiles entre Tests Agile et DevOps, ceux qui travaillent avec Agile trouveront DevOps un peu plus familier avec lequel travailler (et éventuellement adopter). Bien que les principes Agiles soient appliqués avec succès dans les itérations de développement et d’assurance qualité, c’est une toute autre histoire (et souvent une pomme de discorde) du côté des opérations. DevOps propose de combler cette lacune.
Désormais, au lieu de l’intégration continue, DevOps implique le « développement continu », où le code a été écrit et validé dans le contrôle de version, sera construit, déployé, testé et installé sur l’environnement de production qui est prêt à être utilisé par l’utilisateur final.
Ce processus aide tout le monde dans toute la chaîne puisque les environnements et les processus sont standardisés. Chaque action de la chaîne est automatisée. Cela donne également la liberté à toutes les parties prenantes de concentrer leurs efforts sur la conception et le codage d’un livrable de haute qualité plutôt que de se soucier des divers processus de construction, d’exploitation et d’assurance qualité.
Il réduit considérablement la durée de vie à environ 3 à 4 heures, à partir du moment où le code temporel est écrit et validé, jusqu’au déploiement en production pour la consommation de l’utilisateur final.
En un mot, DevOps est une extension d’Agile ou j’aime l’appeler « Agile on Steroids ».
Changement du rôle de l’assurance qualité dans DevOps
Traditionnellement, QA obtiendrait une version qui est déployée dans son environnement désigné et QA commencerait alors ses tests fonctionnels et de régression. La version devrait idéalement rester avec l’AQ pendant quelques jours avant l’approbation de l’AQ sur la version. Toutes ces étapes changent dans DevOps.
Modifications de l’assurance qualité pour les tests DevOps :
Comme déjà mentionné, DevOps nécessite un haut niveau de coordination entre les différentes fonctions de la chaîne de livrables. Cela signifie également que les frontières entre les différents rôles des contributeurs dans la chaîne deviennent poreuses.
DevOps encourage tout le monde à contribuer à la chaîne. Ainsi, entre autres, un développeur peut configurer des déploiements. Les ingénieurs de déploiement peuvent ajouter des cas de test au référentiel QA. Les ingénieurs QA peuvent configurer leurs cas de test d’automatisation dans la chaîne DevOps.
Collectivement, tout le monde dans la chaîne est responsable de la qualité et de la ponctualité des livrables.
DevOps et automatisation des tests
Pour atteindre une telle vitesse et agilité, il est important d’automatiser tous les processus de test et de les configurer pour qu’ils s’exécutent automatiquement lorsque le déploiement est terminé dans l’environnement d’assurance qualité. Des outils de test d’automatisation spécialisés et des outils d’intégration continue sont utilisés pour réaliser cette intégration.
Cela nécessite également la construction d’un cadre de test d’automatisation mature à travers lequel on peut rapidement scripter de nouveaux cas de test.
Stratégie de test DevOps : conseils pour réussir DevOps
Surveillance des applications
L’AQ doit également être en mesure de détecter les problèmes à un stade précoce et de les signaler de manière proactive. Pour y parvenir, ils doivent mettre en place une surveillance sur l’environnement de production afin de pouvoir exposer les bogues avant qu’ils ne provoquent une défaillance.
La configuration de compteurs spécialisés tels que les temps de réponse, l’utilisation de la mémoire et du processeur, etc. peut fournir de nombreuses informations sur l’expérience de l’utilisateur final.
Par example, si le temps de réponse moyen pour la connexion augmente progressivement au cours des différentes versions, le contrôle qualité doit signaler ce problème de manière proactive pour optimiser le code de connexion, sinon les futures versions pourraient provoquer la frustration de l’utilisateur final en raison des temps de réponse élevés.
L’assurance qualité peut également utiliser un petit sous-ensemble de cas de test de haute priorité existants à exécuter périodiquement en production, afin de surveiller activement l’environnement. Des bogues tels que « Ce bogue apparaît parfois » ou « Impossible de se reproduire » peuvent être détectés grâce à cette stratégie qui, au final, rend l’application plus stable et satisfait également les utilisateurs finaux.
Encore une fois, ces moniteurs doivent être configurés pour s’exécuter automatiquement avec des rapports riches (comme des journaux et des captures d’écran des échecs, etc.).
Conclusion
Waterfall a cédé la place à V-Model qui à son tour a été remplacé par Agile comme choix préféré pour le développement de logiciels.
DevOps est l’avenir. C’est un cycle d’amélioration continue que les modèles de développement logiciel subissent de temps en temps. Vous devez l’embrasser, le comprendre et l’inculquer.
Vous devez maîtriser les différents outils d’automatisation et d’intégration continue afin que vos efforts d’automatisation ajoutent de la valeur à la chaîne et soient suffisamment légers pour s’adapter rapidement aux changements. Vous pouvez travailler sur des projets pouvant impliquer des environnements alpha, bêta et UAT avant d’être déployés dans l’environnement de production.
Le concept reste essentiellement le même. L’automatisation et davantage d’automatisation sont au cœur d’un cycle DevOps réussi. Mais, en tant qu’AQ, vous devriez également être capable de tracer une ligne pour savoir à quel point l’automatisation est trop d’automatisation.
A propos de l’auteur: Aniket Deshpande travaille en tant que responsable de l’assurance qualité chez Afour Technologies, Pune et travaille dans le domaine des tests de logiciels depuis plus de 9 ans dans divers domaines et plates-formes. Il est passionné par DevOps et travaille en tant que consultant pour guider les organisations dans l’adoption de stratégies de test DevOps.
Si vous souhaitez en savoir plus ou si vous cherchez à implémenter DevOps et l’approche de test associée dans votre organisation, n’hésitez pas à contacter l’auteur.
Que pensez-vous des tests DevOps ? Pensez-vous que le fait de faire travailler ensemble les développeurs et les responsables de l’exploitation peut être bénéfique pour le projet ?
Faites-nous part de vos commentaires/suggestions sur cet article.
PRÉC Tutoriel | SUIVANT Tutoriel