Fundamentos de las pruebas de Software

 "Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos" con esta frase de Edsger W. Dijkstra podemos hacernos una idea de cuan difícil es crear un software perfecto, es prácticamente imposible. Al contrario de los artistas, los cuales tienen la ventaja de desarrollar su trabajo cada que se sienten inspirados o cada que tienen grandes ideas; los desarrolladores de software deben trabajar contra el reloj, es una carrera constante (diaria) de avanzar y avanzar. Este mecanismo ocasiona que en numerosas ocasiones se trabaje sin tener en cuenta todas las precauciones que se deben tomar a la hora de desarrollar; si ya es difícil tener en cuenta esto, imaginemos que tan difícil es acordarse de plantear todos los escenarios posibles a la hora de desarrollar para evitar que el sistema genere errores. Es por esto que las pruebas se vuelven una parte fundamental en el proceso de desarrollo de software; no obstante hay que tener también un orden; mejor dicho, una estrategia para probar bien.

Debido a lo expuesto en el párrafo anterior es que para realizar una prueba se debe hacer todo un trabajo previo de análisis en el cual se plantee no sólo el tipo de prueba que se desea realizar, sino cómo se va a realizar la prueba y lo más importante, se debe plantear comenzar con ellas, lo más rápido posible. Se debe saber que al momento de realizar una prueba, siempre hay un alto porcentaje de encontrar errores; se debe planear bien la prueba, para que no existan pruebas redundantes; debe estar estructurada de la mejor manera posible y por último se debe verificar que la prueba no sea ni muy simple ni muy compleja.

Habiendo dicho esto, pienso que debo nombrar algunos de los distintos tipos de prueba que se utilizan actualmente: pruebas de caja negra, pruebas de caja blanca, pruebas de humo, pruebas unitarias, integrales, alfa, beta, de aceptación entre otras.

Para finalizar, quisiera decir que, aunque las pruebas en muchas ocasiones son infravaloradas por los desarrolladores, a mi modo de ver, las pruebas son casi tan importantes como el desarrollo; ya que a través de estas (si se logra tener un alto nivel de éxito) se puede garantizar la calidad del software que se está desarrollando. Tener un alto grado de calidad siempre habla muy bien de las compañías.

Comentarios

Entradas populares de este blog

Matrices especiales

Estructuras de Decisión Selectivas o Condicionales