Entornos Desarrollo ED03 Tarea
Entornos Desarrollo ED03 Tarea
Entornos Desarrollo ED03 Tarea
o Grafo:
o Complejidad ciclomática:
o Caminos de prueba:
Camino 1 : 1-2-4-6-7
Camino 2 : 1-2-4-5-7
Camino 3 : 1-2-3-7
o Resultados esperados:
Camino Entrada Salida
1 cantidad = 1 dsaldo = dsaldo + 1
2 cantidad = 0 “Error detectable en pruebas de
caja blanca"
3 cantidad = -1 "No se puede ingresar una
cantidad negativa"
Realiza un análisis de caja negra, incluyendo valores límite y conjetura de errores del método retirar. Debes considerar que este métodorecibe como
parámetro la cantidad a retirar, que no podrá ser menor a 0. Además en ningún caso esta cantidad podrá ser mayor al dSaldo. Al tratarse de pruebas
funcionales no es necesario conocer los detalles del código.
Atributo: cantidad
Dominio Clase Tipo Límite inferior Límite superior
Números decimales con (-∞, 0] No válida -∞ 0
coma flotante (double)
(0, ≤ dSaldo ] Válida 0 ≤ dSaldo
(> dSaldo, +∞) No válida > dSaldo +∞
Método: retirar
Nº test cantidadaretirar Salida esperada
1 -100 ERROR
2 -1 ERROR
3 0 saldo = saldo – 0
4 100 && ≤ dSaldo saldo = saldo - 100
5 1000 && > dSaldo ERROR
Crea la clase CCuentaTest del tipo Caso de prueba JUnit en Eclipse que nos permita pasar las pruebas unitarias de caja blanca del métodoingresar. Los
casos de prueba ya los habrás obtenido en el primer apartado del ejercicio.
}
else if (cantidad == 0)
{
System.out.println("Error detectable en pruebas de caja blanca");
iCodErr = 2;
}
else
{
// Depuracion. Punto de parada. Solo en el 3 ingreso
{
dSaldo = dSaldo + cantidad;
iCodErr = 0;
}
}
} else {//autor = ANTONIO MARTIN. Error mostrado si se intentan realizar más ingresos
System.out.println("ERROR! No se pueden realizar más de 3 ingresos");
}
}
else
{
dSaldo = dSaldo - cantidad;
}
}
}
o Código CcuentaTest corregido:
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
class CCuentaTest {
CCuenta miCuenta = new CCuenta();
@ParameterizedTest
@CsvSource({"-10,1","0,2","10,0"})
@DisplayName("Caja Blanca - Ingresar")
void testIngreso(double cant,int resul) {
assertEquals(resul,miCuenta.ingresar(cant));
}
}
Genera los siguientes puntos de ruptura para validar el comportamiento del método ingresar en modo depuración.
o Punto de parada sin condición al crear el objeto miCuenta en la función main. Línea 3 del código del método main que se presenta en lasiguiente
página de este libro.
o Punto de parada en la instrucción return del método ingresar sólo si la cantidad a ingresar es menor de 0. Línea 20 del código del métodoingresar
que se presenta más adelante.
o Punto de parada en la instrucción donde se actualiza el saldo, sólo deberá parar la tercera vez que sea actualizado. Línea 16 del código
delmétodo ingresar que se presenta más adelante.