Icono del sitio Alexander Andrade

Cómo elaborar una estrategia de automatización de pruebas

Diseñar e implementar una estrategia de automatización de pruebas puede ser abrumador. Hay varios puntos a considerar y al investigar, se hallará muchos puntos de vista a considerar. La forma en que se desarrolla e implementa una estrategia de automatización es única para las necesidades y habilidades de cada organización. En esta serie de artículos de tres partes, se proporcionarán algunas ideas sobre cómo diseñar e implementar estas estrategias.

En este artículo, se discutirá el POR QUÉ desea comenzar a automatizar, o sea los objetivos, y el QUIÉN será el propietario, o responsable. Si bien esos dos puntos parecen sencillos, hay elementos a considerar que pueden ser exclusivos de las circunstancias o que quizá no se tenían “bajo el radar”.

Tabla de contenido de la serie “Cómo elaborar una estrategia de automatización de pruebas”

Tal vez te interese el artículo Hoja de ruta para convertirse en un Automatizador de Pruebas.

Capítulo 1: Identifique sus objetivos y responsables

Identificación de sus objetivos de automatización

Responder por qué desea automatizar es una pregunta fundamental e importante. Una vez que identifique esto, se debe hacer referencia continuamente a esta respuesta a lo largo del proceso de automatización. Es una prioridad asegurar que se está implementando técnicas o herramientas que ayudan a alcanzar los objetivos planteados. A continuación, se presentan algunos objetivos comunes que se pueden considerar en la estrategia:

Identificación del QUIEN

Ahora que se ha definido el por qué, la siguiente parte crucial es el quién. Definir el quién inicial, así como el quién a largo plazo, es importante para el éxito de su estrategia de automatización de pruebas. A continuación, se listan las áreas que necesitará para definir un para quién y algunas opciones que tiene para cada una.

Scripting y mantenimiento 

Hay algunas consideraciones para tener en cuenta al definir quién será el propietario de los scripts de pruebas. Hay necesidades a corto plazo que esencialmente es automatiar la suite de regresión cuanto antes. Además, existen necesidades a largo plazo, como agregar nuevas funcionalidades a la suite de automatización, y mantenimiento de los scripts, ejecuciones y validaciones existentes. Definir quién será el propietario de estos es una decisión que la organización deberá tomar en conjunto. A continuación, se muestran algunas opciones comunes a considerar:

  1. Ingenieros de automatización dedicados o SDET (Software development engineers in Tests: desarrolladores de software especializados en pruebas):los analistas QA de automatización dedicados permiten poner en funcionamiento rápidamente una suite de automatización. Estos analistas tienen experiencia y habilidades tanto para configurar un marco de automatización (frameworks) como para desarrollar scripts de pruebas. Una vez que la suite esté en funcionamiento, se deberá considerar el esfuerzo necesario para dar mantenimiento a los scripts. Los automatizadores a tiempo completo permiirán concentrar esfuerzos garantizando que la suite de automatización se mantenga estable, confiable y genere un alto nivel de confianza.
  2. Desarrolladores: se puede optar por pedirle asignarle al equipo de desarrollo que programe y ejecute la automatización. Sin embargo, esto puede afectar los tiempos de desarrollo de nuevas funcionalidades, así como también lo hará en el futuro el proceso de mantenimiento y actualización de los scripts. La industria, actualmente delega al equipo de desarrollo la creación de pruebas unitarias que garanticen la correctitud del código desarrollado. Es el grupo más grande de pruebas y la base de la pirámide de pruebas de automatización. Se revisará la pirámide de pruebas en el capítulo tres de esta serie: ¿Qué debemos automatizar?
  3. Ingenieros de pruebas manuales: implementar un marco de automatización y programar su suite de regresión es una tarea que requiere mucho tiempo y habilidades altamente desarrolladas, por lo cual es necesario tener un soporte para pruebas manuales, que debe ser ejecutadas por alguien diferente al automatizador, o sea, son dos roles diferentes. Se debe tener presente que uno de los objetivos “para qué” de implementar automatizar las pruebas es reducir el tiempo de prueba. Pedirle a alguien que no solo valide manualmente los cambios, sino que también se concentre en desarrollar el software que probará el software (la automatización), puede conducir al fracaso en el logro de ese objetivo. 

Ejecución y validación de pruebas

Cuando se implementa por primera vez un marco de automatización, normalmente, no se integra directamente a un pipeline de CI / CD. Como tal, se debe considerar quién será responsable de ejecutar los scripts y validar los resultados. A continuación, se muestran algunas opciones comunes a considerar:

  1. SDETssi se contrata ingenieros de automatización dedicados para la creación y mantenimiento de scripts de pruebas, podría tener sentido que esas mismas personas se apropien de la ejecución y validación de las pruebas. De esta forma, los “falsos positivos” de las pruebas son gestionados antes de crear una alerta inexistente en todo el equipo. 
  2. Desarrolladores: Pedir a los desarrolladores que realicen pruebas y validen fallas ciertamente los alejará de su objetivo principal de desarrollar nuevas funcionalidades para el proyecto u organización. Además, la tarea de ejecutar y validar fallas requiere unas habilidades diferentes a las de desarrollo de scripts de pruebas, que en últimas es desarrollo de software. Por lo tanto, usarlos en esta capacidad puede limitar la cantidad de trabajo que pueden realizar.
  3. Ingenieros de pruebas manuales: tener testers manuales que validen las ejecuciones de pruebas de automatización puede ser una buena opción para algunas organizaciones. Usar sus habilidades para profundizar en las fallas y validarlas es una extensión de sus actividades de prueba diarias. Pero se debe tener un proceso de validación y corrección de los “falsos positivos” por parte de los automatizadores para evitar que los testers manuales se concentren en temas irresolubles.

Conclusiones

Después de leer este artículo, ahora debería sentirse cómodo teniendo estas discusiones entre su equipo e identificando los objetivos que está tratando de lograr en su viaje para crear una estrategia de prueba de automatización. Además de los objetivos, asegúrese de estar de acuerdo sobre quién será el propietario de áreas específicas como desarrollo de scripts de automatización de pruebas, mantenimiento y validaciones de fallas. Identificar esto en detalle, por adelantado, le ahorrará tiempo y dolores de cabeza en el futuro.

Fuentes

Basado en Automation Test Strategy: Identify Your Goals and Ownership por Johanna South. 

Imagen por Firmbee.com en Unsplash.

Author: Alexander Andrade

Ingeniero de Sistemas, MBA y Especialista en Gerencia de Proyectos Tel: +57-317-241-5118
Salir de la versión móvil