Sobes.tech
Junior

¿Qué es la técnica de análisis de clases de equivalencia y cómo se aplica en las pruebas de software?

sobes.tech AI

Respuesta de la IA

La técnica de análisis de clases de equivalencia (Equivalence Partitioning) es un método de diseño de casos de prueba basado en dividir los datos de entrada (o condiciones de salida) en clases, cuyos representantes serán procesados por el programa de manera similar. Se considera suficiente probar un representante de cada clase para cubrir toda la clase.

Idea principal: Si una prueba en un representante de la clase detecta un error, probablemente la prueba en cualquier otro representante de esa misma clase también detectará un error. Si la prueba en un representante no detecta errores, probablemente la prueba en cualquier otro representante de esa misma clase tampoco los detectará.

Aplicación:

  1. Identificación de clases de equivalencia:
    • Se determinan clases permitidas y no permitidas para cada campo de entrada (rango numérico, conjunto de cadenas, valores booleanos, etc.).
    • Para rangos numéricos:
      • Rango permitido.
      • Números menores que el límite inferior (clase no permitida).
      • Números mayores que el límite superior (clase no permitida).
    • Para conjuntos de valores:
      • Valores permitidos.
      • Valores no permitidos (por ejemplo, cadenas en un campo numérico).
    • Por ejemplo, para un campo "Edad" de 18 a 65 años:
      • Clase permitida: 18-65 (por ejemplo, 25, 40, 60)
      • Clase no permitida: < 18 (por ejemplo, 17, 0)
      • Clase no permitida: > 65 (por ejemplo, 66, 100)
  2. Creación de casos de prueba:
    • Se selecciona un representante de cada clase identificada (permitida y no permitida).
    • Se crean casos de prueba con los representantes seleccionados como datos de entrada.

Ejemplo:

Formulario para pedido, campo "Cantidad de producto", valor permitido de 1 a 99.

Clase de equivalencia Tipo Representantes para prueba
Menor que 1 No permitido 0, -5
De 1 a 99 Permitido 1, 50, 99
Mayor que 99 No permitido 100, 1000
Valores no numéricos No permitido "abc", " "

De cada clase se selecciona al menos un representante para crear un caso de prueba. Por ejemplo, para este campo habrá al menos 4-6 casos de prueba que cubren todas las clases identificadas.

Ventajas:

  • Reduce la redundancia en los casos de prueba.
  • Ayuda a sistematizar el proceso de prueba.
  • Asegura una buena cobertura de prueba con menos casos en comparación con probar cada valor de entrada posible.

Desventajas:

  • Puede no detectar errores en valores límite (frecuentemente se usa en combinación con análisis de valores límite).
  • La efectividad depende de la correcta identificación de las clases de equivalencia.