En este artículo abarcaremos conceptos básicos a tener en cuenta en las pruebas automatizadas de software:

¿Qué son la automatización de pruebas?

Consiste en aplicar el uso de herramientas de software para automatizar el proceso manual de revisión y validación de un producto de software.

¿Qué es entrega continua(CD-Continuous Delivery)?

Consiste en publicar versiones de codigo nueva lo más rápido posible.

¿Qué es integración continua(CI-Continuos Integration)?

Consiste en ejecutar pruebas automatizadas ante cualquier cambio de codigo nuevo y verificar que dicho codigo no afecte a la integridad de las funciones establecidad.

Lo entendido en una gráfica:

Untitled

¿Qué automatizar primero?

  1. Las pruebas EndToEnd: Son las pruebas de flujos de inicio a fin que el usuario visualizará más utiles, y que garantizen no errores cuando ocurra algun cambio.
  2. Las pruebas unitarias: Abarcan unidades individuales de codigo. Consiste en validar en base a una entrada esperada, una salida esperada.
  3. Las pruebas de integración: Son pruebas que abarcan servicios de terceros, y estas pruebas nos permiten validar el codigo desarrollado. Son similares a las pruebas unitarias, en la manera como se escriben y las herramientas que utiliza.
  4. Las pruebas de rendimiento: Son pruebas que se evalua la capacidad y velocidad de respuesta de un proyecto de software. Algunos ejemplos de métricas: “Tiempos de carga de página”, “Tiempo de primera visualización”, “Tiempos de respuesta de los resultados de búsqueda”. Las pruebas de rendimiento automatizadas ejecutaran casos que alertaran al equipo cuando surja alguna variación de los tiempos establecidos.

¿Qué pruebas no debemos automatizar?

  1. Pruebas exploratorias: Abocadas a revisar el software con el fin de identificar algun comportamiento inesperado o error.
  2. Pruebas de regresión visual: Son pruebas destinadas a diseño, colores y fuentes, estas son más baratas realizarlas con un tester.
  3. Desarrollo de un marco de automatizacion para el equipo devops: No existe una clave, sólo se debe tener en cuenta diversos puntos.