Вы находитесь на странице: 1из 5

TALLER-PARCIAL

Docente:
Yuliana Velásquez Restrepo

Integrantes:
-Wendy Josefina Sepúlveda Monsalve
-José Manuel Araujo Orrego

Universidad de Caldas
Facultad de ingenierías
2019
Calidad y Pruebas de Software – Taller Parcial 1

1. Se tiene el siguiente método en Java:

public double calcularPrecioPasaje(Pasajero pasajero, double valorBase) {


1 double precio = valorBase;
2 if (pasajero.getEdad() < 16 || pasajero.getEdad() > 65) {
3 precio = valorBase * 0.7;
}
4 else {
5 if (pasajero.getTipo().equals("frecuente")) {
6 double totalDescuentos = 0;
7 int posicion = 0;
8 double[] descuentos = pasajero.getDescuentos();
9 while (posicion < descuentos.length) {
10 totalDescuentos+= descuentos[posicion];
11 posicion++;
}
12 if (totalDescuentos > 0) {
13 precio = valorBase * (1-totalDescuentos);
}
}
}
14 return precio;
}

Nota: Puede considerar, para la clase Pasajero, que tiene el siguiente constructor:
Pasajero(int edad, String tipo, double[] descuentos)

También se tiene definido el siguiente caso de prueba para esta función:


Descripción Valores de entrada Resultados
esperados
Calcular el precio del double[] descuentos = {0, 0}; 200000
pasaje de un pasajero pasajero = new Pasajero(30, “frecuente”, descuentos)
frecuente, adulto, con valorBase = 200000
descuentos en cero

a) (0.5) Con este caso de prueba determine cuál sería la cobertura de líneas (Explique su
respuesta).

R/=Con base al metodo visto se llevo a cabo que se tienen 14 items ya que, este caso de
prueba pasa por 10.
A continuacion se implementa el calculo de la formula:

( cantidad de items probados


cantidad total de items )
∗100

( 1014 )×100=71.4285714
R/= se dedujo con base a la formula que da una cobertura de aprobacion del 71.42%

b) (0.5) Con este caso de prueba determine sería la cobertura de decisiones (Explique
su respuesta).

R/= Se dedujo que hay 6 items junto a 3 de sus condiciones dado que en el caso de
la prueba se observó que solo se pasa por 3.

A continuacion se implementa el calculo de la formula:

( cantidad de items probados


cantidad total de items )
∗100

( 36 ) ×100=50
R/= se dedujo con base a la formula da una cobertura del 50%.

c) (1.5) Complete la tabla con lo casos de prueba mínimos necesarios para lograr una
cobertura de decisiones del 100 %

Descripción Valores de entrada Resultados


esperados
Calcular el precio del double[] descuentos ={0,0}; 200000
pasaje de un pasajero pasajero = new Pasajero(30, “frecuente”, descuentos)
frecuente, adulto, con valorBase = 200000
descuentos en cero.

Calcular el precio de double[] descuentos ={0,0}; 180000


pasajero que no es pasajero = new Pasajero(40, “no frecuente”, descuentos)
frecuente, adulto, con valorBase = 180000
descuentos en cero

Calcular el precio del double[] descuentos ={0,0}; 100000


pasaje de un pasajero pasajero = new Pasajero(10, “no frecuente”, descuentos)
niño, que no es valorBase = 120000
frecuente, con
descuentos en cero

Calcular el precio del double[] descuentos = {0.90,0.85} 160000


pasaje de un pasajero pasajero= newPasajero(25,”frecuente”,descuentos)
frecuente, adulto, con el valorBase=200000
descuento.
d) (1.5) Realice la prueba de escritorio para el caso de prueba presentado en la tabla.

Instrucció Pasajero valorBas precio totalDescuentos posicio descuento salida


n e n s
30, 200000
“frecuente”,
descuentos
1 200000
2 (false)
4
5 (true)
6 0
7 0
8 {0,0}
9 (true)
10
11 1
9 (true)
10
11 2
12 (false)
14 Precio
=
200000

2. Se tiene el siguiente método en Java:

public void datos(double[] numeros) {


double suma = 0; double menor = 0;
for (int i = 0; i < numeros.length; i++) {
if (menor > numeros[i])
{
menor = numeros[i];
}
suma = suma + numeros[i];
}
double promedio = suma / numeros.length;
System.out.println("Menor: "+menor+" Promedio: "+promedio);
}
(0.5) Usando la siguiente lista de chequeo, identifique los errores que se encuentren. Para cada
error que encuentre debe escribir una breve explicación.

Pregunta Rta Explicación


Porque en la segunda línea se
encuentran dos variables inicializadas
Sólo se tiene una instrucción por línea No en una sola línea.

Sí, porque los identificadores de las


Los identificadores son significativos y siguen los variables
son correctos y permiten el
entendimiento del código
lineamientos recomendados para el lenguaje Sí adecuadamente.
Porque el condicional “if” que se
encuentra dentro del bucle for no
tiene la posición que debería y el
resto de líneas que siguen tampoco
Los bloques de código tienen la sangría (“identación”) contienen una sangría que le permita
correcta No un orden adecuado al código.
Si porque todas las condicionales y
bucles contienen adecuadamente sus
Cada condicional y ciclo tiene el bloque de código Sí T
llaves de cierre.
demarcado con llaves

3. (0.5) ¿Por qué es importante hacer pruebas dinámicas a un programa?


Es importante porque al implicar la ejecución del software de un sistema, permite encontrar
defectos y prevenirlos, también, proporciona la información de la calidad del software; por ende,
permite saber si el resultado obtenido cumple con los requisitos y con su propósito.

Вам также может понравиться