Introducción a Behaviour Driven Development

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Introducción a Behaviour Driven Development - Presentation Transcript

    1. 1,2,3 Probando Acercando BDD a las masas Ricardo Markiewicz <gazer.arg@gmail.com>
    2. Evolución
    3. ¿Por qué “testear”? ● Confianza – Manual – Automático
    4. ¿Por qué automatizar? ● Confianza – Test de regresión ● Refactoring – Agilidad al cambio Se pueden escribir test antes o después, ambos dan el mismo nivel de confianza
    5. Test Driven Development ● Plantea escribir Test, luego código ● Desarrollo evolutivo ● El diseño emerge durante el desarrollo – No hay diseño previo ● Tiende al desastre en la mayoría de los casos :)
    6. El problema de TDD ● TDD != escribir los tests primeros ● TDD =~ escribir los test primeros ● TDD no es acerca de escribir tests ● TDD es acerca de diseño ● TDD es una metodología de diseño, no de pruebas.
    7. Behaviour Driven Development ● Hacer TDD y entender de que se trata cada cosa es difícil ● BDD ayudar a centrar el desarrollo – Verificable con valor empresarial – Lenguaje común entre el cliente y los desarrolladores ● BDD es una reformulación de las buenas prácticas existentes, no se trata de un nuevo punto de partida radical.
    8. Proceso BDD ● Relevamiento de características a realizar. – Se habla con el cliente ● Se escriben historias de la forma Como Role Como un cliente, quiero sacar Quiero Feature dinero del cajero automático, de De modo que Benefit modo que no necesite pasar tiempo en la cola. ● Beneficios : El cliente entiende que es lo que se va a desarrollar ● Criterio de aceptación ejecutable
    9. Historias ● Una historia luego se desglosa en diferentes escenarios. ● Cada escenario define una acción especifica para cumplir con la característica pactada. ● El escenario se describe en lenguaje coloquial, por lo que el cliente lo entiende, describiendo los pasos para lograrlo.
    10. Historia : Sumas algebraicas Caracteristica: Sumas algebraicas Como un estudiante quiero sumar números de modo que el resultado en mis exámenes sea correcto. Escenario: Suma de dos números positivos Dado que tengo una calculadora Cuando sumo “2” y “2” Entonces debo ver “4”
    11. BDD Cicle ● Doble red-green- refactor ● Primero historias ● Despues tests específicos
    12. Cucumber : History Runner ● Intérprete de Historias hecho en Ruby ● Permite definir qué significa a nivel de programa cada frase de un escenario Dado /^que tengo una calculadora$/ do @calc = Calc.new end Cuando /^sumo “(\\d)” y “(\\d)”$/ do |n1, n2| @calc.sumar(n1, n2) end Entonces /^debo ver “(\\d)”$/ do |expected| @calc.result.should == expected end
    13. Lo que deben estar pensando ● Estuve 2 días para implementar un simple método ● Mi capacidad de producción está por el piso ● ¡No llego nunca a la fecha de entrega!
    14. Lo que deberían saber ● BDD es un proceso de desarrollo de software : hay que aprenderlo y madurarlo, así como una vez aprendimos a programar en objetos ● Facilidad para pautar metas con los clientes – Si se que hago 1 features por día, y tengo que hacer 20 features, tardo 20 días :) ● Buena documentación de como se usa el código escrito ● Código en constantes evolución, nunca hay retroceso
    15. Herramientas ● Existen para Java, .NET, Ruby, Python, C, C++, AS3, Delphi, javascript, Scala, PHP ● Sitios – http://en.wikipedia.org/wiki/Behavior_Driven_Developme – http://www.behaviour-driven.org
    16. Muchas Gracias ¿Preguntas? Ricardo Markiewicz <gazer.arg@gmail.com> http://www.twitter.com/gazer_arg/ http://www.gazer.com.ar/

    + Ricardo MarkiewiczRicardo Markiewicz, 5 months ago

    custom

    440 views, 0 favs, 0 embeds more stats

    Una pequeña introducción a Behaviour Driven Devel more

    More info about this document

    CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

    Go to text version

    • Total Views 440
      • 440 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories