Requisito previo: tipos de pruebas de software
Smoke Testing es un método de prueba de software que determina si la compilación empleada es estable o no. Actúa como una confirmación de si el equipo de control de calidad puede continuar con más pruebas. Las pruebas de humo son un conjunto mínimo de pruebas que se ejecutan en cada compilación. La prueba de humo es un proceso en el que la compilación del software se implementa en un entorno de control de calidad y se verifica para garantizar la estabilidad de la aplicación. La prueba de humo también se conoce como prueba de confianza o prueba de verificación de construcción .
En otras palabras, verificamos si las características importantes están funcionando y si no hay obstáculos en la compilación que se está probando. Es una prueba de regresión mini y rápida de funcionalidad principal. La prueba de humo muestra que el producto está listo para la prueba. Esto ayuda a determinar si la construcción tiene fallas para que cualquier prueba adicional sea una pérdida de tiempo y recursos.
Características de las pruebas de humo:
Las siguientes son las características de la prueba de humo:
- La prueba de humo está documentada.
- Las pruebas de humo pueden ser tanto estables como inestables.
- La prueba de humo está programada.
- La prueba de humo es un tipo de prueba de regresión.
Las pruebas de humo generalmente las llevan a cabo ingenieros de control de calidad.
Objetivo de la prueba de humo:
El objetivo de la prueba de humo es:
- Para detectar cualquier defecto temprano en un producto de software.
- Para demostrar la estabilidad del sistema.
- Para demostrar la conformidad con los requisitos.
- Para asegurar que las funcionalidades agudas del programa estén funcionando bien.
- Para medir la estabilidad del producto de software mediante la realización de pruebas.
- Para probar todo el funcionamiento del producto de software.
Tipos de pruebas de humo:
Hay tres tipos de pruebas de humo:
- Pruebas manuales: en esto, el probador tiene que escribir, desarrollar, modificar o actualizar los casos de prueba para cada producto construido. El probador tiene que escribir scripts de prueba para funciones existentes o nuevas funciones.
- Pruebas automatizadas: en esto, la herramienta manejará el proceso de prueba por sí misma proporcionando las pruebas relevantes. Es muy útil cuando el proyecto debe completarse en un tiempo limitado.
- Pruebas híbridas: como su nombre lo indica, es la combinación de pruebas manuales y automatizadas. Aquí, el probador tiene que escribir los casos de prueba por sí mismo y también puede automatizar las pruebas usando la herramienta. Aumenta el rendimiento de las pruebas ya que combina la verificación manual y la herramienta.
Aplicación de pruebas de humo a diferentes niveles:
Es aplicable en 3 niveles de prueba. Están
- Nivel de prueba de aceptación
- Nivel de prueba del sistema
- Nivel de prueba de integración
Herramientas utilizadas para la prueba de humo:
- Selenium
- FantasmaJS
Estas herramientas se utilizan al implementar los casos de prueba automatizados.
Ventajas de las pruebas de humo:
- La prueba de humo es fácil de realizar.
- Ayuda a identificar defectos en las primeras etapas.
- Mejora la calidad del sistema.
- La prueba de humo reduce el riesgo de falla.
- Las pruebas de humo facilitan el acceso al progreso.
- Ahorra esfuerzo y tiempo de prueba.
- Facilita la detección de errores críticos y ayuda en la corrección de errores.
- Se ejecuta rápidamente.
- Minimiza los riesgos de integración.
Desventajas de las pruebas de humo:
- Smoke Testing no cubre toda la funcionalidad de la aplicación. Solo se realiza una cierta parte de la prueba.
- Pueden ocurrir errores incluso después de implementar todas las pruebas de humo.
- En el caso de las pruebas de humo manuales, lleva mucho tiempo ejecutar el proceso de prueba para proyectos más grandes.
- No se implementará contra las pruebas negativas o con la entrada no válida.
- Por lo general, consta de una cantidad mínima de casos de prueba y, por lo tanto, no podemos encontrar los otros problemas que ocurrieron durante el proceso de prueba.