devops testing tutorial
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.
Départ => 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.
Ce que vous apprendrez:
meilleure façon d'ouvrir le fichier xml
Qu'est-ce que DevOps?
DevOps - est une combinaison de Development &Surérations - c'est 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, QA et opérations )
Cycle DevOps
Un cycle DevOps idéal commencerait par:
- Le code d'écriture des développeurs
- Création et déploiement de binaires dans un environnement d'assurance qualité
- Exécution de cas de test et enfin
- Déploiement en production dans un flux intégré fluide.
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 DevOps cycle.
Pourquoi DevOps?
Bien qu'il existe des différences subtiles entre Test Agile et DevOps , ceux qui travaillent avec Agile trouveront DevOps un peu plus familier (et éventuellement adopter). Bien que les principes Agile soient appliqués avec succès dans les itérations de développement et d'assurance qualité, c'est une histoire complètement différente (et souvent une pomme de discorde) du côté des opérations. DevOps propose de combler cette lacune.
Maintenant, au lieu de l'intégration continue, DevOps implique un «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 différents processus de construction, d'exploitation et d'assurance qualité.
Il réduit considérablement la durée de vie à environ 3 à 4 heures, depuis l'écriture et la validation du code temporel, 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 du contrôle qualité dans DevOps
Traditionnellement, le contrôle qualité obtiendrait une version déployée dans l'environnement désigné et le contrôle qualité commencerait alors leur Fonctionnel & Les tests de régression . Le build serait idéalement placé avec le QA pendant quelques jours avant l'approbation du contrôle qualité sur le build. Toutes ces étapes changent dans DevOps.
Modifications du contrôle qualité pour les tests DevOps:
- Le contrôle qualité doit aligner ses efforts sur le cycle DevOps.
- Ils doivent s'assurer que tous leurs cas de test sont automatisés et atteignent une couverture de code proche de 100%.
- Ils doivent s'assurer que leurs environnements sont standardisés et que le déploiement sur leurs boîtiers QA est automatisé.
- Toutes leurs tâches de pré-test, nettoyages, tâches de post-test, etc. sont automatisés et alignés sur le cycle d'intégration continue.
Comme déjà mentionné, DevOps nécessite un haut niveau de coordination entre les différentes fonctions de la chaîne livrable. Cela signifie également que les frontières entre les différents rôles des contributeurs dans la chaîne deviennent poreuses.
DevOps encourage chacun à 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, chacun dans la chaîne est responsable de la qualité et de la rapidité 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 QA. 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 créer de nouveaux scénarios de test.
Stratégie de test DevOps: conseils pour réussir DevOps
- Les cas de test qui doivent être exécutés pour une construction particulière doivent être identifiés.
- L'exécution du test doit être essentiellement allégée.
- Le QA et le Dev doivent s'asseoir ensemble et identifier les zones affectées en raison d'une construction particulière et exécuter ces cas de test associés plus une réussite de test de cohérence.
- Vous devez également configurer des outils d'analyse et de couverture de code spécialisés pour vous assurer d'obtenir une couverture de code proche de 100%.
- Le concept de l'exécution tout les cas de test de régression pour une réussite de test deviennent bientôt obsolètes.
- La stratégie de test de nouvelles fonctionnalités doit être formalisée et les versions intermédiaires peuvent être fournies au QA qui, à son tour, créerait des scripts de test et exécuterait ces tests d'automatisation sur les versions intermédiaires jusqu'à ce que le code devienne suffisamment stable pour être déployé dans l'environnement de production. .
- Tous les environnements requis pour les tests doivent être normalisés et les déploiements doivent être automatisés.
- À l'aide de diverses techniques d'automatisation, le contrôle qualité devrait être en mesure de lancer des tests d'automatisation dans divers environnements multiplateformes (et inter-navigateurs dans le cas d'applications Web).
- L'exécution parallèle des tests permet de réduire la durée de vie, qui est à son tour le cœur d'une implémentation DevOps réussie.
- Des critères de sortie doivent être définis pour chaque exécution de sorte que lorsque les résultats des tests sont renvoyés à la chaîne, une décision de mise en production soit prise / non autorisée.
- Les bogues bloquants ou critiques trouvés doivent être signalés et corrigés et transmis par la même chaîne d'événements avant que le code ne soit déployé dans l'environnement de production.
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 ce faire, ils doivent mettre en place une surveillance sur l'environnement de production afin de pouvoir exposer les bogues avant qu'ils ne provoquent une panne.
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 exemple , si le temps de réponse moyen pour la connexion augmente progressivement au fil des différentes versions, le contrôle qualité devrait signaler de manière proactive ce problème pour optimiser le code de connexion, sinon les futures versions pourraient provoquer une frustration de l'utilisateur final en raison des temps de réponse élevés.
Le contrôle qualité peut également utiliser un petit sous-ensemble de cas de test de haute priorité existants à exécuter périodiquement en production, pour surveiller activement l'environnement. Des bogues tels que 'Ce bogue apparaît parfois' ou ' Ne peut pas reproduire »Peut être attrapé par cette stratégie qui, au final, rend l'application plus stable et obtient également des utilisateurs finaux plus satisfaits.
Encore une fois, ces moniteurs doivent être configurés pour s'exécuter automatiquement avec des rapports riches (comme les journaux et les 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 à autre. Vous devez l'accepter, 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 maigres pour s'adapter rapidement aux changements. Vous travaillez peut-être sur des projets pouvant impliquer alpha , bêta et UAT environnements avant d'être déployé 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 que QA, vous devriez également être en mesure de tracer une ligne indiquant combien d'automatisation est trop d'automatisation.
A propos de l'auteur: Aniket Deshpande travaille en tant que QA Manager chez Nos 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 le 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 souhaitez implémenter DevOps et l'approche de test associée dans votre organisation, n'hésitez pas à contact l'auteur.
Que pensez-vous des tests DevOps? Pensez-vous que la collaboration entre les développeurs et les opérateurs peut profiter au projet?
Faites-nous part de vos commentaires / suggestions sur cet article.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Tests continus dans DevOps
- Tutoriel DevOps: Le guide ultime de DevOps (plus de 25 tutoriels)
- Démystifier DevOps: didacticiel vidéo (partie 1)
- Top 10 des outils de test continu pour les tests DevOps (Liste 2021)
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Qu'est-ce que le test logiciel? Plus de 100 didacticiels de test manuels gratuits
- Test fonctionnel vs test non fonctionnel
- Test alpha et test bêta (un guide complet)