Ejecución de pruebas paralelas en compilaciones por lotes
Puede utilizar AWS CodeBuild para ejecutar pruebas paralelas en compilaciones por lotes. La ejecución de pruebas paralelas es un método de prueba en el que varios casos de prueba se ejecutan simultáneamente en diferentes entornos, equipos o navegadores, en lugar de ejecutarse secuencialmente. Este método puede reducir significativamente el tiempo total de ejecución de las pruebas y mejorar su eficiencia. En CodeBuild, puede dividir las pruebas entre varios entornos y ejecutarlas simultáneamente.
Las principales ventajas de la ejecución de pruebas paralelas son:
-
Tiempo de ejecución reducido: pruebas que tardarían horas de forma secuencial pueden completarse en minutos.
-
Mejor utilización de los recursos: hace un uso eficiente de los recursos informáticos disponibles.
-
Comentarios más rápidos: la realización más rápida de las pruebas permite obtener comentarios más rápidamente a los desarrolladores.
-
Rentable: ahorra tiempo y costos de computación a largo plazo.
Al implementar la ejecución de pruebas paralelas se suelen considerar dos enfoques principales: entornos separados y multiproceso. Si bien ambos métodos buscan conseguir la ejecución de pruebas simultáneas, difieren significativamente en su implementación y efectividad. Los entornos separados crean instancias aisladas en las que cada conjunto de pruebas se ejecuta de forma independiente, mientras que el multiproceso ejecuta varias pruebas simultáneamente dentro del mismo espacio de proceso utilizando diferentes subprocesos.
Las principales ventajas de los entornos separados en comparación con el multiproceso son:
-
Aislamiento: cada prueba se ejecuta en un entorno completamente aislado, lo que evita la interferencia entre pruebas.
-
Conflictos de recursos: no hay competencia por recursos compartidos, algo que suele producirse en el multiproceso.
-
Estabilidad: es menos propenso a condiciones de carrera y a problemas de sincronización.
-
Depuración más sencilla: cuando fallan las pruebas, es más fácil identificar la causa, ya que cada entorno es independiente.
-
Administración del estado: administre fácilmente problemas de estado compartidos que afectan habitualmente a las pruebas multiproceso.
-
Mejor escalabilidad: puede agregar fácilmente más entornos sin complejidad.
Temas
Compatibilidad en AWS CodeBuild
AWS CodeBuild: proporciona compatibilidad sólida para la ejecución de pruebas paralelas a través de su característica de compilación por lotes, diseñada específicamente para aprovechar la ejecución de entornos separados. Esta implementación se alinea perfectamente con los beneficios de los entornos de pruebas aislados.
- Compilación por lotes con distribución de pruebas
-
La funcionalidad de compilación por lotes de CodeBuild permite la creación de múltiples entornos de compilación que se ejecutan simultáneamente. Cada entorno funciona como una unidad completamente aislada, con sus propios recursos de computación, entorno de tiempo de ejecución y dependencias. A través de la configuración de compilación por lotes puede especificar cuántos entornos paralelos necesitan y cómo deben distribuirse las pruebas entre ellos.
- Prueba de CLI de partición
-
CodeBuild incluye un mecanismo de distribución de pruebas integrado a través de su herramienta de la CLI,
codebuild-tests-run, que divide automáticamente las pruebas en diferentes entornos. - Agregación de informes
-
Uno de los puntos fuertes clave de la implementación de CodeBuild es su capacidad para administrar la agregación de resultados de las pruebas sin problemas. Si bien las pruebas se ejecutan en entornos separados, CodeBuild recopila y combina automáticamente los informes de prueba de cada entorno en un informe de prueba unificado en el nivel de compilación por lotes. Esta consolidación proporciona una vista integral de los resultados de las pruebas y, al mismo tiempo, mantiene los beneficios de eficiencia de la ejecución paralela.
El siguiente diagrama explica el concepto completo de ejecución de pruebas paralelas en AWS CodeBuild.