Beneficios y principales características de las pruebas manuales y automatizadas que debes considerar antes de estimar qué es “automatizable”.
Seguramente te has preguntado cuál es el tipo de testing a utilizar para tu proyecto, ¿verdad? Antes de comenzar, te contamos de forma general qué es el testing manual, qué es el testing automatizado, cuáles son sus ventajas y en qué medida es recomendable automatizar. En este post te presentamos las respuestas a estos interrogantes basados en nuestra experiencia.
¿Qué es el Testing Manual?
Las pruebas manuales son ejecutadas por testers que tienen interacción directa con el software, en muchos casos, empleando herramientas adecuadas para cada propósito. Los testers se encargan de configurar un entorno en el que se llevará a cabo la ejecución de pruebas, haciendo un recorrido exhaustivo con el software objetivo de las pruebas.
Es importante destacar que este tipo de pruebas se encuentran expuestas a errores humanos, como la omisión de alguno de los pasos en el ciclo de prueba o un error de tipeo al cargar datos.
¿Cuándo implementar las Pruebas Manuales?
Sabiendo que las pruebas manuales son parte importante durante todo el ciclo de vida del desarrollo y tomando en cuenta que se necesitan habilidades como experiencias humanas para su planificación y ejecución, resultan apropiadas por ejemplo, para las pruebas exploratorias y pruebas de usabilidad.
Ventajas del Testing Manual
- No se requiere conocimiento sobre programación o desarrollo de software.
- Se obtienen resultados desde una perspectiva humana en condición de usuario final.
- Ejecución de pruebas exploratorias (estas son ejecutadas solo de forma manual).
- Comprensión y percepción directa del problema.
- Ejecución de pruebas en dispositivos móviles utilizando gestos.
- Recomendable para diseños GUI que cambian o actualizan de forma dinámica.
- El costo generado en las pruebas manuales es menor, ya que no se requieren herramientas y procesos de automatización.
¿Qué es el Testing Automatizado?
Las pruebas automatizadas consisten en usar una o varias herramientas de software para hacer pruebas a otro software. Estas herramientas permiten regular la ejecución de pruebas según las necesidades o planificación del tester, permitiendo comparar los resultados obtenidos con los resultados esperados.
La inclusión de la automatización en el proceso de pruebas da como resultado la reducción del tiempo requerido para ejecutar los casos de pruebas entre otros beneficios.
¿Cuándo se deben implementar las Pruebas Automatizadas?
Al existir diversos contextos respecto a cuándo y qué se debe automatizar, en este caso hablaremos del tipo de pruebas más relevantes para implementar la automatización:
- Pruebas de Regresión: para asegurar que las mejoras y correcciones realizadas en el software funcionan de manera eficiente y no afectan la funcionalidad existente del software.
- Pruebas de Carga: para simplificar las complicaciones involucradas en la generación de la carga y la simulación de las condiciones de carga de datos.
- Ejecución Repetitiva: para las pruebas que implican la ejecución de una sola tarea una y otra vez
- Pruebas de Rendimiento: para simular la interacción de miles de usuarios simultáneos a la vez.
Ventajas del Testing Automatizado
- Fiabilidad técnica en procesos y en operación de equipos.
- Reducción del tiempo empleado en procesar la información.
- La automatización no requiere de intervención humana, por lo que se puede ejecutar la prueba automatizada de forma desatendida.
- Aumenta la velocidad de ejecución de la prueba.
- Es lo más recomendable cuando se necesitan ejecutar diversos casos de prueba de manera repetitiva y por un período de tiempo extenso.
- Pueden ejecutarse una y otra vez luego de ser creadas.
- Minimiza los errores humanos al momento de la ejecución del testing.
- Facilita la integración de trabajo entre desarrolladores y testers.
Es importante destacar que, según el manifiesto de automatización de pruebas, propuesto por Gerard Meszaros, Shaun Smith y Jennitta Andrea, toda prueba automatizada debe cumplir con las siguientes propiedades:
- Concisa
- Auto-verificable
- Repetible
- Clara
- Específica
- Independiente
- Mantenible
- Rastreable
¿En qué medida es recomendable automatizar?
Llegados a este punto, es importante hablar de la Pirámide de Cohn, mejor conocida como la “pirámide de testing”, en la que se ve reflejada la estructura ideal de cómo deberían manejarse los distintos niveles del testing.
Según el libro de Mike Cohn «Succeeding with Agile», estos son los niveles de integración del testing y las metodologías ágiles:
Ahora bien, ¿en qué medida es recomendable automatizar? Es muy importante saber que no todas las pruebas se pueden ni deben automatizar, la automatización no se trata únicamente de hacer más óptimo o eficiente el proceso de ejecución de pruebas, sino de hacer que el trabajo manual del equipo de QA, se invierta en las pruebas que requieren mayor dedicación y atención al detalle.
Es por ello que siempre ha existido una premisa respecto lo que se debe automatizar y qué son las pruebas repetitivas, como lo son las pruebas de regresión, por ejemplo.
Testing Manual o Automatizado: ¿cuál es mejor?
Seguramente te has preguntado: ¿Qué tipo de testing es mejor para el proyecto? ¿Cuál necesitamos? ¿Cuándo aplicar un tipo sobre otro? La verdad, es que no hay un mejor testing que otro, ambos pueden ser buenos o no si se implementan de forma adecuada.
Sin embargo, hoy existe algo llamado ROI (Return of Investment o Retorno de la inversión) que aplicado a la automatización de pruebas, será un punto clave tanto para decidir si se debe llevar a cabo, como para presentar resultados y sustentar la inversión que conlleva aplicar o no, este tipo de testing.
ROI: factor clave para implementar la automatización
Para calcular el ROI de la automatización de pruebas, se tomarán en cuenta factores como el número de pruebas de regresión, tiempos aproximados de ejecución de estas pruebas si se hicieran de forma manual, el ahorro y el tiempo invertido.
¿Conoces algún otro beneficio clave del testing manual vs. testing automatizado que nos haya quedado fuera de esta lista? ¡Escríbelo en los comentarios y lo agregaremos!
¡Síguenos en LinkedIn, Twitter, Facebook, Instagram y YouTube para ser parte de nuestra comunidad y enterarte de más novedades acerca de agilismo y Scrum!
Otros contenidos relacionados
La ruta hacia el Test Automation
Cómo evitar falsos positivos y negativos en la Automatización de Pruebas
Etiquetas
Posts Relacionados
Postman: explorando una herramienta para automatizar pruebas de API
¿Qué es Postman? ¿Para qué sirve?
Conoce uno de los usos más comunes de Postman: Automatizar Pruebas API.
¿Cómo optimizar la cobertura de las pruebas de software a largo plazo?
Es clave elegir los criterios que mejor se adapten a las necesidades de tu proyecto. Conoce nuestro método para mejorar la cobertura de las pruebas en múltiples ciclos y a largo plazo.