domingo, 10 de abril de 2011

Diseño de pruebas unitarias

Semana 11
Clase de Programación Orientada a Objetos

Una prueba unitaria es la manera de probar el buen funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente independientemente uno del otro.

El objetivo es escribirle casos de prueba a cada método en el módulo de forma que cada caso sea independiente de lo demás.

Las pruebas unitarias sirven para utilizar otro código fuente llamado directamente a los métodos de una clase, pasando los parámetros necesarios y después, si se incluyen instrucciones Assert se pueden comparar valores esperados, los métodos de las clases unitarias se basan en clases Test, que se almacenan en archivos de código fuente.

Características de las pruebas unitarias
Las pruebas unitarias deben cumplir con los siguientes requisitos para que sean buenas:

  • Automatizable: Es decir no se debería hacer manualmente.
  • Completas: Deben de contener la mayor cantidad de código.
  • Repetibles: Se deben crear pruebas para ejecutarlas varias veces.
  • Independientes: La ejecución de una prueba no tendrá nada que ver con la ejecución de otra prueba, deben ser independientes.
  • Profesionales: Las pruebas deben ser tomadas en cuenta con la misma importancia que el código, con documentación, etc.


Ventajas
El objetivo de las pruebas unitarias es aislar cada parte del programa y probar su correcto funcionamiento, estas pruebas individuales proporcionan 5 ventajas básicas:

  • Fomentan el cambio: Facilitan al programador encontrar errores para así poder reeprogramar el código.
  • Simplifica la integración: Ya que si el código funciona correctamente indivdualmente se facilita más adaptarlo para las pruebas de integración.
  • Documenta el código: En dónde las propias pruebas unitarias son documentación del código ya que se puede ver como utilizarlo.
  • Separa la interfaz y la implementación
  • Los errores son más fáciles de encontrar

Limitaciones
Se debe de saber que las pruebas unitarias no descubrirán todos los errores del código. Ya que sólo prueban unidades por si solas. Entonces no son capaces de descubrir errores de integracion, problemas de rendimiento, entre otros.

Pruebas Unitarias para mi Proyecto en Javascript y Html5

Para esto lo primero que hice fue descargar JsUnit:



después descomprimimos el "jsunit2_2.zip", ahora dentro de la carpeta descomprimida tenemos varios archivos y carpetas interesantes por ejemplo: tenemos una carpeta llamada "tests" con muchos ejemplos útiles que podemos correr, y tenemos el archivo llamado "testRunner" que es en dónde probaremos nuestro código.
"testRunner.html"

Carpeta "tests"


Después también encontré otra herramienta para pruebas unitarias que me ha gustado un poco más se llama Qunit, y es muy fácil de intalar solamente se tienen que descargar dos archivos uno .js y otro .css para poder ver el resultado de tus pruebas unitarias.
Así es como se ve:


Y en la siguiente entrada aplicaré estos conceptos a mi proyecto.


JsUnit:
http://www.jsunit.net/

Bibliografía:
http://es.wikipedia.org/wiki/Prueba_unitaria
http://msdn.microsoft.com/es-es/library/ms182517(v=vs.80).aspx

1 comentario:

  1. Bien; hubiera sido bueno incluir en la entrada de la clase un poco de discusión sobre qué tipo de aspectos en tu proyecto puedes verificar con este tipo de pruebas. Te pongo 5 de todos modos ya que fue muy completa la entrada en términos de herramientas.

    ResponderEliminar