Documentos de Académico
Documentos de Profesional
Documentos de Cultura
➔ ¿Qué es automatizar?
➔ Mitos en la automatizacion
➔ Cuando automatizar
➔ ¿Para qué se automatiza?
➔ Ventajas y desventajas de automatizar las pruebas de un software
➔ Manual vs Automatizado
➔ Tipos de pruebas a automatizar
➔ Enfoques de la automatización
➔ Algunas herramientas para automatizar pruebas (Katalon y Selenium)
1
Que es la automatizacion de pruebas?
¡No! .Sabemos que una aplicación no se puede probar a fondo nunca. Por
ende, nunca se puede automatizar todo tampoco.
¡No! . A pesar de que existan herramientas que hagan la labor más sencilla,
automatizar es una de las partes más complejas del ciclo de desarrollo.
2
● Los proyectos no son estáticos y a menudo toman caminos impredecibles.
● El producto es una solución. Si el problema no se resuelve, el producto no
funcionará.
● El testing de software es un proceso intelectual desafiante.
● 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 de manera efectiva.
Estos siete principios fueron propuestos por Cem Kaner, James Bach y Brett
Pettichord en su libro “Lecciones aprendidas en Software Testing: un enfoque
basado en el contexto“.
Esta suele ser una de las preguntas más comunes entre los testers. Y es que saber
cuándo automatizar pruebas de software implica evaluar la inversión potencial, el
enfoque, los beneficios y lo que es más importante, el conocimiento actual del
proceso manual.
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.
De esta manera, es posible ahorrar energía, tiempo y costos, al tiempo que libera a
las personas para que se concentren en otras tareas.
Otras razones:
3
cuando se desee)
● Incrementa productividad (permite hacer más cosas al tester)
Ventajas
➔ Mayor cobertura de las pruebas.
➔ Reduce el tiempo de ejecución de pruebas.
➔ Reduce costos de software a largo plazo.
➔ Eliminación de los trabajos rutinarios.
➔ Reducción del tiempo empleado en procesar la información.
➔ Fiabilidad técnica en procesos y en operación de equipos.
➔ Ser competitivos frente al cliente.
➔ Mejorar y optimizar la implementación del análisis, de las funciones y del
diagnóstico.
➔ Mejora de la calidad de producto.
Desventajas
➔ Lentitud y dificultad de adaptación a los cambios de un proceso ya
automatizado para producir otros modelos diferentes.
➔ Requiere especialización por parte del personal.
➔ Requiere gran cantidad de tiempo al inicio.
➔ La inversión en equipos puede ser más costosa.
4
navegadores.
No es recomendable automatizar:
● Cuando las funcionalidades no están completamente desarrolladas
● En funcionalidades que no tienen resultados predecibles
Piramide de cohon
5
El objetivo es obtener resultados rápidos sin perder de vista la estrategia ni
apresurarse a elegir herramientas que prometan fórmulas mágicas.
La pirámide de automatización consiste en desarrollar una estrategia de testing
por capas donde en la capa inferior se acumula el conjunto más grande y en la
superior, el más pequeño.
Por lo tanto, la parte más amplia será la que ofrezca mayor velocidad y eficiencia
en costos, variables que disminuyen a medida que se asciende en la pirámide.
Con este criterio, comenzando por la base se ubican los test automatizados
unitarios: son los que brindan feedback muy específico y muy rápido. En el
extremo superior se ubican los test de usuario, que repasan la aplicación
completa de punta a punta a través de la interfaz del usuario.
Lo ideal es que haya muchos de los primeros y muy pocos de estos últimos, ya
que son frágiles, propensos a errores y muy costosos de mantener.
En el medio de la pirámide, por su parte, se agrupan las pruebas que testean las
funcionalidades y los servicios provistos por la aplicación por debajo de la interfaz
del usuario.
Por otro lado, la automatización tiene un costo inicial más alto que disminuye a
medida que avanza.
6
Analizando el grafico,, 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.
Pruebas Unitarias
Las pruebas unitarias generalmente son realizadas por los desarrolladores. Estas
pruebas se escriben para probar el nivel de código. Existen numerosos frameworks
para la automatización de pruebas unitarias. Algunos de los más conocidos son
NUnit, Jasmine, Junit, Unit, js, QUnit, etc.
7
Pruebas de api
Con las pruebas automatizadas de API, se prueban la funcionalidad, el
cumplimiento y los problemas de seguridad, y si está probando una aplicación
web, también se examina la seguridad de Solicitud y Respuesta. Para las pruebas
de API automatizadas, puede usar LambdaTest, Postman o Insomnia que está
disponible en versiones gratuitas y de pago.
Pruebas de performance
Son aquellas pruebas que determinan cómo la estabilidad, la velocidad, la
escalabilidad y la capacidad de respuesta de una aplicación se mantiene bajo una
determinada carga de trabajo. Como es imposible muchas veces suplantar N
cantidad de usuarios al mismo tiempo, es necesario automatizar este tipo de
pruebas.
8
Enfoques de automatización
¿Qué son los Enfoques?: formas o técnicas que vamos a usar para automatizar y
las herramientas que vamos a seleccionar para automatizar.
Scripting: hablamos de código. Generar scripts que puedan ser en algún lenguaje
de programación que nosotros manejemos del paso a paso de la prueba. Donde
lo ejecutamos a través de un software. Desventajas: escribir los script lleva mucho
tiempo y conocimiento. La ejecución sera 5 veces mas rápida que una prueba
manual. Herramienta más conocida: Selenium web driver. Hay que saber
programar, se pueden usar varios lenguajes de programación.
Herramientas
Seleccionar la herramienta que vamos a utilizar puede ser una de las más
complejas de analizar inicialmente, dado el número de herramientas disponibles.
Selenium
9
etcétera.
Katalon Studio
Debido a que es una GUI simple y fácil de usar, no es necesario que los usuarios
cuenten con conocimientos previos, pero, aun así cuenta con capacidades
avanzadas para los usuarios más experimentados con esta herramienta.
También ofrece una gran variedad de funciones con las cuales se puede
automatizar todos los casos de prueba WEB, generar reportes y se envían
automáticamente a todo el equipo de trabajo sin mayor complicación.
● Fácil de instalar
● Reportes automáticos
10
● Facilidad de integración con otras aplicaciones, tales como Jira, Git, Jenkins
etc.
Appium
Cucumber
Ghost Inspector
Lo más interesante de Ghost Inspector es que nos permite automatizar sin saber
codificar, lo que la convierte en una herramienta ideal para principiantes. Esta
herramienta solo permite 100 ejecuciones gratuitas por mes.
11