10.05.2014 Views

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

78 Programación I<br />

8.1.1.2 Caja Blanca<br />

La prueba de caja blanca implica una revisión "dentro" del programa. Se define cobertura como<br />

el grado de revisión del programa. Se puede hacer cobertura de sentencias, de decisiones o<br />

caminos. En el caso de sentencias, se trata de asegurar que toda sentencia es ejecutada al menos<br />

una vez. En el de decisiones se debe verificar que toda decisión alguna vez sea verdadera y<br />

alguna vez sea falsa. En la de caminos, se trata de chequear que todos los caminos posibles en el<br />

programa se dan alguna vez.<br />

8.1.2 Prueba de métodos<br />

Cuando se diseña un método, se puede realizar de dos formas: tratar de desarrollar desde el<br />

comienzo la versión lo más completa posible o realizar aproximaciones sucesivas al método<br />

final, desde una versión inicial simplificada. Así, se podría realizar una primera versión que<br />

devuelva, por ejemplo, un valor constante, un cálculo mínimo o que le solicite al operador el<br />

valor. Cuando se prueban los métodos debe tenerse en cuenta si ya es la versión final o una<br />

intermedia. En el caso de tener versiones intermedias preliminares se tiene la ventaja de que se<br />

puede ir avanzando en diferentes tareas y luego se completa; la desventaja es que interpretar los<br />

resultados puede ser más complicado debido a esos valores ficticios. En el caso que se opte por<br />

poner la versión definitiva, tiene la ventaja de que es más fácil revisar las salidas pero puede<br />

demorarse más en tener la versión completa del sistema.<br />

8.1.3 Pasos para encontrar errores<br />

La depuración de un programa es algo no sistemático y no garantizado. Los pasos sugeridos<br />

para encontrar/corregir errores son:<br />

• Determinar el error;<br />

• Ubicarlo en el programa;<br />

• Corregirlo; y<br />

• Verificarlo.<br />

Se recomienda:<br />

- Llevar un registro: ir anotando qué cosas se han probado, qué falta, qué se descarta, etc.<br />

- Trabajar con listado del código fuente actualizado: en la medida que se realizan<br />

modificaciones al programa y se van realizando anotaciones en los listados impresos, se<br />

complica entender o descubrir errores, pues la versión en papel difiere con la real en la máquina.<br />

- Guardar la versión anterior, antes de hacer "cambios geniales". Recordar guardar una versión<br />

del código completo hasta ese momento.<br />

- Pensar en la posibilidad de reescribir: a veces es más fácil y seguro reescribir el método<br />

problemático que seguir corrigiendo errores sobre el mismo.<br />

- Aprender de los resultados negativos: cuando se supuso que un error estaba en determinado<br />

lugar y se comprueba que no es así, es un resultado negativo pero a su vez permite descartar ese<br />

lugar como posible fuente del error.<br />

¿Cómo se buscan?<br />

- Pensar: analizar cuidadosamente qué es lo que pasa, en qué casos ocurre, descubrir la situación<br />

que lo genera.<br />

- Descansar: luego de dedicar un rato a tratar de entender que es lo que pasa, conviene "alejarse"<br />

del código para luego, al retornar descansado, seguramente se encontrará el error;<br />

- Pedir auxilio: recurrir a la ayuda de otro programador.<br />

- Usar herramientas (debugger): hay software que permite realizar el seguimiento paso a paso<br />

del programa, mostrando las variables y la secuencia de instrucciones que se van ejecutando.<br />

Esta herramienta es útil si se ha pasado por las etapas de pensar, descansar y pedir auxilio. De

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!