Articles

Explicación de Pruebas de Humo vs Pruebas de Cordura vs Pruebas de Regresión

Introducción

La vida útil de un probador de Control de calidad se considerará incompleta si los términos «Pruebas de Humo», «Pruebas de Cordura» y «Pruebas de Regresión» no se le incorporan. Aunque estos son algunos términos que se usan regularmente, también hay algunos conceptos erróneos comunes a su alrededor.

Antes de comenzar con los detalles de las pruebas de humo, cordura y regresión y lo que realmente significan, repasemos algunos conceptos erróneos y mitos comunes a su alrededor:

  1. La prueba de humo y la prueba de cordura son las mismas y se pueden usar indistintamente: Esto no es cierto y nunca se debe hacer, ¿por qué? lo discutiremos en este artículo.
  2. La prueba de cordura es equivalente a la prueba de aceptación: La prueba de aceptación se realiza para garantizar que la compilación cumpla con todos los requisitos que el cliente especificó antes de la publicación, mientras que la prueba de cordura se realiza para garantizar que el producto esté cuerdo y racional para pruebas más detalladas. Estos no son ni deben usarse indistintamente.
  3. Si estoy haciendo pruebas de humo, puedo saltarme las pruebas de cordura: La prueba de humo es una prueba de muy alto nivel, ya que esta prueba se realiza para garantizar que esta construcción sea adecuada para comenzar cualquier otro tipo de prueba. Por ejemplo, esto podría ser solo una prueba para garantizar que la compilación se instala y luego puede comenzar la Prueba de Cordura. Aunque a veces, los casos de prueba de humo se ejecutan junto con los casos de prueba de Cordura, no se debe confundir que son la misma cosa.
  4. La prueba de regresión no está relacionada con la Prueba de Humo o la Prueba de Cordura: En teoría, la prueba de Cordura es un subconjunto de la prueba de regresión. Algunos casos de prueba de regresión de alta prioridad suelen constituir casos de prueba de cordura.
  5. Si tengo la intención de ejecutar el conjunto de pruebas de regresión completo, no necesito ejecutar ninguna prueba de humo o prueba de cordura: Si bien esto puede ser cierto en algunos casos, ya que las pruebas de cordura son de todos modos un subconjunto de las pruebas de regresión, es recomendable ejecutar primero los casos de prueba de cordura y luego seguirlos con el resto de los casos de prueba de regresión.

En este artículo, intentaremos aclarar las confusiones anteriores de una vez por todas.

En caso de que desee leer más sobre las pruebas manuales, consulte el enlace aquí.

Nota: Debido a que usaremos el término «Compilación de software» muchas veces en el artículo, definámoslo aquí. ‘Compilación de software’ es un proceso de conversión de código fuente, en una aplicación de usuario, después de múltiples revisiones y cambios de código, y la creación de compilación de software implica múltiples procesos como «Control de versiones, Calidad de código & Compilación» y la compilación de software también es el resultado de este proceso de compilación. En este artículo, una compilación se denominará una versión comprobable del software.

Pruebas de humo

Las pruebas de humo son un enfoque que generalmente se lleva a cabo durante las etapas iniciales de desarrollo del Ciclo de Vida de Desarrollo de Software(SDLC) para asegurarse de que las funcionalidades básicas de un programa funcionen correctamente sin problemas. Se ejecuta antes de que se realicen pruebas funcionales detalladas en el software.

La intención principal de las pruebas de humo no es realizar pruebas profundas, sino verificar que el núcleo o las funcionalidades principales del programa o el software funcionan bien. Las pruebas de humo tienen como objetivo rechazar una compilación mal rota en la etapa inicial para que el equipo de pruebas no pierda tiempo instalando & probando la aplicación de software.

La prueba de humo también se denomina Prueba de Verificación de construcción.

Veamos un ejemplo sencillo en el que se le da una aplicación de correo electrónico para probar. Las funciones importantes serían iniciar sesión en la aplicación de correo electrónico, redactar un correo electrónico y enviarlo, ¿verdad? Y, en caso de que el correo electrónico no se envíe, ¿tiene sentido probar otras funcionalidades como borradores, mensajes eliminados, archivos, etc.? Esto significa que tendrá que abandonar la compilación sin más validación. Esto se denomina prueba de humo.

