You are on page 1of 28

Juan Carlos Cabrera Jorge Nicols Laverde Luis Hernando Sierra

Introduccin. Tipos de errores comunes. Tcnicas para depuracin y pruebas de programas NetLogo. Documentacin de pruebas. Conclusiones

Como encontrar errores en los programas y corregirlos (9 tcnicas). Verificacin de Software.


Siete tipo de errores comunes. Porque y como documentar test de software.

Errores Tipogrficos:

Resultan de escribir mal el texto dentro de NetLogo, errores simples como:


ask turtlse en lugar de ask turtles, son captados por el

revisor de sintaxis. Pero errores con los nombres de las variables, no los capta el analizador de sintaxis.

Errores de Sintaxis Estos errores incluyen el olvido de usar parntesis o corchetes, cuando son requeridos.
O no dejar espacios entren nmeros y operaciones en expresiones matemticas.

Malentendidos de Primitivos Es fcil introducir errores por el uso de primitivos que no hacen exactamente lo que uno piensa que hacen.
Por ejemplo, un error es no entender que las coordenadas de un cuadro son enteras, mientras que las coordenadas de una tortuga son flotantes.

Configuracin Equivocada de la Pantalla

En NetLogo, algunas de las caractersticas principales del modelo (El tamao del espacio, o el espacio de dimensin vertical o horizontal) no son escritas en el programa, pero si se deben configurar, y olvidar configurarlas puede producir algn error en el programa.

Errores en tiempo de ejecucin Los errores en tiempo de ejecucin, son los que no son errores de sintaxis o de lgica, sino que ocurren cuando el programa ya se esta ejecutando, por ejemplo:
Dividir una variable por 0. Poner las dimensiones de un objeto,

fuera de los limites del Mundo Elevar un numero a una potencia, cuyo resultado sea tan largo, que el computador no pueda guardarlo.

Errores Lgicos Es uno de los mas importantes tipos de error, ocurre cuando se ejecuta y produce resultados, pero los resultados son errneos, porque se ha cometido un error en la lgica del programa (Olvidar inicializar una variable, Programar mal una ecuacin, entre otros).

Errores de Formulacin Estos errores no son de programacin, son errores que se producen al formular el modelo, que solo aparece solo despus de que el software es escrito y ejecutado. En la construccin del modelo usualmente se asumen algoritmos o valor de parmetros, que en realidad pueden traer consecuencias inesperadas.

La verificacin de software es un tema importante en la ciencia de la computacin. Existen varias tcnicas para probar software que proveen un compromiso razonable, entre esfuerzo y confiabilidad para los modelos cientficos implementados en NetLogo.

Revisando Sintaxis

Revisar la sintaxis en NetLogo, es muy fcil, solo se necesita dar clic al botn Check en la pestaa procedimientos, y NetLogo mostrara si encontr algn error.

Prueba Visual La prueba visual significa tomar los resultados del modelo y ver si alguno es inesperado. Esta prueba puede ser iniciada desde la pantalla del Mundo, muy parecido a como se inicia el revisor de sintaxis.

Instrucciones de Impresin Uno de los mtodos ms utilizados para diagnosticar errores, es muy simple, se trata de insertar instrucciones que escriben informacin en la pantalla o en un archivo, en el cual se puede ver que esta haciendo o produciendo una variable o un procedimiento especifico.

Pruebas puntuales con los monitores de los Agentes Esta prueba se puede realizar haciendo clic derecho con el mouse sobre la vista y abrir el monitor del agente, en donde se muestra los valores de las variables de los objetos seleccionados, y estos pueden ser usados para calcular las pruebas puntuales.

Pruebas extremas Significan correr un programa con parmetros y entradas con rangos fuera de lo normal. Una de las ventajas es que al correr el programa en condiciones normales, se puede predecir claramente la salida, y por lo tanto ver en donde radica el problema.

Pruebas de procedimientos Con esta prueba se debe definir un nuevo procedimiento que va estar justo al producir una salida intermedia, este procedimiento solo es usado para hacer las pruebas. Aadir estos procedimientos tambin pueden requerir aadir nuevas variables de estado, o nuevos botones para llamar a este nuevo procedimiento.

Pruebas de Programa Cuando el programa es muy largo, es muy difcil hacer pruebas para las variables, procedimientos o algoritmos. Entonces se recomienda hacer un pequeo problema que sirve solo para probar la idea particular de programacin.

Revisin de Cdigo Usualmente los programadores profesionales, deben leer el cdigo lnea por lnea, revisando la formulacin del modelo, algn error de sintaxis, o algn error lgico. En la revisin de cdigo tambin se debe tener en cuenta que el cdigo este bien organizado, para poder entenderlo mejor.

Anlisis Estadstico Esta prueba se trata de escribir en un archivo de salida, los resultados del modelo, y luego analizarlos teniendo en cuenta las expectativas que se tenan antes de ejecutarlo.
Los

eventos estocsticos suceden con la frecuencia esperada? Las variables tienen el rango esperado?

Otro habito que se debe adoptar es documentar las pruebas. Normalmente no hay razn de documentar todo, pero las pruebas mas importantes y las depuraciones hechas, como tienen un fin cientfico, es importante hacer la documentacin, para tener un conjunto de conclusiones finales de las pruebas.

Afortunadamente, es muy fcil documentar pruebas de software adecuadamente. Esta documentacin debe describir:
Los tipos de pruebas usados. Quien reviso el cdigo. Que patrones fueron observados. Las partes del modelo que fueron probados estadsticamente. Los tipos de errores encontrados y como fueron corregidos.

Los mtodos y los resultados de las pruebas en el final del modelo.

Esta parte se puede documentar aadiendo comentarios, hojas de calculo, o los archivos que contienen los resultados de las pruebas.

Finalmente como las pruebas requieren un poco de cdigo temporal. Parte de esta documentacin es comentar este cdigo en el programa para que futuros lectores puedan entender en que parte iban las pruebas y exactamente que hacan.

La estrategia ms importante para evitar errores, demoras, costos y perdida de credibilidad, es tener actitud productiva.
En lugar de la actitud poco realista de que el programa no tendr errores, es mejor tener la certeza de que existirn errores, y encontrarlos y corregirlos es parte de la diversin.

NetLogo provee varias herramientas que permiten encontrar y corregir errores, pero no nos debemos confiar, ya que algn error se puede colar en la ejecucin y mostrar resultados equivocados.

Algunas estrategias clave son:


Buscar los errores temprano, es decir no dejar la

bsqueda de errores, al final cuando el programa ya sea demasiado grande. Escribir el programa claro y fcil de entender para que otras personas puedan colaborar arreglando algn error. Guardar y documentar las pruebas, para no tener que repetir cdigo si algo sale mal en el futuro.

You might also like