Introducción al Smoke Test

Lucia Rosso
AvengaLATAM
Published in
5 min readDec 7, 2023

¿Qué es un Smoke Test?
Un Smoke Test es una prueba de software que se realiza para verificar que la compilación más reciente de un software es funcional y estable. En otras palabras, es una prueba rápida y sencilla que se realiza para asegurarse de que el software no tiene defectos graves que impidan su uso.
El término Smoke Test tiene sus raíces en la ingeniería eléctrica, donde se probaban dispositivos para detectar humo o cualquier signo de fuego, indicando así problemas iniciales. Ahora, en el reino digital, este test es la primera inhalación de aire fresco para tu aplicación.

¿Cuándo se realiza un Smoke test?
Los Smoke Test se realizan generalmente después de cada compilación del software. Esto significa que se realizan con frecuencia, a menudo varias veces al día. Los Smoke Test también se pueden realizar después de realizar cambios importantes en el código del software. El momento clave para ejecutar este test es tan pronto como tengas una versión del software que sea funcional mínimamente.
Piénsalo como abrir una caja de chocolates: primero, verifica la integridad de la caja y, luego, asegúrate de que los chocolates no estén derretidos. Si la versión del software no inicia o tiene cambios masivos, es mejor esperar hasta que esté más estable antes de realizar el Smoke test.

¿Cuándo no se realiza un Smoke test?
•Cuando el software está en desarrollo y aún no se ha completado. En esta etapa, los tests de humo no son útiles porque el software aún está en construcción y es probable que cambie mucho.

•Cuando el software está en producción y no se espera que se realicen cambios en el código. En esta etapa, los smoke test no son necesarios porque el software ya se ha probado y se considera estable.

Beneficios del Smoke test.
•Detección Temprana de Problemas: Identifica fallos cruciales antes de avanzar en pruebas más complejas.

•Ahorro de Tiempo: Al detectar problemas fundamentales de inmediato, se ahorra tiempo en correcciones posteriores.

•Incrementa la Confianza: Garantiza una mayor estabilidad en las versiones liberadas y la confianza en la calidad del software.

Prácticas Recomendadas para un Smoke test Efectivo
•Simplicidad y Rapidez:
Mantén el test simple y rápido, el objetivo es identificar problemas fundamentales, no realizar pruebas exhaustivas. Centrarse en lo esencial agiliza el proceso.

•Automatización:
La automatización es clave, configura el Smoke Test para que se ejecute automáticamente cada vez que haya una nueva versión. Esto ahorra tiempo y garantiza una verificación rápida y precisa.

•Lista de Verificación Definida:
Tener una lista de verificación clara es esencial, esto ayuda a mantener el enfoque en aspectos críticos y evita desviarse hacia pruebas más complejas.

•Documentación y Registro:
Registra todas las pruebas realizadas, tanto los éxitos como los problemas encontrados. Esta documentación será valiosa para futuras referencias y análisis de tendencias.

Mejores prácticas para el Smoke Test

Las pruebas de humo son una forma fiable de identificar errores importantes en las compilaciones de software en todas las fases de desarrollo. Seguir las mejores prácticas del sector es la mejor manera de garantizar que sus pruebas con humo sean eficaces, precisas y productivas.

1. Realice Smoke Test con frecuencia

No siempre es posible ejecutar pruebas de humo todos los días, especialmente si se ejecutan pruebas manuales en lugar de pruebas de humo automatizadas.

Ejecute pruebas de humo tan a menudo como pueda, y cada vez que vaya a implementar cambios en su software. Una vez que pueda hacerlo, realizar pruebas de humo diarias se considera la mejor práctica.

2. No saltarse nunca las fases de prueba

Si tiene prisa, puede resultar tentador saltarse algunas de las fases de prueba para avanzar más rápido en el proceso de desarrollo, pero tanto las pruebas de humo como las de regresión son esenciales para mantener el desarrollo en el buen camino.

Pruebe siempre sus compilaciones con pruebas de humo antes de pasar a la siguiente fase.

3. Probar cada cambio

No existe una única aplicación para las pruebas con humo. Puede y debe utilizar smoke test para probar cada cambio que realice en una compilación de software y para probar su software entre diferentes etapas de desarrollo. Los smoke test deben ser las precursoras de las pruebas de integración, rendimiento y funcionalidad.

4. Seguimiento de los resultados de las pruebas

Es práctica habitual comprobar los resultados de un smoke test formal, pero incluso cuando se realizan pruebas de humos informales se debe guardar algún registro de los resultados.

Esto facilita la transmisión de los resultados a los desarrolladores y el seguimiento de las funciones que no superan la prueba.

5. Realice la prueba de humo dos veces

Ejecutar su prueba de humo dos veces puede parecer exagerado, pero si realmente desea detectar todos los errores durante su prueba, es mejor ejecutarla dos veces.

Esto garantiza que el smoke test tenga todas las posibilidades de detectar errores importantes y problemas que podrían causar más problemas si no se solucionan inmediatamente.

6. Elija el tipo correcto de prueba de humos

El uso de pruebas de humo manuales o automatizadas depende del tamaño y las necesidades de su equipo. Asegúrese de elegir el mejor tipo de prueba para su proyecto a fin de optimizar la eficacia sin comprometer la precisión de los resultados.

Consejos útiles para los Smoke test
•Seleccione las funcionalidades más importantes del software para probar. No es necesario probar todas las funcionalidades del software en los smoke test. Concéntrese en las funcionalidades más importantes que los usuarios necesitan para usar el software.

•Utilice casos de prueba automatizados siempre que sea posible. Los casos de prueba automatizados pueden ejecutarse rápidamente y con frecuencia. Esto ayuda a garantizar que los smoke tes se ejecuten regularmente y que los resultados se revisen cuidadosamente.

•Ejecute los smoke tes con frecuencia. Deben ejecutarse con frecuencia, al menos una vez al día. Esto ayuda a detectar problemas temprano, cuando es más fácil corregirlos.

•Revise los resultados de los smoke test cuidadosamente. Si fallan, es importante identificar la causa del problema y corregirlo.

Conclusión
El Smoke Test es más que una simple prueba superficial; es el primer paso para asegurar la estabilidad del software. Su aplicación adecuada no solo ahorra tiempo y recursos, sino que también contribuye significativamente a la satisfacción del usuario final al entregar un software más estable y confiable. En resumen, realiza ese Smoke Test temprano, mantén su ejecución simple pero efectiva, y observa cómo contribuye significativamente a la calidad del software que entregas.

Julian González Allende — Lucía Rosso

TechGroup QA Manual

--

--