Considerações de implantação e teste para cargas de trabalho de aplicativos inteligentes
Mantenha um processo de gerenciamento do ciclo de vida do aplicativo (ALM) íntegro para evitar problemas de produção e resolver rapidamente quaisquer regressões.
Determine sua estratégia de ALM
Certifique-se de que seu processo de desenvolvimento seja eficiente e escalável desenvolvendo uma estratégia abrangente de ALM que inclua controle de versão, integração contínua/implantação contínua (CI/CD) e testes automatizados.
Avalie as opções de CI/CD simples a avançado:
- Implantação manual de soluções.
- Implantação automatizada com pipelines fáceis de usar ( Power Platform sem controle do código-fonte).
- Implantação automatizada + controle de origem com Azure DevOps ou ferramentas GitHub Power Platform .
- Testes automatizados do copiloto como parte do processo de implantação.
Use soluções para gerenciamento de ambiente
Mantenha ambientes separados para desenvolvimento, teste e produção. Essa prática ajuda a isolar problemas e garante que as alterações sejam exaustivamente testadas antes de chegar aos usuários.
Use soluções para mover plugins criados em Copilot Studio diferentes ambientes.
Principais recomendações e considerações:
- Trabalhar no contexto das soluções: Garantir que todo o desenvolvimento é conduzido no âmbito das soluções.
- Soluções separadas para implantação independente: crie soluções distintas somente quando houver a necessidade de implantar componentes de forma independente.
- Compreender as limitações: entenda as limitações da implantação automatizada e avalie quais configurações devem ser definidas ou atualizadas manualmente após a implantação, como Application Insights integração, canais implantados e configurações de segurança.
- Use um editor e um prefixo personalizados: implemente um editor e um prefixo personalizados para melhor organização e gerenciamento.
- Usar variáveis de ambiente: use variáveis de ambiente para configurações e segredos que variam entre ambientes.
- Exportar e implantar como soluções gerenciadas: exporte e implante soluções conforme gerenciado, exceto ao configurar um ambiente de desenvolvimento.
- Restringir personalizações ao desenvolvimento: evite fazer personalizações fora do ambiente de desenvolvimento.
- Automatize os processos de ALM: considere automatizar o ALM para controle de origem e implantações automatizadas.
Exemplo
Este exemplo fornece uma visão geral da estratégia de implantação para uma carga de trabalho de aplicativo inteligente e descreve as funções e os processos associados a cada ambiente: Desenvolvimento (Dev), Teste (Teste), Garantia de Qualidade (QA) e Produção (Prod).
Ambiente de desenvolvimento (Dev):
- Finalidade: Para a criação inicial e personalização da solução.
- Atividades: Os desenvolvedores criam e modificam componentes como aplicativos, fluxos e copilotos. Todas as personalizações e configurações são realizadas aqui.
- Principais práticas:
- Use um editor e um prefixo personalizados para todos os componentes.
- Implemente variáveis de ambiente para configurações e segredos.
- Certifique-se de que todas as alterações são controladas por versão e documentadas.
Ambiente de teste (teste):
- Objetivo: Para validação preliminar e teste da solução desenvolvida.
- Atividades: As soluções são exportadas do ambiente de desenvolvimento como soluções gerenciadas e importadas para o ambiente de teste. Testes funcionais e de integração são realizados para identificar e resolver problemas precocemente.
- Principais práticas:
- Mantenha um ambiente de teste separado para simular cenários do mundo real.
- Use variáveis de ambiente para gerenciar configurações e segredos específicos para o ambiente de teste.
- Automatize os processos de implantação para garantir consistência e repetibilidade.
Ambiente de garantia da qualidade (Q.A. ou QA):
- Objetivo: Dedicado à garantia de qualidade completa e testes de aceitação do utente (UAT).
- Atividades: As soluções gerenciadas são importadas do ambiente de teste para o ambiente de controle de qualidade. Testes extensivos, incluindo desempenho, segurança e UAT, são conduzidos para garantir que a solução atenda a todos os requisitos e padrões.
- Principais práticas:
- Use variáveis de ambiente para gerenciar configurações e segredos específicos de QA.
- Envolva os usuários no UAT para coletar feedback e garantir que a solução atenda às suas necessidades.
- Automatize os processos de teste sempre que possível para melhorar a eficiência e a precisão.
Ambiente de produção (Prod):
- Finalidade: Hospeda a versão ao vivo e voltada para o utente da solução.
- Atividades: Após testes de controle de qualidade bem-sucedidos, o solução gerida é exportado do ambiente de controle de qualidade e importado para o ambiente de produção. Este ambiente é rigorosamente controlado para garantir estabilidade e fiabilidade.
- Principais práticas:
- Implante soluções conforme gerenciado para evitar alterações não autorizadas.
- Use variáveis de ambiente para gerenciar configurações e segredos específicos da produção.
- Monitore e mantenha a solução para garantir o desempenho ideal e resolver quaisquer problemas prontamente.
Estratégia global:
- Separação de preocupações: Cada ambiente serve a um propósito distinto, garantindo que as atividades de desenvolvimento, teste, controle de qualidade e produção não interfiram umas com as outras.
- Automação: automatize os processos de ALM, incluindo controle do código-fonte, testes e implantações, para melhorar a eficiência e reduzir o risco de erros.
- Consistência: mantenha a consistência entre ambientes usando variáveis de ambiente e scripts de implantação automatizados.
Estabeleça uma estratégia de teste
Certifique-se de ter um plano claro para validar que seus copilots e integrações funcionam conforme o esperado.
Defina sua estratégia de teste para cargas de trabalho de aplicativos inteligentes. Use o Test Framework para testar em massa as declarações do utente e validar que o tópico apropriado aciona ou que a primeira opção "você quis dizer" é a correta em 90% dos casos?
Integrações de teste como parte do teste de conversação completo de ponta a ponta com o recurso de teste de escala do Test Framework.
Use o Power CAT Copilot Studio Kit para configurar copilots e testes. Execute testes individuais em relação às Copilot Studio APIs (Direct Line) e avalie as respostas do copiloto em relação aos resultados esperados.
Certifique-se de que compreende os requisitos não funcionais, como a disponibilidade, a conformidade, a retenção/residência de dados, o desempenho, a privacidade, o tempo de recuperação, a segurança e a escalabilidade. Por exemplo, um widget de chat no site deve carregar e iniciar uma conversa dentro de 5 segundos após ser clicado. Da mesma forma, um fluxo de cloud acionado para retornar informações ao utente deve fornecer os dados desejados dentro de 10 segundos.