Está en la página 1de 10

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN

FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y


SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Pruebas de Software

Laboratorio 02

Presentado por:
Mejia Huayhua Jose Carlos
Docente:
Mg. Jorge Cristhian Chamby Diaz
Grupo: B

Arequipa – Perú

Abril-2021
EJERCICIOS PROPUESTOS

1. Implemente las clases JUnit correspondientes para realizar las pruebas


unitarias de la función max() de la clase BigInteger de Java. Utilice los casos
de prueba unitarios que pensó en el ejercicio del Laboratorio 1

Para este ejercicio se hizo 18 métodos de diferentes casos, en la matriz o diagrama


presentado en el anterior laboratorio se presentó 36 casos, pero cabe señalar que
los otros 18 que no se probó son iguales a los primeros 18(que si se probaron)
solamente alternando su orden ( (a,b)->(b,a)) de manera que no lo consideramos
tan necesario.

❖ Código:

package ps.lab02;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author Maxim
*/
public class JUnit {

public JUnit() {
}

@BeforeClass
public static void setUpClass() {
}

@AfterClass
public static void tearDownClass() {
}

@Before
public void setUp() {
}

@After
public void tearDown() {
}

/**
* Test of main method, of class PSLab02.
*/
@Test
public void testCase1() {
//int positivo-int positivo
assertEquals(Math.max(2, 1), 2);
}
@Test
public void testCase2() {
//int positivo-int negativo
assertEquals(Math.max(-2, 1), 1);
}
@Test
public void testCase3() {
//int positivo-double positivo
assertEquals(Math.max(1, 2.3), 2.3 ,0.0);
}
@Test
public void testCase4() {
//int positivo-double negativo
assertEquals(Math.max(1, -2.3), 1 ,0.0);
}
@Test
public void testCase5() {
//int positivo-float positivo
assertEquals(Math.max(1, 3.4028235E+38), 3.4028235E+38
,0.0);
}
@Test
public void testCase6() {
//int positivo-float negativo
assertEquals(Math.max(1, -3.4028235E+38),1 ,0.0);
}
@Test
public void testCase7() {
//double positivo-double positivo
assertEquals(Math.max(4.6, 2.3), 4.6 ,0.0);
}
@Test
public void testCase8() {
//double positivo-double negativo
assertEquals(Math.max(4.6, -2.3), 4.6 ,0.0);
}
@Test
public void testCase9() {
//double positivo-float positivo
assertEquals(Math.max(4.6, 3.4028235E+38), 3.4028235E+38
,0.0);
}
@Test
public void testCase10() {
//double positivo-float negativo
assertEquals(Math.max(4.6, -3.4028235E+38), 4.6 ,0.0);
}
@Test
public void testCase11() {
//float positivo-float positivo
assertEquals(Math.max(2.4028235E+38, 3.4028235E+38),
3.4028235E+38,0.0);
}
@Test
public void testCase12() {
//float negativo-float negativo
assertEquals(Math.max(-2.4028235E+38, -3.4028235E+38),
-2.4028235E+38,0.0);
}
@Test
public void testCase13() {
//int negativo-double positivo
assertEquals(Math.max(-1, 1.6), 1.6,0.0);
}
@Test
public void testCase14() {
//int negativo-double negativo
assertEquals(Math.max(-1, -1.6), -1,0.0);
}
@Test
public void testCase15() {
//int negativo-float positivo
assertEquals(Math.max(-1, 3.4028235E+38),
3.4028235E+38,0.0);
}
@Test
public void testCase16() {
//int negativo-float negativo
assertEquals(Math.max(-1, -3.4028235E+38), -1,0.0);
}
@Test
public void testCase17() {
//double negativo-float positivo
assertEquals(Math.max(-1.6, 3.4028235E+38),
3.4028235E+38,0.0);
}
@Test
public void testCase18() {
//double negativo-float negativo
assertEquals(Math.max(-1.6, -3.4028235E+38), -1.6,0.0);
}
}

❖ Pruebas de compilación:
2. Implemente una clase llamada Fibonacci con un método para calcular los
números de Fibonacci (dado un “n” retorna el n-ésimo número de Fibonacci).

En matemáticas, la sucesión o serie de Fibonacci es la siguiente sucesión infinita de


números naturales:

0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597

❖ Código:

package fibonacci;
/**
*
* @author Mejia Huayhua Jose Carlos
*/
public class Fibonacci {
public int get(int n)
{
if(n<=1&&n>=0)
{
return 1;
}
else
{
return get(n-1)+get(n-2);
}
}
public static void main(String[] args) {
Fibonacci f=new Fibonacci();

for(int i=0;i<=32;i++)
{
System.out.println("Fibonacci de:"+i+" es->"+f.get(i));
}
}

❖ Pruebas de Compilación:

3. Implemente las clases JUnit correspondientes para realizar las pruebas


unitarias.
Para este ejercicio tomamos como 4 casos de prueba, los dos primeros probaran los
casos base donde n=0 y n=1, en ambos casos nos debería de dar 1, estos los
probamos porque no entraron a la recursión, por lo tanto si estos dos casos están
bien la serie de recursión no debería fallar, a no ser que hayamos puesto mal la
fórmula recursiva.

También probaremos con un número aleatorio que generamos con Math random
entre 2 y 10 (ya que estos números si entraran a la serie recursiva al menos una
vez) entonces como resultado nos debería arrojar el fibonacci de ese número menos
uno más el el fibonacci de ese número menos dos. Esto lo hacemos para probar la
fórmula.

Por último probaremos con número(en este caso 32) cuyo resultado sea muy
grande.

❖ Código:

package fibonacci;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author Maxim
*/
public class FibonacciTest {

public FibonacciTest() {
}

@BeforeClass
public static void setUpClass() {
}

@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
}

@After
public void tearDown() {
}

/**
* Test of get method, of class Fibonacci.
*/
@Test
public void testCase1() {
//primer número de la serie
Fibonacci f = new Fibonacci();
assertEquals(f.get(0), 1);
}
@Test
public void testCase2() {
//segundo número de la serie
Fibonacci f = new Fibonacci();
assertEquals(f.get(1), 1);
}
@Test
public void testCase3() {
//comprabamos la fórmula
Fibonacci f = new Fibonacci();
int r=(int) (Math.random()*10+2);
assertEquals(f.get(r), (f.get(r-1)+f.get(r-2)));
}
@Test
public void testCase4()
{
//Probando con un número cuyo resultado es muy grande
Fibonacci f = new Fibonacci();
assertEquals(f.get(32), 3524578);
}
}

❖ Pruebas de compilación:

También podría gustarte