Considerazioni su distribuzione e test per carichi di lavoro di applicazioni intelligenti
Mantieni un processo ALM (Application Lifecycle Management) integro per evitare problemi di produzione e affrontare rapidamente eventuali regressioni.
Determina la tua strategia ALM
Assicurati che il tuo processo di sviluppo sia efficiente e scalabile sviluppando una strategia ALM completa che includa il controllo delle versioni, l'integrazione continua/distribuzione continua (CI/CD) e i test automatizzati.
Valuta le opzioni, da CI/CD semplici a quelle avanzate:
- Distribuzione manuale delle soluzioni.
- Distribuzione automatizzata con pipeline di facile utilizzo in Power Platform (nessun controllo del codice sorgente).
- Distribuzione automatizzata + controllo del codice sorgente con strumenti Azure DevOps o GitHub Power Platform .
- Test automatizzato del carico di lavoro dell'applicazione intelligente come parte del processo di distribuzione.
Uso di soluzioni per la gestione degli ambienti
Mantenere ambienti distinti per lo sviluppo, il testing e la produzione. Questa procedura consente di isolare i problemi e garantisce che le modifiche vengano testate accuratamente prima di raggiungere gli utenti.
Utilizza soluzioni per spostare i plug-in creati tra ambienti diversi di Microsoft Copilot Studio.
Considerazioni ed elementi consigliati chiave:
- Lavorare nel contesto delle soluzioni: garantire che tutto lo sviluppo sia condotto nell'ambito delle soluzioni.
- Soluzioni separate per la distribuzione indipendente: crea soluzioni distinte solo quando è necessario distribuire i componenti in modo indipendente.
- Comprendere le limitazioni: comprendere i limiti della distribuzione automatizzata e valutare quali impostazioni devono essere impostate o aggiornate manualmente dopo la distribuzione, ad esempio l'integrazione di Application Insights, i canali distribuiti e le impostazioni di sicurezza.
- Usa un editore e un prefisso personalizzati: implementa un editore e un prefisso personalizzati per migliorare l'organizzazione e la gestione.
- Usa variabili di ambiente: usa le variabili di ambiente per impostazioni e segreti che variano da un ambiente all'altro.
- Esportazione e distribuzione come soluzioni gestite: esporta e distribuisci soluzioni come gestite, tranne quando configuri un ambiente di sviluppo.
- Limita le personalizzazioni allo sviluppo: evita di effettuare personalizzazioni al di fuori dell'ambiente di sviluppo.
- Automatizza i processi di ALM: prendi in considerazione l'automazione di ALM per il controllo del codice sorgente e le distribuzioni automatizzate.
Esempio
Questo esempio fornisce una panoramica della strategia di distribuzione per un carico di lavoro di applicazioni intelligenti e descrive i ruoli e i processi associati a ciascun ambiente: sviluppo (Dev), test (Test), controllo qualità (QA) e produzione (Prod).
Ambiente di sviluppo (Dev):
- Ambito: per la creazione iniziale e la personalizzazione della soluzione.
- Attività: gli sviluppatori creano e modificano componenti come app, flussi e agenti. Tutte le personalizzazioni e le configurazioni vengono eseguite qui.
-
Procedure chiave:
- Utilizza un editore e un prefisso personalizzati per tutti i componenti.
- Implementa le variabili di ambiente per le impostazioni e i segreti.
- Assicurati che tutte le modifiche siano controllate dalla versione e documentate.
Ambiente di test (Test):
- Ambito: per la convalida preliminare e il test della soluzione sviluppata.
- Attività: le soluzioni vengono esportate dall'ambiente di sviluppo come soluzioni gestite e importate in un ambiente di test. I test funzionali e di integrazione vengono condotti per identificare e risolvere tempestivamente i problemi.
-
Procedure chiave:
- Mantenere un ambiente di test separato per simulare scenari reali.
- Usare le variabili di ambiente per gestire impostazioni e segreti specifici dell'ambiente di test.
- Automatizza i processi di implementazione per garantire coerenza e ripetibilità.
Ambiente di garanzia della qualità (Q.A. o QA):
- Ambito: dedicato al controllo qualità approfondito e ai test di accettazione dell'utente (UAT).
- Attività: le soluzioni gestite vengono importate dall'ambiente di test nell'ambiente di controllo qualità. Vengono condotti test approfonditi, tra cui prestazioni, sicurezza e UAT, per garantire che la soluzione soddisfi tutti i requisiti e gli standard.
-
Procedure chiave:
- Utilizza le variabili di ambiente per gestire le impostazioni e i segreti specifici del controllo qualità.
- Coinvolgi gli utenti in UAT per raccogliere feedback e assicurarti che la soluzione soddisfi le loro esigenze.
- Automatizza i processi di test, ove possibile, per migliorare l'efficienza e l'accuratezza.
Ambiente di produzione (Prod):
- Ambito: ospita la versione live della soluzione per gli utenti.
- Attività: dopo aver superato con successo i test di controllo qualità, la soluzione gestita viene esportata dall'ambiente di controllo qualità e importata nell'ambiente di produzione. Questo ambiente è rigorosamente controllato per garantire stabilità e affidabilità.
-
Procedure chiave:
- Distribuisci le soluzioni come gestite per evitare modifiche non autorizzate.
- Usa le variabili di ambiente per gestire le impostazioni e i segreti specifici della produzione.
- Monitora e gestisci la soluzione per garantire prestazioni ottimali e risolvere tempestivamente eventuali problemi.
Strategia generale:
- Separazione dei problemi: ciascun ambiente ha uno scopo distinto, garantendo che le attività di sviluppo, test, controllo qualità e produzione non interferiscano tra loro.
- Automazione: automatizza i processi ALM, inclusi il controllo del codice sorgente, i test e le distribuzioni, per migliorare l'efficienza e ridurre il rischio di errori.
- Coerenza: mantieni la coerenza tra gli ambienti usando variabili di ambiente e script di distribuzione automatizzati.
Definizione di una strategia di test
Assicurati di disporre di un piano chiaro per verificare che i carichi di lavoro e le integrazioni delle applicazioni intelligenti funzionino come previsto.
Definisci la tua strategia di test per i carichi di lavoro delle applicazioni intelligenti. Usa il framework di test per eseguire test in blocco delle espressioni utente e verificare che l'argomento appropriato venga attivato o che la prima opzione "intendevi dire" sia quella corretta nel 90% dei casi.
Testa le integrazioni nell'ambito dei test di conversazione end-to-end completi con la funzionalità di test di scalabilità del framework di test.
Usa il kit Power CAT di Copilot Studio per configurare agenti e test. Esegui singoli test sulle API di Copilot Studio (Direct Line) e valuta le risposte agente rispetto ai risultati previsti.
Assicurati di comprendere i requisiti non funzionali come disponibilità, conformità, conservazione/residenza dei dati, prestazioni, privacy, tempi di ripristino, sicurezza e scalabilità. Ad esempio, un widget di chat sul sito Web dovrebbe caricarsi e avviare una conversazione entro 5 secondi dal clic. Allo stesso modo, un flusso cloud attivato per restituire informazioni all'utente dovrebbe fornire i dati desiderati entro 10 secondi.