Partición de clases de equivalencia

Al probar cualquier tipo de aplicación, es casi imposible o, de hecho, lleva mucho tiempo probar todos los conjuntos de combinaciones de entrada. Por tanto, para probar eficazmente la aplicación, utilizamos técnicas de prueba de software como la técnica de División de Clases de Equivalencia.
Mediante esta técnica, podemos probar eficazmente aplicaciones de software con un conjunto limitado de datos de prueba. Así que ahora vamos a comprobar esta técnica en detalle.
¿Cuál es la distribución de las clases de equivalencia?
El particionamiento de clases de equivalencia es una técnica de prueba de caja negra o de prueba basada en especificaciones, en la que agrupamos los datos de entrada en particiones lógicas llamadas clases de equivalencia.
Se supone que todos los elementos de datos de la clase de equivalencia serán procesados de la misma forma por la aplicación informática sometida a prueba cuando se pasen como entrada.
Así, en lugar de probar todas las combinaciones de datos de prueba de entrada, podemos seleccionar y pasar a la aplicación cualquier dato de prueba de una determinada clase de equivalencia y suponer que la aplicación se comportará igual con otros datos de prueba de esa clase.
Ejemplo
Considera el ejemplo de una aplicación que acepta como entrada un número numérico con un valor entre 10 y 100 y detecta su otro lado. Ahora podemos utilizar la prueba de clases de equivalencia para crear las siguientes clases de equivalencia:
Clase de equivalencia | Explicación |
---|---|
Números del 10 al 100 | Esta clase contendrá datos de prueba para el escenario positivo. |
Números del 0 al 9 | Esta clase contendrá datos de prueba limitados por la aplicación, ya que está diseñada para trabajar sólo con números del 10 al 100. |
Superior al 100 | Esta clase contendrá de nuevo datos de prueba limitados por la aplicación, pero esta vez para pruebas de límite superior. |
Números negativos | Como los números negativos pueden tratarse de otra forma, crearemos una clase distinta para los números negativos, con el fin de comprobar la robustez de la aplicación. |
Cartas | Esta clase se utilizará para probar la robustez de una aplicación con caracteres no numéricos. |
Caracteres especiales | Al igual que la clase de equivalencia para las letras, podemos tener una clase de equivalencia distinta para los caracteres especiales. |
Identificación de clases de equivalencia
Vamos a discutir algunos puntos o buenas prácticas relativas a la identificación de las clases de equivalencia :
- Se requiere la cobertura de todos los tipos de datos de prueba para escenarios de prueba positivos y negativos. Las clases de datos de prueba deben crearse de forma que cubran todos los conjuntos de escenarios de prueba, pero al mismo tiempo no debe haber redundancia en ellas.
- Si existe la posibilidad de que los datos de prueba de una clase concreta se traten de forma diferente, entonces es mejor dividir esa clase de equivalencia.
Por ejemplo, en el ejemplo anterior, la aplicación no funciona con números – inferiores a 10. Así, en lugar de crear 1 clase para los números inferiores a 10, creamos dos clases: los números del 0 al 9 y los números negativos. Esto se debe a que existe la posibilidad de que la aplicación funcione de forma diferente con números negativos.
Ventajas de probar clases equivalentes
- Utilizar pruebas de clases de equivalencia reduce significativamente el número de casos de prueba, manteniendo la misma cobertura de pruebas.
- Esta técnica de prueba ayuda a entregar un producto de calidad en un periodo de tiempo mínimo.
- Es perfectamente adecuado para proyectos de software con limitaciones de tiempo y recursos.
Desventajas de probar clases equivalentes
- Todo el éxito de las pruebas de clases de equivalencia depende de la identificación de las clases de equivalencia. La identificación de estas clases depende de las habilidades de los probadores que crean las clases y los casos de prueba basados en ellas.
- En el caso de las aplicaciones complejas, es muy difícil identificar todo el conjunto de clases de equivalencia y requiere una gran pericia por parte del verificador.
- Las clases de equivalencia incorrectamente identificadas pueden dar lugar a una menor cobertura de las pruebas y a la posibilidad de que se produzcan fugas de errores.