Los datos de entrada y los resultados de salida se agrupan en clases
diferentes, en las que todos los miembros de dicha clase están
relacionados
Cada una de estas clases es una partición de equivalencia en la que el
programa se comporta de la misma forma para cada miembro de la clase
Se supone
que la prueba de un valor representativo de cada clase sea equivalente a la prueba de cualquier otro valor
Pasos:
Se toma cada condición de entrada o salida (usualmente frase o sentencia en la especificación) y se la divide en 1 o más grupos. Se identifican dos tipos de clase de equivalencias: validas e invalidas
Una cierta combinación de clases de entrada dará como resultado una combinación de clases de salidaPautas:
Clases validas | Clase invalidas |
1<nro. <99 | nro. < 1 |
nro > 99 |
Clases validas | Clase invalidas |
1<propietarios<6 | no hay propietarios |
hay mas de 6 propietario |
Clases validas | Clase invalidas |
Uno por cada uno | Todos los que no son esos, por ejemplo: trailer |
Clases validas | Clase invalidas |
Primer carácter un dígito | rimer carácter distinto de dígito |
Crear Casos de Prueba:
Por cada dato de entrada y salida elegimos un valor perteneciente a una clase de equivalencia.
Un caso de prueba está formado por un dato de prueba para cada dato de entrada y salida (resultado esperado)
Ejemplo: result function (x, y, z) . Sean Vi las clases válidas y Ni las clases inválidas
Clases de x: V1, N1,N2
Clases de y: V2,N3
Clases de z: V3, N4, N5
Clases de result: V4, N6, N7
Un posible caso de prueba sería: ( x1 en V1, y1 en V2, z1 en V3, r1 en V4)
Pautas:
Ejemplo: result function(x,y)
Clases de x: V1, N1,N2
Clases de y: V2,V3
Clases de result: V4, N3
Casos de Prueba:
No es necesario probar todas las combinaciones.