Está en la página 1de 23

Formación en Automatización de Pruebas

Noviembre 2019
Contenido

01 OBJETIVO DEL CURSO

02 INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

03 LINEAMIENTOS PARA IMPLENTAR AUTOMATIZACIÓN

04 ENFOQUES PARA AUTOMATIZAR

05 ARQUITECTURA DE AUTOMATIZACIÓN DE PRUEBAS

06 MÉTODOS DE ESTIMACIÓN PARA AUTOMATIZACIÓN

07 HERRAMIENTAS PARA AUTOMATIZACIÓN DE PRUEBAS


© 2019 Everis
OBJETIVO DEL CURSO

© 2019 Everis
01
OBJETIVO DEL CURSO

Este programa de estudio se basa en los estándares de calidad de automatización de pruebas de ISTQB Advanced Level Test Automation
Engineer.

Los Objetivos de la sesión son:

• Describir las tareas de un ingeniero de automatización de prueba (IAP).


• Determinar conceptos, métodos, herramientas y procesos para automatizar.
• Enseñar patrones de diseño para automatizar.
• Utilizar herramientas y/o framework para la automatización de pruebas.

© 2019 Everis
INTRODUCCIÓN A LA AUTOMATIZACIÓN
DE PRUEBAS

© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

En las pruebas de software, la automatización de pruebas es una o más de las siguientes tareas:

• Uso de herramientas de software especializado para controlar y configurar las condiciones previas
de pruebas.
• Ejecución de pruebas.
• Comparación de resultados reales con resultados previstos.

Se espera que la automatización de las pruebas ayude a ejecutar muchos casos de prueba de
manera consistente y repetida en diferentes versiones del SSP y/o entornos.

Pero.. La automatización de pruebas es más que un mecanismo para ejecutar un conjunto de pruebas sin interacción
humana. Implica un proceso de diseño de productos de prueba, que incluye:

 Software
 Documentación
 Casos de prueba
 Entornos de prueba
 Datos de prueba

© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

Objetivos Ventajas

✓ ✓
Se pueden ejecutar más pruebas por
Mejora de la eficiencia de las pruebas
compilación

✓ Proporcionar una cobertura de funciones más


amplia ✓ Las pruebas pueden ser más complejas

✓ Reducir el costo total de la prueba ✓ Las pruebas se ejecutan más rápido

Retroalimentación más rápida con respecto a


✓ Acortar el periodo de ejecución de prueba ✓ la calidad del software.

© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

En su libro Succeeding with Agile, Mike Cohn propuso una clasificación de test automatizados conocida como la pirámide de
pruebas.

Pruebas
Manuales
Pruebas
Manuales

Automatización Pruebas
GUI
Automatización Pruebas
GUI

Automatización Pruebas Automatización Pruebas API


Integración
Automatización Pruebas Integración

Automatización Automatización Pruebas Componentes


Pruebas
Unitarias
Automatización Pruebas Unitarias

Modelo Cascada Modelo Ágil

© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

En su libro Agile Testing, Lisa Crispín y Janet Gregory definen la clasificación de las pruebas ágiles en el siguiente cuadrante:

Orientado al negocio
Automatizada y
Manual
Manual

Pruebas funcionales
Ejemplos Pruebas Exploratorias
Pruebas de Historia Pruebas de Usabilidad
Prototipos UAT (User Acceptance Testing)

Críticas al Producto
Simuladores Alpha/Beta
Apoyo al Equipo

Q2 Q3
Q1 Q4

Pruebas unitarias Pruebas de rendimiento y carga


Pruebas componentes Pruebas de Seguridad

Automatizada Herramientas
© 2019 Everis Orientado a la tecnología
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

Para que un proyecto de automatización de pruebas tenga éxito se recomienda incluir los siguientes factores:

Arquitectura de Automatización de la Prueba (AAP)

La AAP está muy alineada con la arquitectura de un producto de softaware. Debe quedar claro qué requisitos funcionales y no
funcionales deben de apoyar la Arquitectura. A menudo, la AAP está diseñada para el mantenimiento, el rendimiento y la
capacidad de ser aprendido.

Capacidad de Ser Probado del SSP

El SSP debe estar diseñado para que la capacidad de ser probado sea compatible con las pruebas automatizadas. Un factor
clave para el éxito de la automatización reside en la facilidad de implementación de guiones de prueba automatizados.

Estrategia de Automatización de la Prueba

Al crear la estrategia de automatización, tenga en cuenta los costos, beneficios y riesgos de aplicarla a diferentes partes del
código. Se debe de tener en cuenta la posibilidad de probar tanto la interfaz de usuario como la API con casos de prueba
automatizados para verificar la consistencia de los resultados.

© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

Marco de Trabajo de Automatización de la Prueba (MTAP)

Un marco de trabajo de automatización de la prueba que sea fácil de utilizar, está bien documentado y se puede mantener, admite un
enfoque coherente para automatizar las prueba.

Para establecer un MTAP fácil de usar y mantener, se debe hacer lo siguiente:

• Implementar servicios de gestión de información: Los informes de prueba deben proporcionar información (paso/fallo/error/no
ejecutado/abortado, estadístico, etc.).

• Abordar el entorno de prueba adecuadamente: Tener un entorno de prueba dedicado es necesario en las pruebas automatizadas.

• Documentar los casos de prueba automatizados: Los objetivos para la automatización de pruebas deben ser claros, p. ej., qué
partes de la aplicación se deben probar, en qué grado y qué atributos se deben probar (funcionales y no funcionales)

• Permitir un mantenimiento fácil En el mejor de los casos, los casos de prueba automatizados deberían mantenerse fácilmente.
Para ello, los casos deben ser fácilmente analizables, modificables y ampliables.

