13 - cobertura de bucles

10
Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Cobertura de Bucles Andr ´ es Felipe Cano Cadavid [email protected] Tecnol´ ogico de Antioquia 23 de Septiembre del 2013 Andr ´ es Felipe Cano Cadavid [email protected] Cobertura de Bucles

Upload: juan-esteban-puerta-cano

Post on 27-Oct-2015

36 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Cobertura de Bucles

Andres Felipe Cano Cadavid [email protected]

Tecnologico de Antioquia

23 de Septiembre del 2013

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 2: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Cobertura de Bucles

Se centra exclusivamente en la validez de las construcciones de bucles:

Simples

Anidados

Concatenados

No Estructurados

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 3: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Bucles Simples

Se les aplica el siguiente conjunto de pruebas:

Pasar por alto totalmente el bucle.

Pasar una sola vez por el bucle.

Pasar dos veces por el bucle.

Hacer m pasos por el bucle con m < n (donde n es el numeromaximo de pasos permitidos por el bucle).

Hacer n − 1, n y n + 1 pasos por el bucle.

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 4: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Ejemplo

Algorithm 1 ejemplo1(x, y)1: while (x < 100 and x > 0) do2: x = x − 103: end while4: if (y < 20 and x %2 = 0 then5: y = y + 206: else7: y = y − 208: end if9: return 2 ∗ x + y

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 5: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Ejemplo

Algorithm 2 divisores(n)1: nro = 12: while (nro <= n/2) do3: if (n%nro == 0) then4: Escribir nro5: end if6: nro = nro + 17: end while

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 6: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Bucles Anidados

Si se empleara el mismo enfoque de prueba de bucles simples a losbucles anidados, el numero de pruebas aumentarıa considerablementepor lo cual se sugiere emplear el siguiente enfoque:

Comenzar por el bucle mas interior. Establecer o configurar losdemas bucles con sus valores mınimos.

Llevar a cabo las pruebas de bucles simples para el bucle masinterior, mientras se mantienen los parametros de iteracion de losbucles externos en sus valores mınimos. Anadir otras pruebas paravalores fuera de rango o excluidos.

Progresar hacia fuera, llevando a cabo pruebas para el siguientebucle, pero manteniendo todos los bucles externos en sus valoresmınimos y los demas bucles anidados en sus valores tıpicos.

Continuar hasta que se hayan probado todos los bucles.

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 7: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Ejemplo

Algorithm 3 ejemplo2(A , n, m)1: if (n < 10 and m < 20) then2: suma = 03: i = 14: while (i ≤ n) do5: j = 16: while j ≤ m do7: suma = suma + A [i][j]8: j = j + 19: end while

10: i = i + 111: end while12: return suma/(n ∗m)13: end if

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 8: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Bucles Concatenados

Estos bucles se pueden probar utilizando el enfoque de bucles simples,siempre y cuando cada uno de los bucles sea independiente del resto delo contrario se debe emplear el enfoque de bucles anidados.

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 9: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Ejemplos

Ejemplo

Algorithm 4 ejemplo(A , n)1: menor = A [n]2: distancia = 03: i = n − 14: while (i > 0) do5: if menor > A [i] then6: menor = A [i]7: end if8: i = i − 19: end while

10: i = n11: while (i > 0) do12: distancia = A [i] −menor13: i = i − 114: end while15: return distancia

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles

Page 10: 13 - Cobertura de Bucles

Cobertura de BuclesBucles Simples

Bucles AnidadosBucles Concatenados

Bucles No Estructurados

Bucles No Estructurados

Siempre que sea posible estos bucles deben redisenarse.

Andres Felipe Cano Cadavid [email protected] Cobertura de Bucles