Ingenieria de Software

Páginas: 5 (1009 palabras) Publicado: 20 de junio de 2013
Fundamentos de Ingeniería del Software
Ingeniero en Informática – Curso 3º

Boletín de ejercicios de prueba del software

Cuestión 1. (Pressman) Prueba del camino básico de McCabe. Determinar un conjunto de casos de prueba para el procedimiento MEDIA, usando la técnica de caja blanca indicada anteriormente.

PROCEDURE media;

Este procedimiento calcula la media de 100 o menos númerosque se encuentren entre unos límites; también calcula el total de entradas y el total de números válidos.

INTERFACE RETURNS media, total.entrada, total.válido;
INTERFACE ACCEPTS valor, mínimo, máximo;

TYPE valor [1:100] IS SCALAR ARRAY;
TYPE media, total.entrada, total.válido,
mínimo, máximo, suma IS SCALAR;
TYPE i IS INTEGER;

i = 1;
total.entrada = total.válido = 0 ;
suma = 0 ;
DOWHILE valor[ i ] -999 AND total.entrada < 100
Incrementar total.entrada en 1 ;
IF valor [ i ] >= mínimo AND valor [ i ] 0
THEN media = suma/total.válido;
ELSE media = -999 ;
ENDIF
END media

Cuestión 2. Diseña un conjunto de casos de prueba de caja blanca para el siguiente procedimiento Pascal, de manera que se asegure la cobertura de sentencias. ¿En qué fase de la estrategia depruebas del software se podría aplicar este método? ¿Tienes algún comentario acerca del conjunto de casos de prueba obtenido?


procedure búsqueda_binaria( var p: indice; x : integer; L : array [1..MAX] of elemento; n : integer);

{Busca la llave “x” en el array ordenado “L”, y devuelve en “p” la posición de la llave si se encuentra, de otro modo p=0; “n” indica el número de elementos válidos en“L”}

{“elemento” es un registro que contiene, entre otros, un campo “llave” con el que se compara el elemento a buscar}

var
tope, base,
medio : integer; {“medio” será el índice de x cuando se encuentre en L}
begin
tope := n;
base := 1;
repeat
medio := (tope+base) div 2;
if x < L[medio].llave then
tope := medio – 1
else
base := medio +1;
until(x=L[medio].llave) or (tope < base);
if x = L[medio].llave then
p := medio
else
p := 0;
end;
Cuestión 3. Diseña un conjunto de casos de prueba para el siguiente programa, utilizando la técnica de particiones o clases de equivalencia:
Se trata de una aplicación que recibe como entrada un archivo de alumnos, y calcula la nota final de cada uno de ellos. El archivo de entrada tiene los siguientescampos:

Num. alumno
Nombre alumno
Pract. 1
Pract. 2
Pract.3
Teoría

Num. alumno es un entero de 3 dígitos (excluido el 000).
Nombre alumno es un campo alfanumérico de 10 dígitos.
Pract.1, Pract.2 y Pract.3 son tres campos numéricos con las notas de las 3 prácticas realizadas: la práctica 1 se puntúa entre 0 y 2; la práctica 2 entre 0 y 3, y la práctica 3 entre 0 y 5.
Teoría es un camponumérico entre 0 y 10, que contiene la nota de teoría.

La aplicación genera un listado con el nombre y la nota final de cada alumno. La nota final se calcula como el cociente (Pract.1 + Pract.2 + Pract.3 + Teoría)/2, en caso de que tanto la nota final de teoría como de prácticas sea mayor que 4. En caso contrario la nota es 0.

Cuestión 4. Especificar un conjunto de pruebas de caja blanca parala siguiente función PASCAL. ¿Observas algún problema en el código? ¿Cómo lo/s solucionarías?

function obtener_media : real ;

var
n, suma, conta, suma2, total_num : integer ;

begin
read( n ) ;
repeat
if (n >= 20 or n =12)
8. Then
9. If (directivo_FICH="+")
10. then Prima=1000
11. else Prima=75
12. Else
13. If (directivo_FICH="+")
14. thenPrima=500
15. else;
16. Print (num_FICH, nombre_FICH, Prima);
17. Read (registro_FICH)
18. End {while};
19. Print ("S.e.u.o.")
20. End {programa}.
Se han añadido algunas líneas de cabecera y de final al listado de las primas, y se han asignado valores concretos a las primas P1, P2, P3 y P4. El fichero de entrada se denomina FICH y los nombres de los campos son más o menos iguales....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ingenieria software
  • Ingenieria De Software
  • Ingenieria De Software
  • Ingenieria De Software
  • Ingenieria De Software
  • Ingenieria de software
  • Ingeniería de Software
  • Ingenieria de software

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS