Temas‎ > ‎

Pruebas

Tipos de pruebas:
  • pruebas unitarias sin colaboradores
  • pruebas unitarias con colaboradores
  • pruebas con la base de datos involucrada
  • ¿cómo se prueba el resultado de un informe (en pdf, p.ej.)?
  • pruebas de la UI
  • pruebas con proxies de webservices generados automáticamente
  • ...

Nos interesa ver cómo y dónde usar dobles de prueba (mocks, stubs, etc) y, sobre todo, cómo hacemos cada uno nuestras pruebas para aprender unos de otros.

No importa el lenguaje de programación ni el entorno de prueba. No importa siquiera si no podemos ejecutar las pruebas, lo que interesa es ver el código para poder discutir sobre él.

Conclusiones que queremos obtener:

Material para preparar la reunión

Enlaces:

[1] http://misko.hevery.com/code-reviewers-guide/
[2] http://misko.hevery.com/2008/07/30/top-10-things-which-make-your-code-hard-to-test/
[3] http://martinfowler.com/articles/mocksArentStubs.html

Resumen

  • Para empezar con TDD siempre empezar con una prueba de aceptación y hacer TDD para esta prueba de aceptación
  • Pruebas de caja blanca (con mocks):
    • problemas :
      • refactorización
      • diseñar con cuidado
      • no garantizan funcionalidad
    • ventajas :
      • orientación aa interfaces
      • boundaries
  • Todo automatizado (Hudson, Integración Continua)
  • Pruebas de caja negra (sin mocks):
    • pruebas de aceptación
    • “Cuando tienes un martillo todo te parecen clavos”
  • Probar el estado vs probar el comportamiento
  • Probar el contrato
  • Probar colaboradores

Comentarios

José Manuel Beas - 01/07/2009 12:45

¿Alguien sabe si hay pruebas para patrones de diseño? Por ejemplo, si tengo en mi diseño un "Visitor", si hay una "receta comprobada" para escribir las pruebas para esto. Si no hay este "recetario", estaría bien tenerlo, ¿no creéis?