Considérations relatives au déploiement et aux tests pour les charges de travail d’applications intelligentes
Article
Maintenez un processus de gestion du cycle de vie des applications (ALM) sain pour éviter les problèmes de production et traiter rapidement toute régression.
Déterminer votre stratégie ALM
Assurez-vous que votre processus de développement est efficace et évolutif en développant une stratégie ALM complète qui comprend le contrôle de version, l’intégration continue/déploiement continu (CI/CD) et les tests automatisés.
Évaluez les options, du plus simple au plus avancé :
Tests automatisés de la charge de travail de l’application intelligente dans le cadre du processus de déploiement.
Utiliser des solutions pour la gestion de l’environnement
Maintenez des environnements distincts pour le développement, les tests et la production. Cette pratique permet d’isoler les problèmes et de garantir que les modifications sont testées de manière approfondie avant d’atteindre les utilisateurs.
Utilisez des solutions pour déplacer des plug-ins créés dans Microsoft Copilot Studio dans différents environnements.
Recommandations et considérations clés :
Travailler dans le contexte des solutions : assurez-vous que tout le développement est réalisé dans le cadre des solutions.
Solutions distinctes pour un déploiement indépendant : créez des solutions distinctes uniquement lorsqu’il est nécessaire de déployer des composants indépendamment.
Comprendre les limitations : comprenez les limitations du déploiement automatisé et évaluez les paramètres qui doivent être définis ou mis à jour manuellement après le déploiement, par exemple l’intégration d’Application Insights, les canaux déployés et les paramètres de sécurité.
Utiliser un éditeur et un préfixe personnalisés : mettez en œuvre un éditeur et un préfixe personnalisés pour une meilleure organisation et gestion.
Utiliser des variables d’environnement : utilisez des variables d’environnement pour les paramètres et les secrets qui varient d’un environnement à l’autre.
Exporter et déployer en tant que solutions gérées : exportez et déployez les solutions en tant que solutions gérées, sauf lors de la configuration d’un environnement de développement.
Restreindre les personnalisations du développement : évitez d’effectuer des personnalisations en dehors de l’environnement de développement.
Automatiser les processus ALM : envisagez d’automatiser ALM pour le contrôle de code source et les déploiements automatisés.
Exemple
Cet exemple donne un aperçu de la stratégie de déploiement d’une charge de travail d’application intelligente et décrit les rôles et processus associés à chaque environnement : développement (Dev), test (Test), assurance qualité (QA) et production (Prod).
Environnement de développement (Dev) :
Objectif : pour la création et la personnalisation initiales de la solution.
Activités : les développeurs créent et modifient des composants tels que des applications, des flux et des agents. Toutes les personnalisations et configurations sont effectuées ici.
Pratiques clés :
Utilisez un éditeur et un préfixe personnalisés pour tous les composants.
Implémentez des variables d’environnement pour les paramètres et les secrets.
Assurez-vous que toutes les modifications sont contrôlées en fonction des versions et documentées.
Environnement de test (Test) :
Objectif : pour la validation et les tests préliminaires de la solution développée.
Activités : les solutions sont exportées de l’environnement de développement en tant que solutions gérées et importées dans l’environnement de test. Des tests fonctionnels et d’intégration sont effectués pour identifier et résoudre les problèmes à un stade précoce.
Pratiques clés :
Maintenez un environnement de test distinct pour simuler des scénarios réels.
Utilisez des variables d’environnement pour gérer les paramètres et les secrets spécifiques à l’environnement de test.
Automatisez les processus de déploiement pour garantir la cohérence et la répétabilité.
Environnement d’assurance qualité (Q.A. ou QA) :
Objectif : dédié à l’assurance qualité approfondie et aux tests d’acceptation utilisateur (UAT).
Activités : les solutions gérées sont importées de l’environnement de test vers l’environnement d’assurance qualité. Des tests approfondis, notamment en matière de performances, de sécurité et d’UAT, sont effectués pour s’assurer que la solution répond à toutes les exigences et normes.
Pratiques clés :
Utilisez des variables d’environnement pour gérer les paramètres et les secrets spécifiques à l’assurance qualité.
Impliquez les utilisateurs dans l’UAT pour recueillir des commentaires et vous assurer que la solution répond à leurs besoins.
Automatisez les processus de test dans la mesure du possible pour améliorer l’efficacité et la précision.
Environnement de production (Prod) :
Objectif : héberge la version active de la solution, destinée aux utilisateurs.
Activités : une fois les tests d’assurance qualité réussis, la solution gérée est exportée de l’environnement d’assurance qualité et importée dans l’environnement de production. Cet environnement est strictement contrôlé pour assurer la stabilité et la fiabilité.
Pratiques clés :
Déployez les solutions telles que gérées pour empêcher toute modification non autorisée.
Utilisez des variables d’environnement pour gérer les paramètres et les secrets spécifiques à la production.
Surveillez et entretenez la solution pour garantir des performances optimales et résoudre rapidement tout problème.
Stratégie globale :
Séparation des préoccupations : chaque environnement a un objectif distinct, ce qui garantit que les activités de développement, de test, d’assurance qualité et de production n’interfèrent pas les unes avec les autres.
Automatisation : automatisez les processus ALM, y compris le contrôle de code source, les tests et les déploiements, afin d’améliorer l’efficacité et de réduire le risque d’erreurs.
Cohérence : maintenez la cohérence dans les environnements en utilisant des variables d’environnement et des scripts de déploiement automatisés.
Établir une stratégie de test
Assurez-vous d’avoir un plan clair pour valider que vos charges de travail et intégrations d’applications intelligentes fonctionnent comme prévu.
Définissez votre stratégie de test pour les charges de travail d’applications intelligentes. Utilisez le Cadre de test pour tester en bloc les énoncés utilisateur et vérifier que la rubrique appropriée se déclenche ou que la première option « vouliez-vous dire » est la bonne dans 90 % des cas.
Testez les intégrations dans le cadre des tests de conversation de bout en bout complets avec la fonctionnalité de test d’échelle du cadre de test.
Utilisez le Kit Power CAT Copilot Studio pour configurer des agents et des tests. Exécutez des tests individuels sur les API Copilot Studio (Direct Line) et évaluez les réponses de l’agent par rapport aux résultats attendus.
Assurez-vous de comprendre les exigences non fonctionnelles telles que la disponibilité, la conformité, la conservation/résidence des données, les performances, la confidentialité, le temps de récupération, la sécurité et l’évolutivité. Par exemple, un widget de chat sur le site Web doit se charger et démarrer une conversation dans les 5 secondes suivant le clic. De même, un flux de cloud déclenché pour renvoyer des informations à l’utilisateur doit fournir les données souhaitées dans les 10 secondes.