Sobes.tech
Junior

¿Cómo escribir una prueba de humo?

sobes.tech AI

Respuesta de la IA

Pruebas de humo. Identificamos las funciones principales y críticas de la aplicación. Creamos un conjunto mínimo de pruebas para verificar la funcionalidad "superficial" de estas funciones. Las automatizamos para una ejecución rápida después de cada compilación o lanzamiento.

Ejemplo de estructura de prueba de humo (pseudocódigo):

# Prueba nº1: Verificación del inicio de sesión exitoso del usuario en el sitio

def test_login_exitoso():
    # Navegar a la página de inicio de sesión
    navigate_to("https://mysite.com/login")
    # Ingresar credenciales correctas
    enter_username("user@example.com")
    enter_password("password123")
    # Hacer clic en el botón "Iniciar sesión"
    click_button("Iniciar sesión")
    # Verificar la presencia de un elemento o URL que indique inicio de sesión exitoso (por ejemplo, enlace al perfil)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Prueba nº2: Verificación de agregar un artículo al carrito

def test_agregar_articulo_al_carrito():
    # Navegar a la página del producto
    navigate_to("https://mysite.com/products/item1")
    # Hacer clic en el botón "Agregar al carrito"
    click_button("Agregar al carrito")
    # Verificar que el contador de artículos en el carrito se actualizó
    assert get_cart_item_count() == 1

# Y así sucesivamente para otras funciones críticas (registro, pago, búsqueda, etc.)

Puntos clave al escribir pruebas de humo:

  • Brevedad y velocidad: Las pruebas deben ejecutarse lo más rápido posible.
  • Enfoque en el núcleo: Solo se verifican las funciones "esenciales".
  • Estabilidad: Las pruebas deben ser resistentes a cambios menores que no afectan la lógica crítica.
  • Automatización: La mayoría de las pruebas de humo están automatizadas para integrarse en pipelines CI/CD.
  • Simplicidad: La lógica de las pruebas debe ser comprensible y fácil de mantener.