Softtek Softtek
  • Our experience
  • Overview
  • Insights
  • Blog
  • Newsroom
  • Careers
  • Contact us
softtek Language Selector
ENGLISH
EUROPE / EN
ESPAÑOL
EUROPA / ES
PORTUGUÊS
中文(简体)
Search button
AI
APPROACH
INDUSTRIES
SERVICES & SOLUTIONS
TRANSCEND
Softtek GenAI
FRIDA AI for Software Engineering
Service Transformation
Portfolio Transformation
Digital Acceleration
Our Work
Agribusiness
Airlines
Automotive
Banking & Financial Services
Consumer Packaged Goods
Energy & Utilities
Fitness & Wellness
Gaming
Government & Public Sector
Higher Education
Healthcare
Industrial
Insurance
Media & Entertainment
Oil & Gas
Pharma & Beauty
Professional Sports
Restaurant & Hospitality
Retail
Technology
Telecommunications
Transportation & Logistics
Digital Solutions
Digital Optimization
Digital Sales
Data Masking Solution
IT Cost Optimization
Fan Engagement Ecosystem
Softtek Digital Enablers
DIEGO
blauLabs
Business OnDemand
Click2Sync Omnichannel
Automotive Digital Assistant
Guest Engagement
Socializer
Collaborative Commuting
Workplace Management
Application Services
Software Development
Quality Engineering
Application Management
Application Services
Cloud & DevOps
Cloud Services
IT Infrastructure
Digital Security
DevOps
Data & Automation
Data and AI
Intelligent Automation
Services Transformation
Core Modernization
Next-Gen IT Operations
Platform Services
AWS
SAP
Microsoft
Salesforce
ServiceNow
Atlassian
BlueYonder
Sustainability by Softtek
Softtek
Language selector
search button
AI
Softtek GenAI
FRIDA AI for Software Engineering
APPROACH
Service Transformation
Portfolio Transformation
Digital Acceleration
Our Work
INDUSTRIES
Agribusiness
Airlines
Automotive
Banking & Financial Services
Consumer Packaged Goods
Energy & Utilities
Fitness & Wellness
Gaming
Government & Public Sector
Higher Education
Healthcare
Industrial
Insurance
Media & Entertainment
Oil & Gas
Pharma & Beauty
Professional Sports
Restaurant & Hospitality
Retail
Technology
Telecommunications
Transportation & Logistics
SERVICES & SOLUTIONS
Digital Solutions
Digital Optimization
Digital Sales
Data Masking Solution
IT Cost Optimization
Fan Engagement Ecosystem
Softtek Digital Enablers
DIEGO
blauLabs
Business OnDemand
Click2Sync Omnichannel
Automotive Digital Assistant
Guest Engagement
Socializer
Collaborative Commuting
Workplace Management
Application Services
Software Development
Quality Engineering
Application Management
Application Services
Cloud & DevOps
Cloud Services
IT Infrastructure
Digital Security
DevOps
Data & Automation
Data and AI
Intelligent Automation
Services Transformation
Core Modernization
Next-Gen IT Operations
Platform Services
AWS
SAP
Microsoft
Salesforce
ServiceNow
Atlassian
BlueYonder
TRANSCEND
Sustainability by Softtek
Our experience
Overview
Insights
Blog
Newsroom
Careers
Contact us
Presencia Global
ENGLISH
EUROPE / EN
ESPAÑOL
EUROPA / ES
PORTUGUÊS
中文(简体)
Softtek Blog

El "Monkey Testing" o cómo descubrir errores en tu aplicación "gratis"

Autor
Author Antonio Gómez Yunta
Publicado el:
ene 15, 2019
Tiempo de lectura:
ene 2019
|
SHARE
Share on LinkedIn
Share on X
Share on Facebook
SHARE
Share on LinkedIn
Share on X
Share on Facebook

1

A día de hoy, las corporaciones invierten mucho dinero en realizar todo tipo de pruebas a su software. La mayoría de las pruebas que se realizan son pruebas manuales, las cuales requieren una formación de los testers para saber qué probar, cómo se debe probar, cómo validar y evaluar los resultados obtenidos. Estas pruebas son imprescindibles e irremplazables.

De un tiempo a esta parte, se está invirtiendo mucho dinero para automatizar parte de estas pruebas que se venían haciendo de manera manual, para así tener un conjunto de pruebas de regresión automáticas.

El desarrollo y el mantenimiento de estas pruebas automáticas es también muy costoso y el retorno de la inversión de esta automatización de pruebas tarda en llegar y va directamente ligado al número de errores que encontremos con nuestra metodología de pruebas.

Una práctica habitual a día de hoy en la mayoría de las corporaciones es realizar pruebas manuales de progresión y automatizar un subconjunto de ellas como pruebas de regresión. Aunque sea costoso, se antoja indispensable disponer de una buena metodología de pruebas, tanto manuales como automáticas, para minimizar los bugs en nuestro software y así dotar de mayor calidad al mismo.

Entonces, ¿cómo maximizar las posibilidades de encontrar errores en nuestra aplicación sin incrementar la inversión que estamos ya realizando en automatización de pruebas / pruebas manuales?

 

Idea!

Es aquí donde, investigando, leyendo y compartiendo ideas con compañeros de profesión, nos encontramos con un gran aliado: El Monkey Testing!

¿Qué es el Monkey Testing?

