Considérations relatives au déploiement et aux tests pour les charges de travail d’applications intelligentes
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éterminez 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 inclut le contrôle des versions, l’intégration continue/le déploiement continu (CI/CD) et les tests automatisés.
Évaluez les options allant du CI/CD simple au CI/CD avancé :
- Déploiement manuel de solutions.
- Déploiement automatisé avec des pipelines conviviaux dans (pas de contrôle de source). Power Platform
- Déploiement automatisé + contrôle de source avec les outils Azure DevOps ou GitHub Power Platform .
- Test automatisé du copilote dans le cadre du processus de déploiement.
Utilisez des solutions pour la gestion des environnement
Maintenez des environnements distincts pour le développement, les tests et la production. Cette pratique permet d’isoler les problèmes et garantit que les modifications sont minutieusement testées avant d’atteindre les utilisateurs.
Utilisez des solutions pour déplacer les plugins créés dans Copilot Studio différents environnements.
Principales recommandations et considérations :
- Travailler dans le cadre de solutions : Veiller à ce que tout le développement soit mené dans le cadre de 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 de manière indépendante.
- Comprendre les limites : comprenez les limites du déploiement automatisé et évaluez les paramètres qui doivent être définis ou mis à jour manuellement après le déploiement, tels que Application Insights l’intégration, les canaux déployés et les paramètres de sécurité.
- Utiliser un éditeur et un préfixe personnalisés : implémentez un éditeur et un préfixe personnalisés pour une meilleure organisation et gestion.
- Utilisez les variables environnement : utilisez les variables environnement pour les paramètres et les secrets qui varient selon les environnements.
- Exporter et déployer en tant que solutions gérées : Exportez et déployez des solutions en tant que solutions gérées, sauf lors de la configuration d’un développement environnement.
- Restreindre les personnalisations au développement : évitez de faire des personnalisations en dehors du développement environnement.
- Automatisez les processus ALM : envisagez d’automatiser ALM pour le contrôle des sources et les déploiements automatisés.
Exemple
Cet exemple fournit 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).
Développement environnement (Dev) :
- Objectif : Pour la création initiale et la personnalisation de la solution.
- Activités : Les développeurs créent et modifient des composants tels que des applications, des flux et des copilotes. 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 les variables environnement pour les paramètres et les secrets.
- Assurez-vous que toutes les modifications sont contrôlées par version et documentées.
Test de environnement (Test) :
- Objectif : Validation préliminaire et test de la solution développée.
- Activités : Les solutions sont exportées depuis le Dev environnement en tant que solutions gérées et importées dans le Test environnement. Des tests fonctionnels et d’intégration sont effectués pour identifier et résoudre les problèmes le plus rapidement possible.
- Pratiques clés :
- Maintenez un test environnement distinct pour simuler des scénarios du monde réel.
- Utilisez les variables environnement pour gérer les paramètres et les secrets spécifiques au test environnement.
- Automatisez les processus de déploiement pour garantir la cohérence et la répétabilité.
Assurance qualité environnement (Q.A. ou QA) :
- Objectif : Dédié à l’assurance qualité approfondie et aux tests d’acceptation des utilisateurs (UAT).
- Activités : Les solutions gérées sont importées du Test environnement dans le QA environnement. Des tests approfondis, notamment de performances, de sécurité et d’UAT, sont effectués pour garantir que la solution répond à toutes les exigences et normes.
- Pratiques clés :
- Utilisez les variables environnement pour gérer les paramètres et les secrets spécifiques à l’assurance qualité.
- Impliquez les utilisateurs dans l’UAT pour recueillir leurs commentaires et garantir que la solution répond à leurs besoins.
- Automatisez les processus de test lorsque cela est possible pour améliorer l’efficacité et la précision.
Réalisation environnement (Prod) :
- Objectif : Héberge la version en direct et destinée aux utilisateurs de la solution.
- Activités : Après un test d’assurance qualité réussi, le solution gérée est exporté depuis le QA environnement et importé dans la production environnement. Ce environnement est strictement contrôlé pour assurer la stabilité et la fiabilité.
- Pratiques clés :
- Déployez les solutions comme elles sont gérées pour éviter les modifications non autorisées.
- Utilisez les variables environnement pour gérer les paramètres et les secrets spécifiques à la production.
- Surveillez et maintenez la solution pour garantir des performances optimales et résoudre rapidement tout problème.
Stratégie globale :
- Séparation des préoccupations : chaque environnement remplit un objectif distinct, garantissant 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 des sources, les tests et les déploiements, pour améliorer l’efficacité et réduire le risque d’erreurs.
- Cohérence : maintenez la cohérence entre les environnements en utilisant des variables 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 copilotes et intégrations fonctionnent comme prévu.
Définissez votre stratégie de test pour les charges de travail d’application intelligentes. Utilisez le cadre de test pour tester en masse les énoncés des utilisateurs et valider que les déclencheurs rubrique appropriés 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 capacité de test à l’échelle du framework de test.
Utilisez le kit Power CAT pour configurer les copilotes et les tests. Copilot Studio Exécutez des tests individuels sur les API ( Copilot Studio ) et évaluez les réponses du copilote par rapport aux résultats attendus.Direct Line
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 conversation instantanée sur le site Web devrait 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.