<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=160269078105920&amp;ev=PageView&amp;noscript=1">

QA: ¿Necesito un Framework de Automatización?

Lunes 06 de Abril 2020.
Tiempo de Lectura: 2 minutos.
Por Marlon Cabraca



¿Qué es un Framework de Automatización? 

En las pruebas de software, la automatización nos permite una ejecución de pruebas más rápida y constante en comparación con las pruebas manuales. En la actualidad, para realizar pruebas automatizadas funcionales se cuenta con herramientas como Selenium, TestNG, Sikuli, Cypress, Watir, TestCafe, WebdriverIO, entre otros. En cada una de estas contamos con opciones para realizar comparaciones entre resultados obtenidos y resultados esperados, y realizar reportes.

Un framework se encarga de encapsular funciones genéricas y comunes del software que se requiera, a la vez que estandariza la generación de código. Esto agiliza el alcance de requerimientos para así disminuir el tiempo que se dedica a tareas de bajo nivel requeridas para el proyecto. 

Un framework de automatización nos permite tener un conjunto de pautas o reglas para la generación de casos de prueba y estandarizar la ejecución de pruebas tales como UI, API, de rendimiento, seguridad, entre otras.

Tipos de Framework de Automatización:

    • Data driven: Son aquellos en que los datos requeridos para la ejecución de las pruebas (llamados ‘dataset’), son separados del código de las pruebas, ya sea en archivos de Excel, .csv, json, xml o directamente a una base de datos. Con esto, en caso de que tengamos que cambiar los resultados esperados, no tendremos que modificar las pruebas sino solamente la fuente de los datos. Además, la aplicación puede ser probada con múltiples conjuntos de valores de datos durante las pruebas de regresión.
    • Keyword driven: También llamada ‘Table-driven’. Con esta técnica se identifican una serie de palabras clave y luego se asigna cada una de éstas a una serie de acciones como login, clicks, cerrar ventana. Requiere tablas en las que se almacenen los “keywords” y sus acciones, tablas para los datos a utilizar y los scripts que interactúan y se ocupen de la parte lógica. 
    • Modular: Este tipo de framework incluye la creación de scripts pequeños e independientes que representan módulos, secciones y funciones de la aplicación a probar. Esta separación nos permite una mejor mantenibilidad y actualización de las pruebas.
    • Behavior Driven Development: Utilizan lenguaje natural, no técnico, para la especificación de las pruebas, con el objetivo de que las mismas sean entendibles tanto para analistas de negocio como para desarrolladores y testers. 
    • Hybrid: Cada uno de los tipos de framework anteriormente mencionados cuenta con una serie de ventajas, por lo que es usual que los frameworks de automatización que se utilizan cuenten con un híbrido de dos o más de ellos; especialmente la parte de modularización y utilización de data sets. 

Razones Para Usar un Framework:

    • Reutilización de código; nos permite enfocarnos en el desarrollo de nuevas pruebas y ampliación de la cobertura  
    • Mantenimiento y escalabilidad
    • Consistencia e integración
    • Estándar para el equipo de trabajo
    • Reducción de los tiempos de ejecución de las pruebas
    • Integración de reportes acordes a las necesidades del equipo

Ventajas del Framework de Avantica:

Avantica cuenta con un framework de automatización híbrido que ofrece: 

  • Automatización de UI, desktop web y mobile
  • Manejo adecuado de excepciones
  • Integración con la herramienta Testlink
  • Capa de manejo de datos
  • Integración con herramientas de integración continua

La utilización de un framework de automatización nos da múltiples ventajas comparado con la simple utilización de una herramienta que nos puede llevar a malas prácticas, reescritura de funciones similares y dificultades de mantenimiento. Debido a esto, podemos concluir que sin importar la herramienta de automatización que estemos utilizando, es importante que por medio de las metodologías anteriormente mencionadas, la integremos en algún framework para así tener todos los beneficios de la misma en lo que queramos automatizar. 

Acerca de Avantica

En Avantica trabajamos como un socio de software que le ayuda a cumplir sus objetivos comerciales y dar solución a cada reto que se le presente. Ofrecemos equipos dedicados y buscamos constantemente las mejores metodologías para brindarle los mejores resultados.

Iniciemos un proyecto

ANTERIOR
Realidad Aumentada y Virtual: Líderes del Teletrabajo
SIGUIENTE
Pandemia del Coronavirus promoverá la adopción permanente de teletrabajo en el mundo

¿Qué calificación merece este artículo?

TAMBIÉN LE PODRÍA INTERESAR