Consideraciones sobre la implementación y las pruebas para cargas de trabajo de aplicaciones inteligentes
Mantenga un proceso de administración del ciclo de vida de las aplicaciones (ALM) en buen estado para evitar problemas de producción y abordar rápidamente cualquier regresión.
Determinar su estrategia de ALM
Asegúrese de que su proceso de desarrollo sea eficiente y escalable mediante el desarrollo de una estrategia ALM integral que incluya control de versiones, integración continua/implementación continua (CI/CD) y pruebas automatizadas.
Evalúe las opciones de CI/CD simples a avanzadas:
- Implementación manual de soluciones.
- Implementación automatizada con canalizaciones fáciles de usar en Power Platform (sin control de código fuente).
- Despliegue automatizado + control de código fuente con Azure DevOps o herramientas de GitHub Power Platform .
- Pruebas automatizadas de la carga de trabajo de la aplicación inteligente como parte del proceso de implementación.
Usar soluciones para la administración de entornos
Mantener entornos separados para desarrollo, pruebas y producción. Esta práctica ayuda a aislar los problemas y garantiza que los cambios se prueben exhaustivamente antes de llegar a los usuarios.
Utilice soluciones para mover complementos creados en diferentes entornos Microsoft Copilot Studio.
Consideraciones y acciones clave:
- Trabajar en el contexto de las soluciones: garantizar que todo el desarrollo se lleve a cabo en el marco de las soluciones.
- Soluciones separadas para una implementación independiente: cree soluciones distintas solo cuando sea necesario implementar componentes de forma independiente.
- Comprender las limitaciones: comprenda las limitaciones de la implementación automatizada y evalúe qué configuración debe establecerse o actualizarse manualmente después de la implementación, como la integración de Application Insights, los canales implementados y la configuración de seguridad.
- Usar un editor y un prefijo personalizados: implemente un editor y un prefijo personalizados para mejorar la organización y la administración.
- Usar variables de entorno: utilice variables de entorno para configuraciones y secretos que varían según el entorno.
- Exportar e implementar como soluciones administradas: exporte e implemente soluciones como administradas, excepto al configurar un entorno de desarrollo.
- Restringir las personalizaciones al desarrollo: evite realizar personalizaciones fuera del entorno de desarrollo.
- Automatizar los procesos de ALM: considere la posibilidad de automatizar ALM para el control de código fuente y las implementaciones automatizadas.
Ejemplo
Este ejemplo proporciona una descripción general de la estrategia de implementación para una carga de trabajo de aplicación inteligente y describe las funciones y los procesos asociados con cada entorno: Desarrollo (Dev), Pruebas (Test), Control de calidad (QA) y Producción (Prod).
Entorno de desarrollo (Dev):
- Finalidad: para la creación inicial y personalización de la solución.
- Actividades: los desarrolladores crean y modifican componentes como aplicaciones, flujos y agentes. Todas las personalizaciones y configuraciones se realizan aquí.
-
Prácticas clave:
- Utilice un editor y un prefijo personalizados para todos los componentes.
- Implemente variables de entorno para configuraciones y secretos.
- Asegúrese de que todos los cambios estén documentados y con control de versiones.
Entorno de pruebas (Test):
- Finalidad: la validación y prueba preliminar de la solución desarrollada.
- Actividades: las soluciones se exportan desde el entorno Dev como soluciones gestionadas y se importan al entorno de pruebas. Las pruebas funcionales y de integración se llevan a cabo para identificar y resolver los problemas de forma temprana.
-
Prácticas clave:
- Mantenga un entorno de prueba independiente para simular escenarios del mundo real.
- Utilice variables de entorno para administrar la configuración y los secretos específicos del entorno de prueba.
- Automatice los procesos de implementación para garantizar la coherencia y la repetibilidad.
Entorno de control de calidad (Q.A. o QA):
- Finalidad: el control de calidad exhaustivo y pruebas de aceptación del usuario (UAT).
- Actividades: las soluciones administradas se importan desde el entorno de pruebas al de QA. Se realizan pruebas exhaustivas, que incluyen rendimiento, seguridad y UAT, para garantizar que la solución cumpla con todos los requisitos y estándares.
-
Prácticas clave:
- Utilice variables de entorno para administrar la configuración y los secretos específicos del control de calidad.
- Involucre a los usuarios en UAT para recopilar comentarios y garantizar que la solución satisfaga sus necesidades.
- Automatice los procesos de prueba siempre que sea posible para mejorar la eficiencia y la precisión.
Entorno de producción (Prod):
- Finalidad: hospedar la versión en directo y orientada al usuario de la solución.
- Actividades: después de realizar correctamente las pruebas de control de calidad, la solución administrada se exporta desde el entorno de control de calidad y se importa al entorno de producción. Este entorno está estrictamente controlado para garantizar la estabilidad y la fiabilidad.
-
Prácticas clave:
- Implemente las soluciones como soluciones administradas para evitar cambios no autorizados.
- Utilice variables de entorno para administrar la configuración y los secretos específicos de la producción.
- Supervise y mantenga la solución para garantizar un rendimiento óptimo y abordar cualquier problema con prontitud.
Estrategia general:
- Separación de preocupaciones: cada entorno tiene un propósito distinto, lo que garantiza que las actividades de desarrollo, pruebas, control de calidad y producción no interfieran entre sí.
- Automatización: automatice los procesos de ALM, incluido el control de código fuente, las pruebas y las implementaciones, para mejorar la eficiencia y reducir el riesgo de errores.
- Coherencia: mantenga la coherencia en todos los entornos mediante el uso de variables de entorno y scripts de implementación automatizados.
Establecer una estrategia de pruebas
Asegúrese de tener un plan claro para validar que las cargas de trabajo y las integraciones de sus aplicaciones inteligentes funcionen según lo esperado.
Defina su estrategia de prueba para cargas de trabajo de aplicaciones inteligentes. Use el marco de trabajo de pruebas para realizar pruebas masivas de expresiones de usuario y validar que se desencadena el tema adecuado o que la primera opción «¿quiso decir?» es la correcta en el 90 % de los casos.
Pruebe las integraciones como parte de las pruebas completas de conversación de extremo a extremo con la capacidad de prueba de escala de Test Framework.
Utilice el kit Power CAT Copilot Studio para configurar agentes y pruebas. Ejecute pruebas individuales en las API de Copilot Studio (Direct Line) y evalúe las respuestas del agente frente a los resultados esperados.
Asegúrese de comprender los requisitos no funcionales como disponibilidad, cumplimiento, retención/residencia de datos, rendimiento, privacidad, tiempo de recuperación, seguridad y escalabilidad. Por ejemplo, un widget de chat en el sitio web debe cargarse e iniciar una conversación dentro de los 5 segundos posteriores a hacer clic en él. Del mismo modo, un flujo de nube desencadenado para devolver información al usuario debe proporcionar los datos deseados dentro de 10 segundos.