Este documento describe la implementación de pruebas unitarias mediante la técnica del camino básico para varios métodos de una clase Matemáticas. Se definen cuatro métodos (euclides, menorDeTres, positivoNegativoCero y esPar) y se proponen casos de prueba para cada uno que cubren todos los caminos posibles a través del código. El documento explica el código de cada método y los casos de prueba propuestos para lograr una cobertura del 100%.
Prueba del Camino Básico.Clase Matemáticas Ampliación.
1. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
IES Gran Capitán
Módulo: Entornos de desarrollo
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”
Prueba del camino básico. Clase Matemáticas
Fecha entrega: 9/2/2016
Autora: Isabel María Gómez Palomeque
2. Prueba del camino básico. Clase Matemáticas 2
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
ÍNDICE
ÍNDICE 2
PRUEBA DEL CAMINO BÁSICO. CLASE MATEMÁTICAS 3
1.1 EL CÓDIGO SERÍA ESTE: 3
1.2 CAMINOS POSIBLES Y SU COVERAGE CORRESPONDIENTE: 5
1.2.1 MÉTODO EUCLIDES() 5
1.2.2 MÉTODO MENORDETRES() 7
1.2.3 MÉTODO POSITIVONEGATIVOCERO() 12
1.2.4 MÉTODO ESPAR() 14
3. Prueba del camino básico. Clase Matemáticas 3
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
PRUEBA DEL CAMINO BÁSICO. CLASE MATEMÁTICAS
Amplía la clase Matematicas con los siguientes métodos. Para cada uno de ellos
diseña el conjunto de casos de prueba mediante la técnica del camino básico:
static int menorDeTres(int a, int b, int c) {},
static Respuesta positivoNegativoCero(int numero) {},
static boolean esPar(int a) {}
En Eclemma, dentro de la vista de cobertura demostrar que todas se cubren al 100%:
1.1 El código sería este:
package ed.temaPruebas.eclemma.Matematicas;
import utiles.Teclado;
/**
* Prueba del camino básico. Clase Matemáticas Amplía la clase Matematicas
con
* los siguientes métodos. Para cada uno de ellos diseña el conjunto de casos
de
* prueba mediante la técnica del camino básico:
* static int menorDeTres(int a, int b, int c) {},
* static Respuesta positivoNegativoCero(int numero) {},
* static boolean esPar(int a) {}
*
* En Eclemma, dentro de la vista de cobertura demostrar que todas se cubren
al
* 100%:
*
* @author Isabel María Gómez Palomeque
* @version 1.0
*/
public class Matematicas {
public static void main(String[] args) {
int a = Teclado.leerEntero("Introduce el valor de a: ");
int b = Teclado.leerEntero("Introduce el valor de b: ");
// Máximo común divisor
b = euclides(a, b);
System.out.println("El máximo comun divisor es: " + b + "nn");
// Menor de los 3
int c = Teclado.leerEntero("Introduce el valor de c: ");
System.out.println("El valor de a es: " + a + "nEl valor de b
es: " + b + "nEl valor de c es: " + c
+ "nEl menor de los 3 es: " + menorDeTres(a, b, c)
+ "nn");
// Es Positivo Negativo Cero
System.out.println("El valor de a es: " +
positivoNegativoCero(a) + "nEl valor de c es: "
+ positivoNegativoCero(b) + "nEl valor de c es: "
+ positivoNegativoCero(c) + "nn");
// El número es Par
System.out.println("El valor de a es par: " + esPar(a));
}
4. Prueba del camino básico. Clase Matemáticas 4
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
/**
* Devuelve el máximo común divisor de dos números
*
* @param a
* número para hallar el MCD
* @param b
* número para hallar el MCD
* @return Máximo común divisor de los dos números
*
*/
public static int euclides(int a, int b) {
if (a < b) {
int tmp = a;
a = b;
b = tmp;
}
int resto;
// Ahora en a estará el mayor
while ((resto = a % b) != 0) {
a = b;
b = resto;
}
return b;
}
public static int menorDeTres(int a, int b, int c) {
if (a < b && a < c)
return a;
else if (b < a && b < c)
return b;
else if (c < b && c < a)
return c;
else if (a == b && a < c)
return a;
else if (a == c && a < b)
return a;
else if (b == c && b < a)
return b;
else
return c;
}
static String positivoNegativoCero(int numero) {
if (numero < 0)
return numero + " es negativo";
if (numero > 0)
return numero + " es positivo";
return numero + " es cero";
}
static boolean esPar(int a) {
if (a % 2 == 0)
return true;
else
return false;
}
}
5. Prueba del camino básico. Clase Matemáticas 5
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
1.2 Caminos posibles y su coverage correspondiente:
Para realizar las pruebas sólo tendremos que darle clicar sobre la clase que queramos comprobar
y seleccionar “Coverage As” > “Java Applicacion” o bién Alt+Shift+E,J
1.2.1 Método euclides()
Camino 1: a=100; b=0;
Nos saltaría una excepción al insertar el 0.
Exception in thread "main" java.lang.ArithmeticException: / by zero
at
ed.temaPruebas.eclemma.Matematicas.Matematicas.euclides(Matematicas.java:58)
at
ed.temaPruebas.eclemma.Matematicas.Matematicas.main(Matematicas.java:24)
6. Prueba del camino básico. Clase Matemáticas 6
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 2: a=100; b=100;
Camino 3: a=1; b=2;
7. Prueba del camino básico. Clase Matemáticas 7
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 4: a=10; b=11;
1.2.2 Método menorDeTres()
Camino 1: a=1; b=2; c=3;
8. Prueba del camino básico. Clase Matemáticas 8
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 2: a=3; b=1; c=2;
Camino 3: a=3; b=2; c=1;
9. Prueba del camino básico. Clase Matemáticas 9
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 4: a=2; b=2; c=3;
Camino 5: a=2; b=3; c=2;
10. Prueba del camino básico. Clase Matemáticas 10
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 6: a=3; b=2; c=2;
Camino 7: a=2; b=2; c=2;
11. Prueba del camino básico. Clase Matemáticas 11
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Por lo que al pulsar sobre “Merge Sessions” nos mostrará el total del programa que ha podido recorrer.
12. Prueba del camino básico. Clase Matemáticas 12
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
1.2.3 Método positivoNegativoCero()
El código sería:
public class Matematicas {
public static void main(String[] args) {
int c = Teclado.leerEntero("Introduce el valor de c: ");
// Es Positivo Negativo Cero
System.out.println("El valor de c es: " +
positivoNegativoCero(c) + "nn");
}
static String positivoNegativoCero(int numero) {
if (numero < 0)
return numero + " es negativo";
if (numero > 0)
return numero + " es positivo";
return numero + " es cero";
}
}
Camino 1: c= -1;
13. Prueba del camino básico. Clase Matemáticas 13
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 2: c= 1;
Camino 3: c=0;
14. Prueba del camino básico. Clase Matemáticas 14
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
El resultado sería:
1.2.4 Método esPar()
Camino 1: a= 2;
15. Prueba del camino básico. Clase Matemáticas 15
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Camino 2: a= 3;
El resultado de la prueba sería:
16. Prueba del camino básico. Clase Matemáticas 16
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Para finalizar el resultado total de todos los métodos sería: