L’automatisation et la simplification des processus de delivery en continu ont participé au succès de DevOps. La pratique du test en continu devrait suivre le même chemin.
La phrase qui précède pourrait bien vous induire en erreur ! En effet, elle porte le risque d’une confusion, entre ‘automatisation du test’ et ‘test en continu’ (continuous testing).
En effet, les outils de tests automatisés permettent l’exécution de tests, l’édition de rapports et la comparaison avec les tests précédents, dans la phase de tests et par les équipes de tests.
La pratique du test en continu impose quant à elle d’effectuer les tests dès la conception et sans arrêt jusqu’au déploiement en production, où les tests peuvent couvrir l’expérience client.
L’automatisation des tests n’est donc qu’une partie de la pratique du test en continu, ce dernier ayant pour objectif d’aider les équipes DevOps à résoudre un goulet d’étranglement majeur dans le pipeline de delivery, celui de la qualité.
L’approche Modern Software Factory
Avec le test en continu, dans l’approche ‘Modern Software Factory’ qui émerge, le cycle de tests intervient le plus tôt possible dans le cycle DevOps, c’est à dire au moment où les problèmes sont les plus faciles et les moins coûteux à détecter et à fixer. L’ordre des tests peut également être fixé en fonction du profil de risque porté par le code. Tout cela pour trouver les problèmes et prendre des décisions les plus éclairées et le plus rapidement possible, et de façon transparente.
Exerçant un contrôle continu sur tous les process de développement, le test en continu offre une vue détaillée du cycle, des zones à risque, de son niveau de qualité jusqu’au delivery, des changements de l’interface utilisateur à la complexité du back office et de l’interfaçage des API. De quoi permettre une prise de décision rapide, vers des tests supplémentaires ou pour autoriser la version à entrer en production.
Voici 5 étapes critiques pour adopter le test en continu :
- Mettre en œuvre les meilleurs outils d'automatisation des tests - Fonctionnel, graphique, performance, sécurité, etc.
- Automatiser les environnements de test avec les données de test et les services virtuels appropriés - S’assurer que les jeux de tests sont toujours disponibles dans le monde réel.07
- Automatiser les exigences des tests - Les méthodes manuelles de tests ne pourront suivre…
- Automatiser l'automatisation - Connecter vos tests aux étapes de la chaine de tests. Automatiser la promotion d'une étape à l'autre. Automatiser les boucles de rétroaction bout à bout.
- Etre ‘smart’ (intelligent) - Aligner automatiquement les bons tests avec la bonne version de l'application. Automatiser les séquences de tests en fonction du profil de risque du code. Établir des profils de santé des mises à jour.
Image d’entête 628662240 @ iStock ojogabonitoo