Sobes.tech
Junior

¿Sabes algún tipo de prueba?

sobes.tech AI

Respuesta de la IA

Sí, lo sé.

Tipos principales de pruebas:

  • Pruebas funcionales:

    • Pruebas de humo (Smoke Testing)
    • Pruebas de sanidad (Sanity Testing)
    • Pruebas de integración (Integration Testing)
    • Pruebas de sistema (System Testing)
    • Pruebas de regresión (Regression Testing)
    • Pruebas de aceptación (Acceptance Testing) - incluyendo pruebas alfa y beta.
  • Pruebas no funcionales:

    • Pruebas de rendimiento (Performance Testing) - incluye pruebas de carga, estrés y volumen.
    • Pruebas de seguridad (Security Testing)
    • Pruebas de usabilidad (Usability Testing)
    • Pruebas de compatibilidad (Compatibility Testing)
    • Pruebas de fiabilidad (Reliability Testing)
    • Pruebas de accesibilidad (Accessibility Testing)
    • Pruebas de localización (Localization Testing)
    • Pruebas de internacionalización (Internationalization Testing)
  • Pruebas relacionadas con cambios:

    • Pruebas de humo (Smoke Testing)
    • Pruebas de regresión (Regression Testing)
  • Pruebas estructurales (basadas en código):

    • Pruebas unitarias (Unit Testing)
    • Pruebas de caja blanca (White Box Testing)
  • Pruebas basadas en la experiencia:

    • Pruebas exploratorias (Exploratory Testing)
    • Pruebas basadas en listas de verificación (Checklist-based Testing)
    • Pruebas basadas en escenarios (Scenario-based Testing)

Ejemplos de aplicación de algunos tipos:

Tipo de prueba Descripción breve Cuándo se aplica
Pruebas de humo Verificación de funciones principales después de la compilación o despliegue. Cada nueva compilación.
Pruebas de regresión Verificar que los cambios no introducen nuevos defectos en la funcionalidad existente. Después de cada cambio o corrección de defectos.
Pruebas de carga Verificar el comportamiento del sistema bajo carga esperada. Antes de poner en producción, con cambios en la arquitectura.
Pruebas unitarias Pruebas de componentes o módulos de código individuales. En la fase de desarrollo, por los desarrolladores.

En automatización de pruebas, generalmente automatizamos pruebas de regresión, pruebas de integración y, a veces, pruebas de rendimiento y seguridad.

// Ejemplo de pruebas unitarias (JUnit)
public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calculator = new Calculator();
        assertEquals(5, calculator.add(2, 3), "Sumar 2 y 3 debe ser 5");
    }
}
# Ejemplo de prueba con Selenium Webdriver (Python)
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()