• Mantener las pruebas automatizadas actualizadas: cuando los requisitos nuevos o modificados hacen que las pruebas o los juegos
de pruebas fallen, no deshabilite las pruebas fallidas, corríjalas.

• Supervisar y restaurar el SSP: En la práctica real, para ejecutar continuamente un caso de prueba o un conjunto de casos de
prueba, el SSP debe monitorearse continuamente

© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS

ANALIZAR SSP

el análisis de la SAP se
EVOLUCIONAR
DISEÑAR SSP
SSP ANALIZAR SAP
basa en el diseño del SSP

CICLO DE VIDA DE
DESARROLLO SOFTWARE EVOLUCIONAR
DISEÑAR SAP
PARA EL SSP SAP

CICLO DE VIDA DE
DESPLEGAR DESARROLLAR
SSP SSP DESARROLLO SOFTWARE
PARA PRUEBAS
AUTOMATIZADAS

las pruebas del SSP requieren


PROBAR SSP DESPLEGAR DESARROLLAR
SAP SAP
el despliegue de la SAP

PROBAR SAP

Figura 1: Sincronización de los procesos de desarrollo de la SAP y el SSP


© 2019 Everis
LINEAMIENTOS PARA IMPLEMENTAR
AUTOMATIZACIÓN

© 2019 Everis
03 LINEAMIENTOS PARA IMPLEMENTAR
AUTOMATIZACIÓN

Antes de iniciar con un proyecto de automatización de pruebas, es necesario contemplar lo siguientes lineamientos que nos
permitirá determinar si se automatiza un SSP o se descarta:

01 02 03 04

Dimensionar Evaluar lo qué Definir rol de


Definir se puede pruebas
inversión y
objetivos automatizar manuales
beneficio

Gobierno de Definir estrategia de Definir tipos de


Adecuar pruebas
Scripts diseño y mante.
herramientas automa.
08 07 06 05

Fuente: CoE QA

© 2019 Everis
ENFOQUES PARA AUTOMATIZAR

© 2019 Everis
04
ENFOQUES PARA AUTOMATIZAR

Los casos de prueba automatizados también deben definir datos de prueba para la interacción con el SSP e incluir pasos de
verificación para comprobar que el SSP logró el resultado esperado. Se puede utilizar varios enfoques para crear la secuencia de
acciones:

Enfoque de captura/reproducción Pruebas guiadas por palabras clave

Escritura de guiones por procesos


Escritura de guiones lineales

Guión estructurado Pruebas basadas en modelo

© 2019 Everis
ARQUITECTURA DE AUTOMATIZACIÓN
DE PRUEBAS

© 2019 Everis
05
ARQUITECTURA DE AUTOMATIZACIÓN DE PRUEBAS

Project Management

Test Automation
Test Generation Layer
Capa de Generación de la Prueba
Manual Test
Design Models
• Diseño manual de casos de prueba
• Desarrollar , capturar o derivar datos de prueba.

Test Definition Layer


Test Test Test Capa de Definición de la Prueba
Configuration Management

Conditions Cases Procedures • Definir guiones para la ejecución de los casos de


prueba.

Test Management
Test Data
• Segmentar/restringir, parametrizar o instanciar
Test Library datos de prueba.

Test Execution Layer Capa de Ejecución de la Prueba


Test Execution • Ejecutar de casos de prueba automáticamente.
• Configurar y parametrizar la configuración de
Test Logging Test Reporting prueba.

Capa de Adaptación de a Prueba


Test Adaptation Layer
• Controlar el arnés de prueba.
• Distribuir la ejecución de prueba en múltiples
Simulator
DataBase

Emulator
Protocol
Services

dispositivos de prueba/interfaces de prueba o


GUI

API

ejecutar pruebas localmente.

Test Automation Framework


© 2019 Everis
MÉTODOS DE ESTIMACIÓN PARA
AUTOMATIZACIÓN

© 2019 Everis
06
MÉTODOS DE ESTIMACIÓN PARA AUTOMATIZACIÓN

Si bien la estimación del esfuerzo para un proyecto de SAP es responsabilidad de un JAP, un IAP debe apoyar al JAP en esta
tarea, proporcionando buenas estimaciones para el tiempo y la complejidad de un diseño de AAP. Los métodos de estimaciones
incluyen los siguientes:

Estimación basada Estimación por Estimación Estimación Estimación


04
en analogías Estructura Paramétrica basada en tamaño grupales

Puntos de Descomposición Modelo de Costo Análisis de Planificación


funciones de Trabajo Constructivo puntos de historia Póker

Estimación tres Análisis de casos


puntos de uso

Estimación por
expertos

© 2019 Everis
HERRAMIENTAS PARA AUTOMATIZACIÓN
DE PRUEBAS

© 2019 Everis
07 HERRAMIENTAS PARA AUTOMATIZACIÓN DE
PRUEBAS

Junit es un conjunto de bibliotecas que son utilizadas para hacer pruebas unitarias.

TestNG, es un framework de pruebas que trabaja en Java

Selenium, es un conjunto de librerías que permite automatizar aplicaciones web con distintos navegadores
04
(Chrome, Opera, Edge, Mozilla, Safari, etc.).

Appium, es framework de automatización para aplicaciones híbridas y nativas para móviles. Maneja
aplicaciones iOS, Android y Windows.

Protractor, es framework de automatización end-to-end para aplicaciones Angular.

Serenity BDD, es un conjunto librerías que permite automatizar pruebas de aceptación, produciendo
reportes más completos para una toma de decisiones eficaz.

Cucumber, es un conjunto librerías que permite leer especificaciones ejecutables escritas en texto plano
(Gherkin).

© 2019 Everis
Gracias

También podría gustarte