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

Tcnicas de Pruebas de Software - Tarea 1

Jeny Berenice Rafael Espiritu

int c;
1
unsigned long int hexnum, nhex;
hexnum = nhex = 0;
while((c = getchar()) != '\n' (2.a) && c != EOF(2.b)) {
2
switch(c) {
3
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case
4-13
'8': case '9':
nhex++;
14
hexnum *= 0x10;
15
hexnum += (c - '0');
break;
16
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
17-22
nhex++;
23
hexnum *= 0x10;
24
hexnum += (c - 'a' + 0xa);
break;
25
case 'A': case 'B': case 'C': case 'D': case 'E' : case 'F':
26-31
nhex++;
32
hexnum *= 0x10;
33
hexnum += (c - 'A' + 0xA);
break;
34
Default:
35
break;
36
}
}
37
fflush(stdin);
38
printf("Tengo %d digitos hexadecimales: %x\n", nhex, hexnum);
getchar();
return 0;
39
Programa simple escrito en C que acepta una cadena con caracteres Hexadecimales
(entre otros caracteres no deseados). ste ignora los otros caracteres y convierte Los
caracteres hexadecimales en una representacin numrica.
int main() {
}

Tcnicas de Pruebas de Software - Tarea 1

Pruebas

Jeny Berenice Rafael Espiritu

Tcnicas de Pruebas de Software - Tarea 1

Jeny Berenice Rafael Espiritu

059
1 1 1 1
5
6
1 2 3 4 5 6 7 8 9 0 1 2 3 6 0
1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1

6
1
0

6
2
1

6
3
1

ace
2 2 2 2
1 2 3 6 7 8 9
1 1 1 0 1 0 1 0

3 3
5
6
0 1 7 0
1 0 0 1 0 1

6 6 6
1 2 3
0 1 1

4 4
5
6
4 5 8 0
0 0 0 1 0 1

6 6 6
1 2 3
0 1 1

ACD
4 4 4 4
1 2 3 0 1 2 3
1 1 1 0 1 0 1 1

Criterios de cobertura:
Criterio
Cobertura de sentencias: Se trata de ejecutar con los casos de prueba
cada sentencia e instruccin al menos una vez.
Cobertura de decisiones: Escribimos los casos suficientes para que
cada condicin tenga al menos una resultado verdadero y otro falso.
Cobertura de condiciones :Se trata de escribir los casos suficientes
para que cada condicin de cada decisin adopte el valor verdadero y el
falso al menos una vez
Cobertura de decisin /condicin: Es el cumplimiento de la cobertura
de condiciones y de decisiones
Criterio
de
condicin
mltiple:
Si
tenemos
decisiones
multicondicionales las descompondremos en decisiones unicondicionales,
ejecutando todas las combinaciones posibles de resultados.

Alcanza el
criterio
x
x
x

x
x

Qu cadenas de entrada podras aadir para alcanzar las coberturas de sentencias y


caminos?
0123456789abcdefABCDEF
QWRTffghyjhujkikiu
!#$%&/()=?

0123456789abcdefABCDEF!#$%&okjumnbjuKMIU
Seran estas las pruebas suficientes para probar este programa?
NO, ya que la complejidad ciclomatica me marca 23 caminos a probar.

Tcnicas de Pruebas de Software - Tarea 1

Jeny Berenice Rafael Espiritu

Realiza un programa en java que encuentre el valor mximo de tres nmero dados (ledos desde
lnea de comando) y al momento de encontrar este valor se imprima una leyenda indicando
El mximo concatenando el valor encontrado.
package modelo;
import java.util.Scanner;
public class compara {
public static void main(String[] args) {

}
}

int num1;
int num2;
int num3;
int max=-1;
Scanner sc = new Scanner(System.in);
System.out.println("Ingrese los numeros a comparar");
System.out.print("Num 1:");
num1=sc.nextInt();
System.out.print("Num 2:");
num2=sc.nextInt();
System.out.print("Num 3:");
num3=sc.nextInt();
if(num2<num1 (2.a) && num3<num1 (2.b))
max=num1;
else
if(num2<num3)
max=num3;
else
max=num2;
System.out.println("El numero maximo es "+ max);

2
3
4
5
6
7

Tcnicas de Pruebas de Software - Tarea 1

Jeny Berenice Rafael Espiritu

Calcular la complejidad ciclomtica:


V(G)= 10-8+2=4
V(G)=3+1=4
V(R)=4
Con que criterios de cobertura se satisfacen los casos de prueba?

Criterio
Cobertura de sentencias: Se trata de ejecutar con
los casos de prueba cada sentencia e instruccin al
menos una vez.
Cobertura de decisiones: Escribimos los casos
suficientes para que cada condicin tenga al menos
una resultado verdadero y otro falso.
Cobertura de condiciones :Se trata de escribir los
casos suficientes para que cada condicin de cada
decisin adopte el valor verdadero y el falso al menos
una vez
Cobertura
de
decisin
/condicin:
Es
el
cumplimiento de la cobertura de condiciones y de
decisiones
Criterio de condicin mltiple: Si tenemos
decisiones multicondicionales las descompondremos
en decisiones unicondicionales, ejecutando todas las
combinaciones posibles de resultados.

Prueba
X=3
X=2
Y=2
Y=4
Z=4
Z=3
X=1
Y=1
Z=1
X=3
X=2
Y=2
Y=4
Z=4
Z=3

X=4
Y=3
Z=2

X=4
Y=3
Z=2

num2<num1&& num3<num1
num2=2
num2=5
num1=5
num1=1
num3=1
num3=2