You are on page 1of 3

2.4 Pruebas y depuracin.

Llamamos verificacin de algoritmos a la comprobacin del correcto funcionamiento del pseudocdigo planteado. Los conceptos de verificacin, prueba y depuracin son en cierta medida similares y en cierta medida distintos. Nosotros de momento no vamos a entrar en detalles de momento. Hemos comentado en diferentes ocasiones que el concepto de algoritmo se entrelaza con el de programa hasta, en ocasiones, llegar a confundirse. En este caso hablaremos de verificacin de algoritmos pero todo lo expuesto nos ser til para enfrentarnos a la verificacin del programa. Al hablar de verificacin estamos tratando una parte de lo que supone el desarrollo de algoritmos pseudocdigo as como del proceso posterior a disponer del cdigo del programa. Habr que entender que para programas complejos, aunque se parta de un conocimiento profundo del problema a resolver, el proceso que va desde generar algoritmos hasta mejorar el programa puede convertirse en un recorrido de ida y vuelta con cierta interposicin entre fases. Es decir, mientras que en un problema sencillo el esquema lineal puede ser ajustado a la realidad, en un problema complejo puede ser necesaria una cierta superposicin entre desarrollo, programacin, verificacin y mejora. Es posible que al realizar la verificacin del programa o partes del programa descubramos defectos que nos obliguen a volver a la parte de desarrollo. Las verificaciones, aunque tienen momentos principales, tambin es habitual que se extiendan a lo largo de las fases de desarrollo, programacin y mejora. Si recordamos un esquema que nos sirve de gua en el proceso de programacin:

En resumen, si en su momento dijimos que aprender a desarrollar algoritmos eficientes es aprender a programar, diremos ahora que aprender a verificar algoritmos es aprender a verificar programas. Todo programador, de forma natural, desarrolla un algoritmo en base a una construccin mental preliminar que le da pie a pensar que el algoritmo funciona. Si escribimos:

Nuestro cerebro ha creado una estructura en base a nuestra experiencia, conocimientos, etc. y preliminarmente valora que debe funcionar para cumplir nuestros objetivos. Esta verificacin mental preliminar no debe bastar desde el momento en que exista un mnimo de complejidad, pues supondra arriesgarnos a que existan errores que pueden comprometer todo el desarrollo del programa. Por ello, usaremos una o varias de las tcnicas indicadas a continuacin: Verificacin mental. Verificacin por seguimiento escrito. Verificacin por seguimiento con tablas de variables. Verificacin por seguimiento con desarrollo en un lenguaje. Verificacin por seguimiento con un lenguaje y paso a paso. Aunque hemos dicho que la verificacin del algoritmo guarda estrecha relacin con lo que sera verificacin del programa, podemos matizar esta afirmacin. Si tras la decopilacin se presentan errores en el programa fuente es preciso volver a editar el programa, corregir los errores u copilar de nuevo, este proceso se repite hasta que no se producen errores. De esta manera se obtiene el programa objeto. El programa objeto todava no es

ejecutable directamente pero si no contiene errores se debe incluir al sistema para que realice la fase de montaje o enlace del programa objeto con las libreras del programa del compilador, este proceso de montaje produce un programa ejecutable. La depuracin es el proceso de encontrar los errores del programa o corregirlo o eliminar dichos errores. Cuando se ejecuta un programa se puede producir tres tipos de errores: Errores de ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin entre cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error.

Errores de compilacin: Son en las que ocurre un uso incorrecto de las reglas de lenguaje de programacin, por ejemplo invertir palabras o darle inicio al algoritmo pero no darle fin. Errores lgicos: Son ms difciles de detectar, pero al checar resultados no es idntico al original. El resultado vara en el resultado de datos ya analizados anterior mente.

Prueba: Consiste en verificar la funcionalidad del programa a travs de varios mtodos para
detectar errores posibles. Mtodos de prueba: A) Chequeo de escritorio. B) Prueba manual de datos de muestra. C) Intento de traduccin. D) Prueba de datos de muestra en la computadora. E) Prueba por un grupo selecto de usuarios potenciales.

You might also like