La diferencia entre las pruebas de humo y cordura es el tema más incomprendido en las pruebas de software. Existe una enorme cantidad de literatura sobre el tema, pero la mayoría son confusas. El siguiente artículo intenta abordar la confusión.
Las diferencias clave entre las pruebas de humo y las pruebas de cordura se pueden aprender con la ayuda del siguiente diagrama:
Pruebas de humo frente a pruebas de cordura
Para apreciar el diagrama anterior, primero entendamos:
¿Qué es una compilación de software?
Si está desarrollando un programa de computadora simple que consta de un solo archivo de código fuente, simplemente necesita compilar y vincular este archivo para producir un archivo ejecutable. Este proceso es muy sencillo.
Por lo general, este no es el caso. Un proyecto de software típico consta de cientos o incluso miles de archivos de código fuente. Crear un programa ejecutable a partir de estos archivos fuente es una tarea complicada y que requiere mucho tiempo.
Debe utilizar un software de "compilación" para crear un programa ejecutable y el proceso se denomina "Compilación de software"
Prueba de humo
Smoke Testing es una técnica de prueba de software que se realiza después de la compilación del software para verificar que las funcionalidades críticas del software funcionan correctamente. Se ejecuta antes de que se ejecuten pruebas funcionales o de regresión detalladas. El objetivo principal de las pruebas de humo es rechazar una aplicación de software con defectos para que el equipo de control de calidad no pierda tiempo probando una aplicación de software defectuosa.
En Smoke Testing, los casos de prueba eligieron cubrir la funcionalidad o componente más importante del sistema. El objetivo no es realizar pruebas exhaustivas, sino verificar que las funcionalidades críticas del sistema funcionan correctamente.
Por ejemplo, una prueba de humo típica sería: Verificar que la aplicación se inicie correctamente, Verificar que la GUI responda… etc.
DIFERENCIA CLAVE
- Smoke Testing tiene el objetivo de verificar la "estabilidad", mientras que Sanity Testing tiene el objetivo de verificar la "racionalidad".
- Las pruebas de humo las realizan tanto desarrolladores como probadores, mientras que las pruebas de cordura son realizadas por evaluadores.
- Smoke Testing verifica las funcionalidades críticas del sistema, mientras que Sanity Testing verifica la nueva funcionalidad, como la corrección de errores.
- Las pruebas de humo son un subconjunto de las pruebas de aceptación, mientras que las pruebas de cordura son un subconjunto de las pruebas de regresión.
- Las pruebas de humo están documentadas o programadas, mientras que las pruebas de cordura no lo están.
- Las pruebas de humo verifican todo el sistema de un extremo a otro, mientras que las pruebas de cordura verifican solo un componente en particular.
¿Qué son las pruebas de cordura?
Las pruebas de cordura son un tipo de prueba de software que se realiza después de recibir una compilación de software, con cambios menores en el código o la funcionalidad, para asegurarse de que los errores se han solucionado y no se introducen más problemas debido a estos cambios. El objetivo es determinar que la funcionalidad propuesta funcione aproximadamente como se esperaba. Si la prueba de cordura falla, la compilación se rechaza para ahorrar tiempo y costos involucrados en una prueba más rigurosa.
El objetivo "no" es verificar a fondo la nueva funcionalidad, sino determinar que el desarrollador ha aplicado algo de racionalidad (cordura) al producir el software. Por ejemplo, si su calculadora científica da el resultado de 2 + 2 = 5! Entonces, no tiene sentido probar las funcionalidades avanzadas como sin 30 + cos 50.
Pruebas de humo frente a pruebas de cordura: diferencias clave
A continuación se muestra la diferencia entre las pruebas de cordura y humo:
Prueba de humo | Pruebas de cordura |
---|---|
La prueba de humo se realiza para determinar que las funcionalidades críticas del programa funcionan bien | Las pruebas de cordura se realizan para verificar la nueva funcionalidad / errores que se han corregido |
El objetivo de esta prueba es verificar la "estabilidad" del sistema para proceder con pruebas más rigurosas. | El objetivo de las pruebas es verificar la "racionalidad" del sistema para proceder con pruebas más rigurosas. |
Esta prueba es realizada por los desarrolladores o probadores. | Las pruebas de cordura en las pruebas de software generalmente las realizan probadores |
Las pruebas de humo suelen estar documentadas o programadas. | Las pruebas de cordura generalmente no están documentadas y no están escritas |
Las pruebas de humo son un subconjunto de las pruebas de aceptación. | Las pruebas de cordura son un subconjunto de las pruebas de regresión. |
Las pruebas de humo ejercitan todo el sistema de un extremo a otro | Las pruebas de cordura ejercitan solo el componente particular de todo el sistema |
La prueba de humo es como un chequeo general de salud | La prueba de cordura es como un chequeo de salud especializado |
Puntos a tener en cuenta.
- Tanto las pruebas de cordura como las de humo son formas de evitar perder tiempo y esfuerzo al determinar rápidamente si una aplicación es demasiado defectuosa para merecer una prueba rigurosa.
- La prueba de humo también se llama prueba de aceptación del probador.
- La prueba de humo realizada en una construcción en particular también se conoce como prueba de verificación de construcción .
- Una de las mejores prácticas de la industria es realizar una prueba de humo y compilación diaria en proyectos de software.
- Tanto las pruebas de humo como las de cordura se pueden ejecutar manualmente o con una herramienta de automatización . Cuando se utilizan herramientas automatizadas, las pruebas a menudo se inician mediante el mismo proceso que genera la propia compilación.
- Según las necesidades de las pruebas, es posible que deba ejecutar las pruebas de cordura y de humo en la compilación del software. En tales casos, primero ejecutará pruebas de humo y luego continuará con las pruebas de cordura. En la industria, los casos de prueba para las pruebas de cordura se combinan comúnmente con los de las pruebas de humo, para acelerar la ejecución de la prueba. Por lo tanto, es común que los términos a menudo se confundan y se usen indistintamente.
Haga clic aquí si el video no es accesible
Más información sobre las pruebas de humo en la ingeniería de software