Blog de Pedro J. Camacho

Inicio » Uncategorized » Prueba y Aprende

Prueba y Aprende

Los programadores nos pasamos la mayor parte de tiempo probando código, sin embargo es habitual no conocer bien las herramientas de depuración. Los famosos bugs son el resultado de alguna prueba no realizada. En esta entrada cuento como aprender a partir del error.

bug-magnifying-glass

Ya lo decía Oscar Wilde: “La experiencia es el nombre que damos a nuestras equivocaciones” y los programadores sabemos mucho de esto. Como profesor de Programación y de Entornos de desarrollo, en mis clases trabajo trabajo Java y doy teoría de pruebas, en dichas asignaturas.

El tema de Excepciones Java es muy importante y por eso le dedico una Unidad Formativa completa. En ella, aprendemos a gestionar los errores que se producen durante la ejecución un programa. En concreto vemos como se puede generar de forma accidental, como lanzarlas nosotros mismos, gestionarlas o incluso crear nuestras propias excepciones.

Podéis echar un vistazo al código con el que trabajo en: https://github.com/PedroCamacho/JavaDocyExcepciones.git y si ejecutáis el programa HolaMundo conseguiréis provocar el famoso “ArrayIndexOutOfBounds“, lo que significa que el índice del array se ha salido de los límites.

error1

Como programadores, debemos acostumbrarnos a los errores y lejos de ser “el enemigo”, tenemos que comprender que son muy beneficiosos en el proceso de aprendizaje. Por ejemplo en la imagen anterior nos indica que el índice se desbordó al alanzar el valor de “3”, que la línea donde se provocó fue la 11 y que se estaba ejecutando el método main del programa HolaMundo.

El siguiente paso es familiarizarse con el entorno de depuración que nos facilite en IDE con el que estemos trabajando. En mi caso, les muestro el debugger de Eclipse, que facilita la ejecución instrucción a instrucción mientras se observa la evolución de las variables y el camino que siguen nuestros programas.

Si ejecutamos el código “ProvocarExcepcion1” desde la perspectiva de depuración y poniendo un punto de interrupción en la línea 12, con F5 podemos avanzar hasta la ejecución de la línea 6, justo antes de hacerlo podemos observar como el valor de la variable “div” tiene el valor de 0 antes de realizar la división. Ese es el motivo del error que terminará provocando este código “/ by zero“.

error2

Afortunadamente Java tiene un buen amigo para evitar estos problemas, a los que yo habitualmente llamo “fuego“. Ese fiel compañero que nos ayuda a evitar que nuestro programa se rompa delante del usuario es la instrucción try-catch, a la que consecuentemente denomino “bombero“, porque apaga el fuego antes de que le llegue al usuario. Esto es lo que podéis observar en el código “ProvocarExcepcion2”

También os animo a que ejecutéis el resto de códigos, los de LanzarExcepción sirven para provocar nosotros el fuego, mientras que el de PropiaExcecpcion descubre cómo crear nuestros propios fuegos.

Por último, no podía dejar de hablar de la otra asignatura que imparto en relación a este tema, Entornos de Desarrollo. En ella vemos los diferentes tipos de pruebas, cómo planificar un buen plan de pruebas y como automatizarlas con JUnir. No podemos evitar todos los problemas de nuestro código, pero sí que es relativamente sencillo reducirlos aplicando algunas sencillas técnicas. Prueba, prueba y cuando creas que todo parece funcionar…vuelve a probar, así no dejarás nunca de aprender!

Anuncios

1 comentario

  1. […] Aquí os dejamos su post “Prueba y Aprende” […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: