Está en la página 1de 13

Frameworks de automatización de pruebas

TESTING Y CALIDAD DE SOFTWARE


Mg. Carlos Chavez

Universidad Tecnológica
Universidad Tecnológica de de
LimaLima
Sur –Sur – UNTELS
UNTELS 2021. 2021.
04RG-2021-UNTELS-V.ACAD
04RG-2021-UNTELS-V.ACAD
Todos
Todoslos
losderechos reservados
derechos reservados
Automatización de pruebas

Históricamente, la automatización surgió para reducir el


esfuerzo humano requerido en actividades que podrían
ser replicadas por un sistema o máquina programable.
Al automatizar pruebas de software se persigue el
objetivo de simplificar el trabajo costoso, repetitivo o
complejo, haciéndolo efectivo y más productivo.

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
¿Cuándo automatizar?

En primer lugar, tenemos que entender completamente y


convertirnos en expertos en el proceso manual, y solo entonces
es posible automatizar.
El conocimiento completo del proceso manual es el pilar para
saber cuándo algo es automatizable, lo que implica que las
pruebas manuales no son completamente sustituibles. 

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Mitos de la automatización

 Automatizar pruebas de software tiene sus ventajas y


desventajas. Depende del proyecto, el tiempo, el costo, la
calidad y la metodología.

 Basado en lo anterior, otro aspecto importante es que más allá de


automatizar o no automatizar, se debe comprender el contexto.

 Además, hay que considerar que todo lo que hace se basa en


cumplir los objetivos de la mejor manera posible,
seleccionando y aplicando los métodos, herramientas y
habilidades apropiadas.

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Principios
Los siguientes siete principios ayudan a comprender el objetivo del
testing, ya sea manual o automatizado:

• El valor de cualquier práctica depende de su contexto.


1
• Hay buenas prácticas en contexto, pero no hay “buenas prácticas”.
2
• Las personas, trabajando juntas, son la parte más importante del contexto de cualquier
3 proyecto.

• Los proyectos no son estáticos y a menudo toman caminos impredecibles.


4
• El producto es una solución. Si el problema no se resuelve, el producto no funcionará.
5
• El testing de software es un proceso intelectual desafiante.
6
• Solo a través del juicio y la habilidad, practicados cooperativamente durante todo el proyecto,
podremos hacer las cosas correctas en el momento adecuado para probar nuestros productos
7 de manera efectiva.

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Pirámide de automatización de pruebas de Mike
Cohn:

A la izquierda, vemos cómo se realiza comúnmente la automatización y a la


derecha, podemos ver la forma ideal, donde las pruebas unitarias tienen el mayor
peso en la pirámide.
Universidad Tecnológica de Lima Sur – UNTELS 2021.
04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Pruebas Automatizadas vs. Pruebas
Manuales

 Las pruebas son complementarias en la búsqueda de una mejor


calidad de software.

 Si pensamos en el retorno de la inversión de las pruebas, probar una


nueva funcionalidad manualmente le permite conocer más sobre la
aplicación, a bajo costo y rápidamente.

 A medida que se adquiere conocimiento, el inventario de pruebas


aumenta. En consecuencia, el costo también sube para las pruebas
manuales.

 Por otro lado, la automatización tiene un costo inicial más alto que
disminuye a medida que avanza. Este comportamiento se puede ver a
continuación:

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Pruebas Automatizadas vs. Pruebas
Manuales

Analizando lo anterior, vemos que la automatización tiene una gran inversión inicial hasta el
“punto de quiebre” donde comenzamos a ver el impacto positivo que genera en los costos a
largo plazo.
En contraste con las pruebas manuales, para lo cual podemos estimar que ambas actividades de
pruebas son totalmente compatibles, generando beneficios a corto y largo plazo.

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Objetivos de la Automatización de Casos de Prueba

A continuación, se listan algunos escenarios en los que probablemente tenga sentido


automatizar:

Hay una
deuda
técnica que
eliminar.

Las pruebas
de regresión
requieren
mucho
tiempo.

El proyecto
es altamente
complejo y
de largo
plazo

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
¿Cuáles casos de prueba son automatizables?

Estos casos de Consiste en verificar las Puede haber casos Por ejemplo, se
funciones críticas y de alta
prueba de prioridad que, si fallan, en un proyecto que puede presentar que
regresión son afectan en gran medida el son complejos de al probar
altamente modelo de negocio. Es por
reproducir manualmente una
eso que este enfoque se gran cantidad de
automatizables, manualmente, por
Pruebas basadas en el

Pruebas complejas y/o


Pruebas de regresión

riesgo

repetitivos
que consumen mucho
tiempo

Casos de prueba
llama “Pruebas basadas en
siendo el riesgo”. lo que si lo datos para el mismo
Automatizar los casos que flujo, nos llevaría
particularmente prueban estas
llevamos a una cantidad de
convenientes funcionalidades puede un script, será más tiempo considerable
integrarlos dentro ayudar a encontrar – casi fácil ejecutarlos de y si también
inmediatamente después
de un modelo de de cada lanzamiento – los manera tenemos que
integración y incidentes en los que se automatizada. repetirlo, se vuelve
entrega continua deben tomar medidas
rápidamente y se puede algo tedioso.
bloquear la producción de
dicho lanzamiento.

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Herramientas para automatizar Pruebas de Software

Esta actividad puede ser una de las más complejas de analizar inicialmente, dado
el número de herramientas disponibles.

No obstante, la decisión tendrá que considerar el proyecto, el presupuesto, el


conocimiento y la experiencia de los involucrados.

Para seleccionar la herramienta correcta


para automatizar una prueba, hay que tener
claridad de los requisitos que deben
cumplirse para continuar el análisis de
costo-beneficio de su uso

Ghost
Selenium Cucumber Appium
Inspector

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
Frameworks para automatizar Pruebas de Software

Robot TestProject.i Galen WebDriverI


Serenity  Cypress
Framework o Framework O

PHPUnit Codeception SimpleTest Cucumber Peridot Atoum

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados
https://www.youtube.com/watch?v=aP2FrmjXllY

Universidad Tecnológica de Lima Sur – UNTELS 2021.


04RG-2021-UNTELS-V.ACAD
Todos los derechos reservados

También podría gustarte