A modo de introducción, podemos decir que el Monkey Testing es una técnica en la que el usuario prueba la aplicación a través de inputs o clicks aleatorios sobre la aplicación y se comprueba el comportamiento de la misma.

A priori podría parecer que esta técnica carece de utilidad, o de fundamento, pero profundicemos sobre ello.

1. Adentrándonos en el Testing Aleatorio

Es altamente probable que si aislamos una de las pruebas que se estén haciendo a través del testing aleatorio, lleguemos a la conclusión de que la prueba que se está realizando no es una prueba "real", no es un flujo que tenga sentido para el usuario, o que sería un camino que un usuario nunca llevaría a cabo.

Pero, y aquí es donde viene la clave de todo esto, y si en lugar de realizar una, dos, diez pruebas aleatorias, se realizaran diez mil, durante 12 horas en uno o varios ordenadores??

Estudios recientes sobre esto arrojan datos realmente sorprendentes respecto al número de errores, incluso errores críticos para el usuario, que son encontrados a través del Monkey Testing.

2. Tecnologías y Herramientas

Obviamente, para conseguir esa "ventana de ejecución desasistida" necesitamos automatizar el proceso. Pues de no ser así, estaríamos de nuevo ante el coste, en este caso desmesurado, de probar manual tantos y tantos distintos casos de prueba. Y es más, el random Testing es mucho más efectivo si lo realiza una máquina que un humano, pues la aleatoriedad de una máquina es mucho mayor que la previsibilidad de un ser humano.

Aquí es donde diversas herramientas aparecen para ayudarnos. Podríamos hablar de varias de ellas, pero en este caso, me gustaría hablar de un innovador proyecto llevado a cabo por la Universidad Politécnica de Valencia, el cual, apoyándose en todo lo hablado anteriormente nos propone una herramienta de automatización basada en GUI que nos da total versatilidad para realizar random testing. Se llama Testar (Test*) y se puede descargar GRATUITAMENTE desde aquí:

https://testar.org/download/

Desde el anterior enlace podemos descargarnos la herramienta, así como el manual para poder grabar y ejecutar pruebas automáticas sobre la aplicación que deseemos.

La mejor manera de utilizar esta herramienta es a través de una máquina virtual con la herramienta ya instalada, pues al ser clicks totalmente aleatorios, puede que si la herramienta que estamos probando tenga acceso al sistema de archivos del sistema, nos “carguemos” alguno de nuestros ficheros.

La imagen se puede descargar desde aquí.

La documentación de la herramienta se puede descargar desde aquí.

Una vez instalada y configurada la herramienta, ésta reconocerá los elementos clickables dentro de ella:

 2

 

 

 

 

 

 

 

 

 

 

 

El siguiente paso será indicarle a TestAr qué títulos, textos, salidas pueden ser indicativas de que se ha producido un error. Como por ejemplo:

 3

Estaríamos identificando este tipo de errores:

4

 

TestAR nos permite también probar aplicaciones web que precisen de un login previo como la mayoría de las aplicaciones de hoy en día.

Para ello podemos utilizar el módulo de grabación que incluye la propia herramienta y grabar como paso previo de nuestras baterías de test aleatorios el login con el que acceder a la aplicación que queremos testar.

Una vez hecho todo esto, sólo nos quedaría crear las distintas baterías de pruebas que queremos realizar y la profundidad (en número de clicks) de cada batería.

 

3. ¿Por qué hablo de cómo descubrir errores gratis?

Antes hemos hablado de lo costoso que es automatizar pruebas, por tiempo de desarrollo, por mantenimientos posteriores y por lo difícil de encontrar a los perfiles que realizan este tipo de trabajo.

Pero igualmente, probar a mano es también costoso, pues requiere una formación previa funcional más todas las horas de trabajo que requiere la ejecución de una buena suite de pruebas.

Con todas estas cartas en la mano, surge la idea que venimos desarrollando. El Monkey Testing. Por qué hablamos que podemos descubrir errores gratis?

Con una pequeña base de cómo empezar a grabar test con alguna herramienta de automatización aleatoria como Testar y SIN NINGUNA BASE FUNCIONAL podríamos empezar a programar ejecuciones con el único coste de la máquina, que comparado con el humano, es despreciable, casi gratis.

Aquí podemos ver algún ejemplo de cómo probando aleatoriamente obtenemos (durante muchas horas de prueba) resultados similares e incluso mejores al testing manual:

 ult

 

No se pierde nada, apenas unas horas en grabar y preparar una ejecución y el posible beneficio puede ser muy alto.

Así que, ¿por qué no?

¿Te atreves a probarlo?

 

 

Related posts

seleniumlogo
feb 12, 2019
Lanzando test distribuidos con Selenium Grid (parte II)
seleniumlogo
ene 30, 2019
Lanzando test distribuidos con Selenium Grid (parte I)
Automatización de pruebas de software
jul 29, 2024
Automatización y GenAI: Claves para un ROI rápido en el testing de software

Let’s stay in touch!

Get Insights from our experts delivered right to your inbox!

Follow us:
Softtek LinkedIn
Softtek Twitter
Softtek Facebook
Softtek Instagram
Softtek Instagram
Follow us:
Softtek LinkedIn
Softtek Twitter
Softtek Facebook
Softtek Instagram
Softtek Instagram

© Valores Corporativos Softtek S.A. de C.V. 2025.
privacy notice
legal disclaimer
code of ethics
our policies
webmaster@softtek.com