El objetivo principal de las pruebas de humo es probar las áreas críticas y no la aplicación completa.

Cuándo realizar pruebas de humo

  • Cuando los desarrolladores proporcionan una nueva compilación al equipo de control de calidad. Una nueva construcción aquí significa cuando la construcción tiene nuevos cambios realizados por los desarrolladores.
  • Cuando se agrega un nuevo módulo a la funcionalidad existente.

Automation & Pruebas de humo:

Por lo general, este es el tipo de prueba que se ejecuta antes de que se puedan ejecutar los casos de prueba de automatización reales. Para las organizaciones que cuentan con pruebas continuas incorporadas, las pruebas de humo equivalen a la instalación exitosa de la compilación para ejecutar casos de prueba o la ejecución del primer caso de prueba. Por lo tanto, este no es un tipo de prueba que se automatice deliberadamente, pero si se implementa la automatización de prueba, la automatización de prueba solo puede ejecutarse con éxito una vez que el software haya pasado la prueba de humo. O de lo contrario, el primer caso de prueba que se ejecuta podría fallar.

Pruebas de cordura

Las pruebas de cordura son un tipo de pruebas realizadas para comprobar si un producto de software funciona correctamente cuando se implementa un nuevo módulo o funcionalidad en un producto existente. La prueba de cordura es una técnica de prueba de software que realiza una evaluación rápida de la calidad de la versión del software para determinar si es elegible para otras rondas de prueba o no.

Las pruebas de cordura generalmente se realizan después de recibir una compilación de software bastante estable o, a veces, cuando una compilación de software podría haber sufrido cambios menores en el código o la funcionalidad. Decide si las pruebas de extremo a extremo de un producto de software se llevarán a cabo o no.

La prueba de cordura también es una Prueba de nivel de superficie que ayuda a decidir si la compilación del software es lo suficientemente buena para pasarla al siguiente nivel de prueba.

Por qué realizar pruebas de cordura

  • Para verificar y validar la conformidad de las funcionalidades y características recién agregadas en el código existente.
  • Para garantizar que los cambios introducidos no afecten a otras funcionalidades existentes del producto.
  • Para decidir que las pruebas adicionales se pueden llevar adelante o no.

Cuándo realizar pruebas de cordura

  • La compilación se recibe después de muchas regresiones o si hay un cambio menor en el código.
  • La compilación se recibe después de la corrección de errores.
  • Justo antes de la implementación en producción.

Automation & Pruebas de cordura:

Teniendo en cuenta, las pruebas de cordura se consideran un subconjunto de pruebas de regresión, estos son los casos de prueba que se pueden automatizar. Un enfoque recomendado es ejecutar estos casos de prueba antes de ejecutar el conjunto de pruebas de regresión completo. El beneficio es que si hay algún error en los casos de prueba de cordura, los errores se pueden reportar más pronto que tarde.

Pruebas de regresión

Las pruebas de regresión son la verificación de «correcciones de errores o cualquier cambio en el requisito» y asegurarse de que no afecten a otras funcionalidades de la aplicación. Las pruebas de regresión son efectivas en la automatización y generalmente se realizan después de que se hayan realizado algunas modificaciones en la compilación del software después de cambios de requisitos o correcciones de errores.

Una vez completada la prueba de cordura de la funcionalidad modificada, todas las características afectadas de la aplicación requieren pruebas completas. Esto se denomina prueba de regresión.

Siempre que se corrijan errores en el software existente, es necesario ejecutar algunos escenarios de prueba para verificar las correcciones de errores. Además de estos, el equipo de control de calidad también tiene que verificar las áreas afectadas, en función de los cambios de código. En las pruebas de regresión, todos esos escenarios de prueba tendrán que ser ejecutados, para cuidar de las funcionalidades relacionadas.

