TDD with C#


Barcamp STI
Noviembre 2013

Amhed A. Herrera




Vamos a COdear!

(pero primero 5 minutos mandatorios de teoría)


Qué es un Unit Test?


Un unit test (test unitario) es un pedazo de código automatizado que invoca una unidad de trabajo para verificar una asunción sobre como debería ser el comportamiento de dicha unidad de trabajo.


http://artofunittesting.com/definition-of-a-unit-test/


Que caracteriza un 

"buen' 

unit test?


  • Independiente
  • Repetible (idempotente)
  • Automático



Test-Driven Development



Reacción comun



Parece al reves, pero no


  • Es más trabajo al inicio, pero reduce la cantidad total de horas invertidas en el proyecto 

  • Como los tests pueden correr automatizados, permite detectar errores a tiempo, antes de pasar un app a producción

  • Le quita el miedo a los developers: ¿Qué pasa si este cambio daña el App entero?




Desarrollo de un app

(Dominó Dominicano)

Cosas a tomar en cuenta


  • Solo programaremos la lógica de desarrollo, no el UI
  • No podremos programar el App entero en 45 mins.
  • El objetivo es mostrar los beneficios del método
  • Hay muchos frameworks. Para este ejemplo usaremos MSTest, que viene instalado en Visual Studio
  • Al final de la charla les doy el repositorio en Github

Vamo arriba!



Referencias



Te gustó?


Puedes descargar el código de esta presentación y contribuir/ampliar los ejemplos:

https://github.com/amhed/bcsti-domino-test
Made with Slides.com