“La frase prueba de humo o smoke test proviene de las pruebas de hardware electrónico. Se inserta una nueva tarjeta y se enciende la alimentación. Si ve que sale humo de la tarjeta, apague la fuente de alimentación. No hay necesidad de hacer más pruebas“. Esta definición de prueba de humo está recogida en el volumen ‘Lecciones aprendidas en pruebas de software’ de Cem Kaner, James Bach y Brett Pettichord.
Del hardware, la terminología pasó al software, y luego se adoptó como modelo para verificar la validez de una idea antes de que una empresa emergente lanzara el producto o servicio al mercado.
¿Qué es la prueba de humo?
En el campo de la informática, la prueba de humo se utiliza para probar la funcionalidad básica de un software y, por lo tanto, es una de las primeras pruebas, si no la primera, que anticipa su lanzamiento. Le permite proporcionar comentarios rápidos sobre aspectos críticos y elementales al responder a preguntas como ¿el programa funciona correctamente? , ¿se abre la interfaz de usuario? , ¿ocurre algo al hacer clic en los botones principales?.
En la práctica, deja claro si es necesario o no realizar otras pruebas posteriores más específicas. Por lo tanto, normalmente proporciona información inmediata sobre el proceso de desarrollo y sobre el código base.
Como recuerda el libro de Kaner, Bach y Pettichord, “las pruebas de humo cubren ampliamente las características del producto durante un tiempo limitado” y ayudan a entender que “si las funciones clave no funcionan o si los errores clave aún no se han resuelto, su equipo no perderá más tiempo en la instalación o las pruebas”.
Cuándo utilizar la prueba de humo
Las pruebas de humo se realizan cada vez que se desarrollan nuevas funciones de software y se integran en una versión existente para garantizar que todas las funciones esenciales funcionen correctamente. Además, cuando se produce un cambio en la versión, se realiza una prueba de humo para garantizar la estabilidad del software. En consecuencia, es recomendable probar el nuevo código que se convertirá en la base del nuevo software y comprobar las nuevas versiones que se desarrollen para integrarlas con el software existente.
La prueba de humo también puede servir para decidir si se anuncia un lanzamiento de producción o se retira en función de lo que se desprenda de los resultados de la investigación preliminar llevada a cabo. De esta forma, la mayoría de los defectos se identifican en las primeras etapas del ciclo de vida del desarrollo del software, lo que permite evitar tener que seguir los siguientes pasos.
Quién realiza la prueba de humo
La prueba de humo la lleva a cabo el equipo de control de calidad (QA), que, además de determinar los principales requisitos que debe cumplir la aplicación, comprueba que no se detecten errores. Los evaluadores de control de calidad realizan el examen después de que los desarrolladores les hayan entregado la nueva versión de una aplicación. Si el código pasa la prueba de humo, la compilación del software se somete a pruebas más rigurosas, como pruebas unitarias y de integración.
Si la prueba de humo muestra errores en el software, los desarrolladores deberán enviar otra versión. Las otras figuras que participan en la prueba de humo son los diseñadores de UX (experiencia de usuario), que realizan la prueba desde el punto de vista de la experiencia de usuario (UX). Son ellos quienes determinan, por ejemplo, la accesibilidad del sistema y de la interfaz de usuario (UI), el mecanismo de inicio de sesión o la correspondencia entre la selección de una función y la acción correspondiente.
¿Cómo funciona la prueba de humo?
Hay 3 formas de realizar una prueba de humo: manual, automática e híbrida. Antes de explicar en qué consisten, es conveniente destacar algunos pasos que se deben seguir en las 3 formas. En primer lugar, es necesario determinar el número de casos de prueba de humo que se necesitan para evitar tener que volver a calcularlos más adelante. En segundo lugar, es recomendable preparar los casos y el guion de prueba, adaptándolos al tipo de negocio en el que se opere.
De hecho, no es lo mismo realizar una prueba de humo en una empresa que desarrolla productos SaaS que en una organización que ofrece plataformas de comercio electrónico. El tercer consejo consiste en registrar los resultados de cada prueba para poder determinar claramente si el resultado fue un éxito o un fracaso. Especialmente en este último caso, tener una imagen de los aspectos deficientes disponibles es fundamental para corregir los errores.
manual
El método de prueba de humo manual implica el uso de evaluadores humanos y tiene la ventaja de que puede involucrar recursos ajenos a los desarrolladores. Por ejemplo, si piensas en las pruebas de interfaz de usuario, puedes confiarlas a personas sin conocimientos de programación que, sin embargo, pueden asegurarse de que una aplicación funcione igual en diferentes dispositivos y sistemas operativos. Este modo resulta más caro que el automático. Sin embargo, permite verificar el uso real de un software por parte de un cliente real antes de su comercialización.
Automático
Obviamente, un proceso de prueba de humo automatizado es mucho más rápido que uno manual. Esto no significa que la automatización implique otro proyecto de ingeniería de software ad hoc. Por el momento, las herramientas más populares en este campo se centran en navegadores con marcos de código abierto muy extendidos, como Selenium. Sin embargo, al emular la forma en que los usuarios interactúan con una aplicación en el navegador, se corre el riesgo de no tener en cuenta una serie de variables, como los eventos de JavaScript, las llamadas asíncronas a la API, la representación de caracteres en tiempo real, etc.
Hibrido
La prueba de humo híbrida combina las mejores partes de las pruebas manuales y automáticas. Básicamente, implica el uso de un poco de automatización, pero sin sacrificar un cierto grado de trabajo humano manual para probar el software. Probablemente hoy represente la mejor solución o la más viable para garantizar la viabilidad de las compilaciones.
Diferencia con la prueba de regresión
Al igual que las pruebas de humo, las pruebas de regresión tienen como objetivo determinar la calidad del código en una parte específica del software. Sirven para garantizar que los cambios en un programa no añadan nuevos errores que puedan comprometer inadvertidamente su rendimiento o integridad. Sin embargo, a diferencia de las primeras, son profundas y detalladas, tanto que pueden tardar horas en completarse.
Si queremos hacer una comparación, si la naturaleza de las pruebas de humo se caracteriza por una alta cobertura y una baja profundidad, en las pruebas de regresión, por el contrario, se observa una baja cobertura y una alta profundidad. Por ejemplo, pueden comprobar explícitamente si todos los enlaces de una página web actualizada siguen funcionando correctamente después del cambio, o si añadir un artículo al carrito de un sitio de comercio electrónico no interrumpe la navegación del usuario.
Ventajas de la prueba de humo
Lo que hace valiosas a las pruebas de humo es el hecho de que ofrecen una garantía muy fiable de estabilidad de compilación, a fin de reducir la cantidad de trabajo que los desarrolladores deben realizar para encontrar errores al final del ciclo de desarrollo. Al poder encontrar las fuentes de los problemas de forma rápida y eficaz, los equipos de desarrollo tienen que dedicar menos tiempo a ‘revisar’ el código para descubrir a los posibles culpables. Con la ventaja de que la prueba de humo se realiza de forma muy sencilla y en unos pocos pasos, lo que la hace compatible con otras pruebas y otras metodologías implementadas en la organización.
Esto también se aplica a las integraciones, ya que la prueba de humo realizada en cada componente de un software tiende a generar una integración general más fluida y estable. Además, el hecho de que esta prueba sea capaz de interceptar la mayoría de los errores antes de que lleguen a los usuarios finales ayuda a aumentar la reputación de la marca de la empresa que desarrolla el software. Proporcionar un producto de alta calidad significa, de hecho, mejorar la experiencia y la satisfacción del cliente.
Ejemplos de pruebas de humo
Los ejemplos de pruebas de humo pueden ser diferentes. Supongamos que quieres probar la funcionalidad de inicio de sesión de una aplicación web mediante la cual un usuario registrado puede iniciar sesión con un nombre de usuario y una contraseña. La prueba implica iniciar la aplicación. A esto le sigue la posibilidad de navegar a la página de inicio de sesión e introducir un nombre de usuario y una contraseña válidos. Por último, debes hacer clic en el botón de inicio de sesión. Si el inicio de sesión se realiza correctamente, la prueba se puede considerar superada.
Por el contrario, si con la prueba de humo quieres comprobar cómo funciona el cierre de sesión, pero al seleccionar el botón correspondiente el usuario no puede alcanzar el objetivo, entonces la prueba no se ha superado.
Estos son solo dos ejemplos de los muchos que podrían hacerse. Sirven para hacernos entender cómo la prueba de humo puede ser una opción sencilla, directa y sumamente eficaz para acelerar la búsqueda de errores. Apoyando a los desarrolladores en sus proyectos, ayudándoles a mejorar significativamente la calidad y seguridad del código en la primera fase de implementación del software.
Fuente: Zerounoweb.it, Network Digital360