miércoles, 13 de abril de 2011

Pruebas Unitarias (Clase)


(Intente instalar el JUNIT pero si lo baje y todo el problema es que no supe como usarlo en linux, dice qe se pued emediante eclipse pero tampoco lo se usar)
Bueno esto es para explicar las pruebas unitarias mediante diagramas y definiciones.

Prueba Unitaria
En programación, una prueba unitaria es una forma de probar el correcto funcionamiento de una parte de código. Esto sirve para asegurar que cada uno de las partes funcione bien por separado.
Esto se hace para despues con las Pruebas de Integracion, se podra asegurar que el progr
ama funcione bien.
La idea es escribir casos de prueba para cada función no trivial o método en el módulo de forma que cada caso sea independiente del resto.

Para que una prueba unitaria sea buena debe tener lo siguiente:

  • No debería requerirse una intervención manual. (Esto es especialmente útil para integracion continua.)
  • Deben cubrir la mayor cantidad de código(es decir en partes casi todo el codigo).
  • No se deben crear pruebas que sólo puedan ser ejecutadas una sola vez.
  • Al momento de ejectuar un codigo, no debe de ejecutar ni una otra parte de codigo.

Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seg

uirlo

s o de lo contrario las pruebas pierden parte de su función.


Aqui esta imagen resume todo lo que es una prueba unitaria.


Cuales son las ventajas de las pruebas unitarias:


  1. Las pruebas unitarias hacen que la estructura de codigo sea mejor, es decir, que al momento de separar el codigo en partes para ejecutarlo, el usuario hace que el codigo se vea de mejor manera y asi se hace mas simple.
  2. Al momento de ejecutar el codigo, se puede documentar, y esto ayuda a tener un orden y un historial para cada parte de codigo ejecutable.
  3. Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos mock (estos son los objetos simulados de prueba, esto funciona exactamente en un programa como los monos esos que se usan en choques automovilisticos) para simular el comportamiento de objetos complejos.
  4. Los errores están más acotados y son más fáciles de localizar

Desventajas
La desventaja mas obvia sobre las pruebas unitarias es que al momento de ejecutar todo el codigo en partes, el proagrama SI, puede encontrar muchos errores individualmente, pero que tal entre los paquetes, o cuando un codigo llama a otro? estos errores solo pueden ser identificados al compilar el paquete completo y por ende no podrian ser detectados por las pruebas unitarias.

Aqui otro ejemplo mas sencillo de las pruebas unitarias.


2 comentarios:

  1. Lee las instrucciones en la entrada de Adán sobre cómo usar jUnit así en el terminal como lo hicimos en la clase y en el taller. Tienes hasta el 4 ce mayo para completar esa entrada del taller. En esta entrada hubiera sido bueno discutir la aplicabilidad de esto en el tu proyecto. Te pongo 3 puntos.

    ResponderEliminar
  2. Ahora puse NP para el taller de este tema; hoy ya es el día 5 y no hay nada :(

    ResponderEliminar