Está en la página 1de 4

TALLER COBERTURA MANUAL

Docente:
Yuliana Velásquez Restrepo

Integrantes:
-Jose Manuel Araujo Orrego
-Steven Armando Garnica Vega

Universidad de Caldas
Facultad de ingenierías
2019
Ejercicio: Cobertura Manual

Se tiene el siguiente código en Java:

public class Subasta {


public double calcularValor(double valorBase, Pintor autor)
throws Exception {
if (valorBase < 100000) {
throws new Exception(“Valor por debajo del mínimo”);
}
double valor = valorBase;
if (autor != null) {
if (autor.estaVivo()) {
String tecnica = autor.getTecnica();
if (tecnica.equals(“manual”)) {
valor *= 1.5;
}
} else {
valor *= 3;
}
}
return valor;
}
}

Nota: Puede considerar, para la clase Pintor, que tiene el siguiente constructor:
Pintor(String nombre, boolean vivo, String tecnica).

También se tienen definidos los siguientes casos de prueba para ese método:
Id Descripción Valores de entrada Resultados
esperados
CP-valor1 Tratar de valorBase = 50000 Exception (con
calcular el valor autor = new Pintor(“Botero”,true, “manual”) mensaje “Valor
con un valor por debajo del
base inferior al mínimo”)
mínimo
CP-valor2 Calcular el valor valorBase = 200000 600000
de una obra de autor = new Pintor(“Van Gogh”,false,“manual”)
un autor muerto

1. Con estas dos pruebas (en conjunto) determine:


a) ¿Cuál sería la cobertura de líneas? Explique su respuesta.

-En la primera prueba, tiene una cobertura del 18% ya que, dar un valor de 100.000 esto nos
lanzará una excepción y no pasará por las otras líneas de codigo

-En la segunda prueba tiene una cobertura del 54% ya que, solo pasa por 6 de las 11 líneas

b) ¿Cuál sería la cobertura de decisiones o ramas? Explique su respuesta.


-ambas pruebas conjuntas nos brindan una cobertura del 62.5% porque pasa por cinco de las
ocho decisiones diferentes

2. Complete la tabla de casos de prueba para lograr una cobertura de decisiones del 100 %.

Id Descripción Valores de entrada Resultados


esperados
CP- Tratar de valorBase = 50000 Exception (con
valor1 calcular el autor = new Pintor(“Botero”,true, mensaje “Valor
valor con un “manual”) por debajo del
valor base mínimo”)
inferior al
mínimo
CP- Calcular el valorBase = 200000 600000
valor2 valor de una autor = new Pintor(“Van
obra de un Gogh”,false,“manual”)
autor muerto
CP Calcular el ValorBase = 300000 450000
Valor3 valor de una autor=new Pintor(“Gerhard ” true,
obra de un ”manual ”)
autor vivo
CP Calcular el ValorBase = 500000 500000
Valor 4 valor de una autor=new Pintor(“Bruce” true,
obra, de un ”artificial”)
autor vivo que
no haya sido
de forma
manual
CP Calcular el ValorBase = 800000 800000
Valor 5 valor de una autor=new Pintor(“null” false,
obra de un ”manual”)
autor
desconocido y
muerto

3. Escriba el código en JUnit para los casos de prueba definidos (tanto los dos que ya estaban
en la tabla, como los adicionados en el punto anterior).

@Test (expected=Exception.class)
public void testmenor() throws Exception {
Pintor pintor = new Pintor("Botero",true,"manual");
Subasta subasta = new Subasta();
double valoresperado = 50000;
double valorrecibido = subasta.calcularValor(50000, pintor);
}

@Test
public void testautormuerto() throws Exception {

Pintor pintor = new Pintor("Van Gogh",false,"manual");


Subasta subasta = new Subasta();
double valoresperado = 600000;
double valorrecibido = subasta.calcularValor(200000, pintor);
assertEquals(valoresperado, valorrecibido, 0);

@Test
public void testautorvivo() throws Exception {

Pintor pintor = new Pintor("Gerhard",true,"manual");


Subasta subasta = new Subasta();
double valoresperado = 450000;
double valorrecibido = subasta.calcularValor(300000, pintor);
assertEquals(valoresperado, valorrecibido, 0);

@Test
public void testautornomanual() throws Exception {

Pintor pintor = new Pintor("Bruce",true,"artificial");


Subasta subasta = new Subasta();
double valoresperado = 500000;
double valorrecibido = subasta.calcularValor(500000, pintor);
assertEquals(valoresperado, valorrecibido, 0);

@Test
public void testautordesconocido() throws Exception {

Pintor pintor = new Pintor("null",false,"manual");


Subasta subasta = new Subasta();
double valoresperado = 800000;
double valorrecibido = subasta.calcularValor(800000, pintor);
assertEquals(valoresperado, valorrecibido, 0);