Diferencia entre revisiones de «Prueba Unitaria»
(Link a Prueba De Integracion) |
|||
(No se muestra una edición intermedia de otro usuario) | |||
Línea 1: | Línea 1: | ||
− | Una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con la | + | Una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con la [[Prueba De Integracion]], se podrá asegurar el correcto funcionamiento del sistema o subsistema en cuestión. |
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. Esto último es la esencia de una prueba unitaria: se prueba al componente de forma aislada a todos los demás. | 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. Esto último es la esencia de una prueba unitaria: se prueba al componente de forma aislada a todos los demás. | ||
Línea 28: | Línea 28: | ||
* [http://es.wikipedia.org/wiki/Prueba_unitaria Prueba unitaria en la Wikipedia] | * [http://es.wikipedia.org/wiki/Prueba_unitaria Prueba unitaria en la Wikipedia] | ||
* [http://www.theserverside.com/tt/articles/article.tss?l=DesigntoUnitTest Design to unit test] | * [http://www.theserverside.com/tt/articles/article.tss?l=DesigntoUnitTest Design to unit test] | ||
+ | |||
+ | [[Category:TDD]] |
Revisión actual del 13:09 3 may 2010
Una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con la Prueba De Integracion, se podrá asegurar el correcto funcionamiento del sistema o subsistema en cuestión.
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. Esto último es la esencia de una prueba unitaria: se prueba al componente de forma aislada a todos los demás.
Para funcionar, un test unitario no debería utilizar ningún framework de aplicación ni requerir una dependencia externa: ni Spring, ni Struts, ni una base de datos, ni un application server, ni un EJB deployado, ni ningún otro servicio cualquiera funcionando.
Así, el testeo unitario se encarga de probar el funcionamiento aislado de la clase. Todas las dependencias que tenga la clase bajo test deberían ser simuladas usando distintos Mock Object.
Características
Para que una prueba unitaria sea buena se deben cumplir los siguientes requisitos:
- Automatizable: no debería requerirse una intervención manual. Esto es especialmente útil para Integracion Continua.
- Completas: deben cubrir la mayor cantidad de código.
- Repetibles o Reutilizables: no se deben crear pruebas que sólo puedan ser ejecutadas una sola vez. También es útil para Integracion Continua.
- Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra.
- Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.
Aunque estos requisitos no tienen que ser cumplidos a rajatabla, se recomienda seguirlos o de lo contrario las pruebas pierden parte de su función.