Capitulo 18

18.1. MYERS [MYE79] USA EL SIGUIENTE PROGRAMA COMO UNA AUTOVALORACIÓN DE SU HABILIDAD PARA ESPECIFICAR PRUEBAS ADECUADAS

Views 125 Downloads 3 File size 579KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

18.1. MYERS [MYE79] USA EL SIGUIENTE PROGRAMA COMO UNA AUTOVALORACIÓN DE SU HABILIDAD PARA ESPECIFICAR PRUEBAS ADECUADAS: UN PROGRAMA LEE TRES VALORES ENTEROS. LOS TRES SE INTERPRETAN COMO REPRESENTACIÓN DE LAS LONGITUDES DE LOS LADOS DE UN TRIÁNGULO. EL PROGRAMA IMPRIME UN MENSAJE QUE INDICA SI EL TRIÁNGULO ES ESCALENO, ISÓSCELES O EQUILÁTERO. DESARROLLE UN CONJUNTO DE CASOS DE PRUEBA QUE CREA QUE PROBARÁN ESTE PROGRAMA DE MANERA ADECUADA.



Las pruebas de caja negra se refieren a interfaz de software. La prueba de la caja negra comprueba ciertos aspectos Se presta poca atención a la base del sistema de la estructura lógica. Software interno. Al aplicar la tecnología de caja negra, se puede derivar un conjunto de casos de prueba Cumplir con las siguientes condiciones [Mye79]: 1) El número de casos de prueba se reduce en más de uno. El número de otros casos de prueba diseñados para implementar la prueba. Razonable.

CASO DESCRIPCION

VALOR

RESULTADO ESPERADO

RESULTADO OBTENIDO

RESULTADO

TRANGULO ESCALENO

Todos los ángulos son distintos

Triangulo escaleno

Triangulo escaleno

Triangulo escaleno

TRIANGULO ISÓSCELES

Dos ángulos iguales

Triangulo isósceles

Triangulo isósceles

Triangulo isósceles

TRANGULO EQUILATERO

Triangulo ángulos iguales

Triángulo equilátero

Triángulo equilátero

Triángulo equilátero

2) Caso de prueba, que indica presencia o ausencia Errores, no errores relacionados solo con pruebas específicas.

18.2. DISEÑE E IMPLEMENTE EL PROGRAMA (CON MANIPULACIÓN DE ERROR DONDE SEA ADECUADO) QUE SE ESPECIFICA EN EL PROBLEMA 18.1. DERIVE UN GRÁFICO DE FLUJO PARA EL PROGRAMA Y APLIQUE PRUEBA DE RUTA BÁSICA PARA DESARROLLAR CASOS DE PRUEBA QUE GARANTICEN LA PRUEBA DE TODOS LOS ENUNCIADOS EN EL PROGRAMA. EJECUTE LOS CASOS Y MUESTRE SUS RESULTADOS



El programa fue desarrollado en Java

18.3. ¿PUEDE PENSAR EN ALGUNOS OBJETIVOS DE PRUEBA ADICIONALES QUE NO SE ESTUDIARON EN LA SECCIÓN 18.1.1?



Nuestro objetivo es diseñar una prueba que siempre pueda exponer varios errores y dedicar la menor cantidad de tiempo y esfuerzo. Si la prueba es exitosa (en línea con los objetivos especificados anteriormente), encontrará errores en el software. Como segundo beneficio, la prueba demuestra que las funciones del software pueden funcionar normalmente dentro de un cierto rango y se cumplen los requisitos de rendimiento.

18.4. SELECCIONE UN COMPONENTE DE SOFTWARE QUE HAYA DISEÑADO E IMPLEMENTADO RECIENTEMENTE. DISEÑE UN CONJUNTO DE CASOS DE PRUEBA QUE GARANTICE QUE TODOS LOS ENUNCIADOS SE EJECUTAN, USANDO PRUEBA DE RUTA O TRAYECTORIA BÁSICA.



En CMD se pueden especificar rutas relativas y absolutas para referenciar a archivos y directorios. Por ejemplo, dada la siguiente estructura de archivos y directorios ubicados en C:\Users\carlos\pruebas3:



Después de ubicarnos en el directorio d1 tecleando:

CD d1 

Para mover el archivo a1.txt del directorio d22 al directorio d111, esto se puede hacer indicando rutas absolutas de la siguiente forma:

MOVE C:\Users\carlos\pruebas3\d2\d22\a1.txt C:\Users\carlos\pruebas3\d1\d11\d111 

Al escribir esto en la consola de Windows y comprobar con el comando TREE que la operación se ha realizado correctamente, se podrá ver algo similar a:



Obsérvese que, en este caso, la primera ruta absoluta especificada hace referencia al archivo a1.txt, y la segunda ruta referencia al directorio d111. Para realizar lo mismo, se podrían utilizar rutas relativas escribiendo:

MOVE ..\d2\d22\a1.txt d11\d111  

Fíjese que, para escribir rutas relativas correctas hay que tener en cuenta el directorio donde se está ubicado, en este caso C:\Users\carlos\pruebas3\d1. Por tanto, las rutas escritas deben ser relativas a este directorio. Las rutas relativas y absolutas se pueden combinar. De modo que, se podría teclear igualmente:

MOVE C:\Users\carlos\pruebas3\d2\d22\a1.txt d11\d111 

O también

MOVE ..\d2\d22\a1.txt C:\Users\carlos\pruebas3\d1\d11\d111



Si, a continuación, se quisiera mover el archivo a1.txt al directorio d1, escribiendo rutas relativas sería válido escribir:

MOVE d11\d111\a1.txt . 

En el Símbolo del sistema se mostraría algo parecido a:



Asimismo, se podría realizar la misma operación tecleando cualquiera de las siguientes combinaciones de rutas relativas y absolutas:



MOVE C:\Users\carlos\pruebas3\d1\d11\d111\a1.txt .

MOVE d11\d111\a1.txt C:\Users\carlos\pruebas3\d1



Permite al diseñador de casos de prueba definir un conjunto de rutas básicas de ejecución. Los casos de prueba obtenidos tienen la garantía de ejecutar todo enunciado en el programa, al menos una vez durante la prueba.



Técnica de prueba de caja blanca que propuso Tom McCabe. Permite conocer una medida de la complejidad lógica de un diseño procedural y usar esta medida como guía para definir un conjunto básico de rutas de ejecución. Estas garantizan que se ejecute cada instrucción del programa por lo menos una vez durante la prueba.

RUTAS INDEPENDIENTES: Ruta 1: 1-11 Ruta 2: 1-2-3-4-5-10-1-11 Ruta 3: 1-2-3-6-8-9-10-1-11 Ruta 4: 1-2-3-6-7-9-10-1-11 Genera ruta cada vez que se pasa por una arista nueva.

La complejidad ciclomática se basa en la teoría gráfica y se calcula de tres maneras: 1. Número de regiones4

2. Complejidad ciclomática es igual a número de aristas, menos el número de nodos más 2 V(G) = E – N + 2 V(G) = 11 – 9 + 2 = 4

3. Complejidad ciclomática es igual al número de nodos predicado más uno V(G) = P + 1 V(G) = 3 + 1 = 4

18.5. ESPECIFIQUE, DISEÑE E IMPLEMENTE UNA HERRAMIENTA DE SOFTWARE QUE CALCULE LA COMPLEJIDAD CICLOMÁTICA PARA EL LENGUAJE DE PROGRAMACIÓN DE SU ELECCIÓN. USE LA MATRIZ DE GRAFO COMO LA ESTRUCTURA DE DATOS OPERATIVA EN SU DISEÑO.