Los flujos de trabajo de control de calidad (QA) de la producción requieren más que la ejecución de pruebas individuales. Debe organizar las pruebas en conjuntos de regresión que se ejecutan como un lote e integrarlas en canalizaciones de integración continua y entrega continua (CI/CD) para que los resultados de las pruebas controlen las implementaciones automáticamente.
En una publicación anterior, presentamos QA Studio, una solución de referencia para la automatización del control de calidad agente creada con Amazon Nova Act. Mostramos cómo definir casos de uso individuales en lenguaje natural, ejecutarlos bajo demanda a través de navegación visual impulsada por IA e inspeccionar artefactos de ejecución con visibilidad completa de la trayectoria.
En esta publicación, ampliamos esa base para demostrar cómo QA Studio aborda las pruebas de regresión por lotes y la integración de canalizaciones a través de conjuntos de pruebas que organizan y paralelizan la ejecución, y una interfaz de línea de comandos que incorpora pruebas agentes a canalizaciones CI/CD automatizadas.
Con QA Studio, puede agrupar casos de uso individuales, cada uno de los cuales valida un recorrido de usuario específico, en colecciones llamadas conjuntos de pruebas que se ejecutan juntas. Estos conjuntos de pruebas admiten pruebas de regresión estructuradas en todas las áreas funcionales.
Las suites se ejecutan como un lote con procesamiento paralelo: cuando se ejecuta una suite, cada caso de uso se ejecuta de forma independiente en su propia tarea de trabajador de Amazon Elastic Container Service (Amazon ECS) en AWS Fargate. Debido a que cada caso de uso se ejecuta en su propia tarea de trabajo de Fargate, se puede ejecutar un conjunto de 20 pruebas de forma simultánea en lugar de secuencial. Esto reduce la duración total de la suite en relación con la ejecución en serie.
Puede organizar los conjuntos por área funcional, etapa de lanzamiento o propósito de prueba. Los ejemplos incluyen pruebas de humo que validan rutas críticas en cada implementación, conjuntos de regresión que se ejecutan en toda la aplicación y pruebas de integración que verifican los flujos de trabajo de funciones cruzadas antes del lanzamiento.
Creación y gestión de conjuntos de pruebas.
Usted crea conjuntos de pruebas en la interfaz web de QA Studio proporcionando un nombre, una descripción y etiquetas opcionales, luego agrega casos de uso existentes al conjunto. Cada caso de uso conserva su propia configuración, incluida la URL de inicio, variables, secretos y encabezados. Cuando se ejecuta la suite, estas configuraciones se aplican de forma independiente a cada caso de uso.
Figura 1: página de detalles del conjunto de pruebas que muestra casos de uso e historial de ejecución
Ejecución y resultados de la suite
Cuando se ejecuta una suite, QA Studio crea registros de ejecución individuales para cada caso de uso y los envía a la cola de trabajadores. La página de ejecución de la suite proporciona una vista agregada: cuántos casos de uso tuvieron éxito, fallaron o aún se están ejecutando. Puede profundizar en los resultados de ejecución individuales para revisar registros de trayectoria, capturas de pantalla y grabaciones de sesiones para detectar cualquier prueba fallida.
Cada suite mantiene su propio historial de ejecución, lo que le brinda una vista longitudinal de la estabilidad de la regresión. Los pases consistentes generan confianza en la funcionalidad probada, mientras que los fallos intermitentes resaltan áreas que necesitan atención.
Figura 2: Resultados de ejecución de la suite que muestran el estado agregado y los resultados de los casos de uso individuales
La interfaz web de QA Studio funciona bien para la creación de pruebas interactivas y la ejecución bajo demanda. Las canalizaciones de CI/CD requieren una interfaz diferente: ejecución de línea de comandos con salida estructurada, autenticación no interactiva y códigos de salida que se integran con los orquestadores de canalizaciones.
La CLI de QA Studio (qa-studio) proporciona esta interfaz. Se conecta al mismo backend API que la aplicación web. Pero en lugar de enviar pruebas a los trabajadores de Fargate, las ejecuta con Amazon Nova Act en la máquina donde se ejecuta la CLI, como un ejecutor de CI/CD. Los resultados se informan a la implementación de QA Studio.
Instalación y autenticación
La CLI de QA Studio es parte del repositorio GitHub del proyecto. Clona el repositorio, luego instala la CLI como un paquete de Python con sus dependencias de ejecución opcionales:
Para entornos CI/CD, la CLI admite la autenticación de credenciales de cliente OAuth 2.0. Usted crea un cliente OAuth en la interfaz web de QA Studio con los alcances requeridos (api/suite.read, api/suite.write, api/executions.read, api/executions.write, api/usecases.read, api/usecases.execute), luego configura las credenciales como variables de entorno de canalización:
La CLI solicita y almacena automáticamente en caché los tokens de acceso, actualizándolos cuando caducan. No es necesario iniciar sesión en el navegador interactivo.
Ejecución de pruebas y suites
El comando qa-studio run ejecuta casos de uso individuales o conjuntos de pruebas completos:
Anulaciones de entorno y variables
Las canalizaciones de CI/CD a menudo necesitan ejecutar las mismas pruebas en diferentes entornos. La CLI admite varios mecanismos de anulación que modifican el comportamiento de las pruebas sin cambiar las definiciones de pruebas almacenadas en QA Studio.
El indicador –base-url reemplaza el dominio de la URL inicial conservando la ruta y los parámetros de consulta. Luego, una sola prueba puede apuntar a entornos de desarrollo, ensayo o producción:
El indicador –var anula las variables de plantilla definidas en el caso de uso. Las variables a las que se hace referencia en los pasos de prueba que utilizan la sintaxis {{VariableName}} se sustituyen en tiempo de ejecución. Esto admite la configuración específica del entorno sin duplicar definiciones de prueba:
El indicador –region controla en qué región de AWS se ejecuta el navegador y –model-id selecciona la versión del modelo de Amazon Nova Act:
Encabezados y secretos
Los casos de uso pueden definir encabezados HTTP personalizados que se envían con cada solicitud durante la ejecución de la prueba. Esto es útil para tokens de autenticación, indicadores de funciones o identificadores personalizados que requiere la aplicación bajo prueba. Los encabezados se configuran en la configuración del caso de uso y se aplican automáticamente durante la ejecución de la interfaz web y la CLI.
Los secretos proporcionan almacenamiento seguro para valores confidenciales como contraseñas, claves API o tokens. Los secretos se almacenan en AWS Secrets Manager y se cifran en reposo. QA Studio está diseñado para que los valores secretos no se escriban en registros de ejecución o registros históricos. Los pasos de prueba hacen referencia a secretos por nombre y los valores reales se recuperan en tiempo de ejecución. Esta separación significa que las canalizaciones de CI/CD pueden ejecutar pruebas que requieren credenciales sin exponer esas credenciales en la configuración o los registros de la canalización.
Códigos de salida e integración de tuberías
La CLI utiliza códigos de salida que se asignan directamente a los estados de éxito y error de la canalización:
Código de salida Significado Comportamiento de la canalización 0 Todas las pruebas aprobadas La canalización continúa 1 Una o más pruebas fallaron La canalización falla (falla de prueba) 2 Error de CLI (autenticación, configuración, API) La canalización falla (error de infraestructura)
Este modelo de tres estados permite a las canalizaciones distinguir entre fallas de prueba (código de salida 1) y problemas de infraestructura (código de salida 2). Puede configurar diferentes estrategias de notificación o reintento para cada caso.
El indicador –format controla el formato de salida. El formato json predeterminado proporciona resultados estructurados para consumo programático. El formato humano proporciona un resumen legible de los registros de canalización:
Durante la ejecución, la CLI crea registros de ejecución en QA Studio, actualiza los estados de los pasos en tiempo real y carga artefactos, incluidos registros de trayectoria y grabaciones de sesiones. Puede monitorear las ejecuciones activadas por CLI desde la interfaz web junto con las ejecuciones activadas manualmente, manteniendo un historial de ejecución unificado independientemente de cómo se iniciaron las pruebas.
Figura 3: Salida de ejecución de CLI que muestra los resultados de la prueba
Los siguientes ejemplos demuestran la integración de QA Studio con herramientas CI/CD comunes. Cada ejemplo supone que las credenciales del cliente OAuth y las credenciales de AWS se almacenan como secretos de canalización.
Acciones de GitHub
La condición if: always() en el paso de carga de artefactos verifica que las grabaciones y registros de prueba se conserven incluso cuando las pruebas fallan, lo que proporciona el contexto de depuración que necesita para investigar las fallas.
GitLab CI
Las variables de CI de GitLab (OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, OAUTH_TOKEN_ENDPOINT, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) deben configurarse como variables de CI/CD protegidas y enmascaradas en la configuración del proyecto. El trabajo de pruebas de regresión utiliza el activador de programación de GitLab y se ejecuta solo cuando lo activa una programación de canalización en lugar de una inserción de código.
Jenkins
Jenkins usa el bloque withCredentials para inyectar secretos en el entorno de compilación sin exponerlos en la salida de la consola. El post.always bloquea los artefactos de prueba de archivos independientemente del resultado de la compilación.
Los conjuntos de pruebas y la integración de CI/CD amplían QA Studio de una herramienta de creación de pruebas interactiva a una plataforma para el control de calidad continuo. Los conjuntos de pruebas organizan la cobertura de regresión en colecciones manejables con ejecución paralela. La CLI lleva la ejecución de pruebas agentes a canalizaciones automatizadas con anulaciones de entorno, manejo seguro de credenciales y códigos de salida que se asignan a los estados de éxito y error de la canalización.
Estas capacidades se basan en la base descrita en nuestra publicación anterior: definiciones de pruebas en lenguaje natural, navegación visual impulsada por IA y visibilidad de trayectoria de un extremo a otro. Juntos, demuestran cómo la automatización de control de calidad agente con Amazon Nova Act puede integrarse en los flujos de trabajo de entrega de software existentes, proporcionando comentarios de calidad automatizados sin necesidad de mantener un código de prueba específico del marco.
En una publicación futura, planeamos explorar cómo la automatización de pruebas agentes puede extenderse a las aplicaciones móviles.
La solución de referencia de QA Studio, que incluye conjuntos de pruebas e integración CLI, está disponible en GitHub. Para obtener instrucciones de implementación y documentación detallada, consulte el archivo README del proyecto.