Cuándo realizar Pruebas de regresión

  • Después de modificar el código de acuerdo con los cambios requeridos
  • Después de agregar algunas funciones nuevas a la aplicación
  • Después de incorporar algunas correcciones de errores en la compilación

Automation& Pruebas de regresión:

Los casos de prueba de regresión son en realidad los casos de prueba ideales para autómatas. Por lo general, cuando una organización inicia la automatización, estos son los casos de prueba que se automatizan primero. Si las pruebas de regresión son una actividad que está tomando mucho tiempo para sus evaluadores y los mismos casos de prueba se repiten varias veces, es hora de que comience a pensar en la automatización también.

Si está buscando una herramienta que pueda ayudarlo a comenzar su viaje de automatización, también debe asegurarse de elegir la herramienta adecuada. Una herramienta que también puede proporcionarle ROI en los esfuerzos invertidos. Tenemos la guía que puede ayudarle allí:

10 Points to Help You Choose the Right Test Automation Tool

Differences Between Smoke vs Sanity vs Regression Testing

Smoke Testing Sanity Testing Regression Testing
Performed on initial builds Performed on stable builds Performed on stable builds
To test the stability of new build Para probar la estabilidad de nuevas funcionalidades o cambios de código en la compilación existente Para probar la funcionalidad de todas las áreas afectadas después de nuevos cambios de funcionalidad/código en la compilación existente
Cubre funcionalidades básicas de extremo a extremo Cubre ciertos módulos, en los que se han realizado cambios de código Cubre pruebas detalladas dirigidas a todas las áreas afectadas después de agregar nuevas funcionalidades
Ejecutado por los evaluadores & a veces también por los desarrolladores Ejecutado por los evaluadores Ejecutado por los evaluadores, principalmente a través de la automatización
Una parte de las pruebas básicas Una parte de las pruebas de regresión Pruebas de Regresión es un súper conjunto de Humo y la Cordura de Prueba
Hace generalmente cada vez que hay una nueva generación Planeado cuando no hay suficiente tiempo para pruebas en profundidad Generalmente se realiza, cuando los evaluadores tienen suficiente tiempo

Puntos clave

  • Las pruebas de humo y cordura ayudan al equipo de control de calidad a ahorrar tiempo al realizar pruebas rápidas para asegurarse de que una aplicación funciona correctamente o no. Además, garantiza que el producto sea elegible para pruebas adicionales. Mientras que las pruebas de regresión ayudan a mejorar la confianza sobre la calidad del software después de un cambio en particular. Especialmente, que los cambios en el código no están afectando áreas relacionadas.
  • Las pruebas de humo las realiza el equipo de desarrollo o el equipo de control de calidad y se pueden tomar como un subconjunto de pruebas rigurosas. Mientras que las pruebas de regresión de Cordity & solo las realiza el equipo de control de calidad. Además, las pruebas de cordura se pueden considerar como un subconjunto de las pruebas de aceptación.
  • La prueba de humo se ejecuta en la etapa inicial de SDLC, para verificar las funcionalidades principales de una aplicación. Mientras que las pruebas de regresión de Sanity & se realizan en la etapa final de SDLC, para verificar las funcionalidades principales de una aplicación.
  • De acuerdo con el requisito de probar & disponibilidad de tiempo, el equipo de control de calidad puede tener que ejecutar pruebas de regresión Sanity, Smoke & en su compilación de software. En tales casos, primero se ejecutan pruebas de humo, seguidas de pruebas de Cordura & y luego se planifica una prueba de regresión basada en la disponibilidad de tiempo.

En la práctica, todos los equipos de control de calidad deben realizar pruebas de Humo, Cordura y regresión. Todos estos tipos de pruebas tienen un número predefinido de casos de prueba que se ejecutan varias veces. Esta ejecución repetitiva también los convierte en un candidato ideal para la automatización de pruebas. Al buscar automatización, se recomienda utilizar una herramienta que le proporcione ROI en la automatización desde las etapas iniciales. Testsigma es una de esas herramientas.

Elija una herramienta que permite automatizar desde el día 1