BDD e TDD na prática com SpecFlow e Visual Studio 2012

3.276 visualizações

Publicada em

Já experimentou usar outras ferramentas para documentação e design da sua aplicação? E se, ao invés de documentos que ninguém lê (nem atualiza!) usássemos “especificações executáveis”? Já pensou se seu documento de requisitos pudesse ser executado e conseguisse validar, sozinho, se as regras de negócio ainda estão sendo atendidas? Venha ver nesta sessão como este “sonho” se torna realidade com o uso de práticas como BDD e TDD, apoiadas por ferramentas como o SpecFlow, WatiN e o Visual Studio 2012.

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.276
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
58
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • BDD != TDD principalmente porque o vemos de forma diferente
  • Acerte as palavras também vale na linguagem com o clienteBDD vai te obrigar a pensar no negócio, modelar o negócio
  • BDD e TDD na prática com SpecFlow e Visual Studio 2012

    1. 1. BDD e TDD na práticacom SpecFlow eVisual Studio 2012Visual Studio Summit 2013
    2. 2. Sobre mim• Igor Abade (@igorabade)– Microsoft MVP, Visual Studio ALM– Especialista Team Foundation Server (TFS)• Sócio da Lambda3– Consultoria ALM/TFS, Agilidade/Scrum,Arquitetura– Desenvolvimento de Sistemas– Treinamentos– Parceira Microsoft Gold ALM
    3. 3. Qualidade é importante?Claro! Ninguém questiona isso.Usuários e clientes esperam porisso.Testes são parte importante.Ainda assim, poucosconseguem fazer direito.
    4. 4. Test-Last Development
    5. 5. O mercado está cada vez mais competitivoNossos clientes precisam ircada vez mais rápido para omercado.Usuários estão impacientes.Adivinha onde vamoscortar?
    6. 6. É hora de tentar algo diferenteInsanity: Doing the same thing over and over again andexpecting different results.-- Albert Einstein
    7. 7. O Manifesto Ágil• Indivíduos e interação entre elesmais que processos e ferramentas• Software em funcionamentomais que documentação abrangente• Colaboração com o clientemais que negociação de contratos• Responder a mudançasmais que seguir um planoOu seja, mesmo havendo valor nos itens à direita,valorizamos mais os itens à esquerda.
    8. 8. LeanAgileScrumXPFramework de gestão ágil de projetosPapéis e cerimônias, melhoria contínuados times, entrega rápida, limitartrabalho à capacidadeCultura ágil, mindset e práticasEliminar desperdícioRespeitar as pessoas, focoprincipalmente em P&DOtimizar todo o fluxoFoco na otimização de todo o processode negóciosPráticas de engenhariaTrazer qualidade para dentro do desenvolvimento –Automação, integração contínua, revisão por paresetc.Práticas Ágeis
    9. 9. LeanAgileScrumXPFramework de gestão ágil de projetosPapéis e cerimônias, melhoria contínuados times, entrega rápida, limitartrabalho à capacidadeCultura ágil, mindset e práticasEliminar desperdícioRespeitar as pessoas, focoprincipalmente em P&DOtimizar todo o fluxoFoco na otimização de todo o processode negóciosPráticas de engenhariaTrazer qualidade para dentro do desenvolvimento –Automação, integração contínua, revisão por paresetc.Práticas Ágeis
    10. 10. XP: Extreme Programming
    11. 11. Introduzindo o TDD
    12. 12. TDD: Test-driven Development
    13. 13. Ciclo do TDDFaz o testepassarRefatora ocódigoEscreve umtestefalhando
    14. 14. O que é TDD?
    15. 15. TDD é uma ferramenta parapossibilitar a evolução de DesignEfeitos ColateraisVerificação de comportamentoDocumentaçãoAfinal, o que é o TDD?
    16. 16. TDDQue nome devo dar ao meu teste?O que testar primeiro?O que testar?Quanto testar?Quando testar?Por que um teste falhou?
    17. 17. Introduzindo o BDD
    18. 18. BDD“Behavior-driven development é sobreimplementar uma aplicação através da descriçãode seu comportamento pela perspectiva de seusstakeholders”-- Dan North
    19. 19. Criar software queimporta!• Tem valor de negócio tangível• Entregue incrementalmente• Fácil de manter e gerenciar• Fácil de entender e comunicarFoco no valor
    20. 20. Linguagem comum
    21. 21. • Por onde começar• O que testar• O que não testar• Quanto testar• Como nomear os testes• Por que um teste falhaEvoluindo TDD: BDDOutside-inUser storiesMínimo possívelIntençãoDocumentação
    22. 22. Ciclo do BDDFaz otestepassarRefatorao códigoEscreveum testefalhandoEscreve umTeste deAceitaçãoFalhando
    23. 23. Feature!Outside In
    24. 24. Feature“Quero que os usuários do site quecompraram o produto possam fazer odownload diretamente de suas páginaspessoais”Outside In
    25. 25. Cenário“Garantindo a segurançade informações:Como usuário cadastrado possoacessar apenas minha página pessoal”EtapasOutside In
    26. 26. CenárioEtapasOutside In
    27. 27. TDDCenário FalhandoOutside In
    28. 28. Outside InCenário Falhando
    29. 29. Outside InCenário Falhando
    30. 30. Outside InCenário Falhando
    31. 31. Outside InCenário Falhando
    32. 32. Outside InCenário Falhando
    33. 33. Outside InCenário Passando!
    34. 34. BDD em .NET: SpecFlow• Inspirado noCucumber• LinguagemGherkinspecflow.org
    35. 35. BDD com SpecFlow
    36. 36. Para saber mais• BDD Primer: Behavior-DrivenDevelopment with SpecFlow andWatiNtinyurl.com/nkakqq3• Documentação do SpecFlowgo.specflow.org/doc• Blog da Lambda3blog.lambda3.com.brtinyurl.com/pzjfa45
    37. 37. www.lambda3.com.br

    ×