Behaviour Driven Development (BDD)

Description

Engenharia de Software Mind Map on Behaviour Driven Development (BDD), created by Emanuel Rocha on 27/02/2017.
Emanuel  Rocha
Mind Map by Emanuel Rocha, updated more than 1 year ago
Emanuel  Rocha
Created by Emanuel Rocha almost 8 years ago
44
0

Resource summary

Behaviour Driven Development (BDD)
  1. busca tornar as práticas destas outras metodologias mais acessíveis e intuitivas para os novatos e especialistas
    1. Foco na entrega de valor
      1. Formação de um vocabulário comum
        1. Reduz a distância entre o Negócio e a TI
        2. Geralmente o cliente deve prover
          1. informações sobre o problema que ele quer resolver
            1. juntos podem pensar nos exemplos concretos que vão nortear o processo de desenvolvimento.
            2. Exemplos são essencias na metodologia
              1. mais fácil entender um domínio de negócios complexo
              2. busca melhorar a comunicação e a interação entre os stakeholders
                1. como o software deve se comportar por meio de cenários escritos em linguagem natural
                  1. Isso minimiza ruídos de comunicação, previne falhas e reduz riscos – este é o grande foco dessa metodologia
                  2. Principais práticas
                    1. Envolver as partes interessadas no processo através de Outside-in Development (Desenvolvimento de Fora pra Dentro);
                      1. Usar exemplos para descrever o comportamento de uma aplicação ou unidades de código
                        1. Automatizar os exemplos para prover um feedback rápido e possivelmente testes de regressão
                          1. Usar “deve” na hora de descrever o comportamento ajuda a esclarecer responsabilidades e permitir que funcionalidades sejam questionadas;
                            1. Usar simuladores de teste (mocks, stubs, fakes, dummies, spies) para auxiliar na colaboração entre módulos e códigos que ainda não foram escritos
                            2. História
                              1. “Eu, como Analista de Relacionamento, desejo poder manipular todas as informações de um chamado para que eu possa resolvê-lo
                                1. deve possuir algum valor para o negócio
                                2. Cenário
                                  1. a linguagem é voltada para o negócio, sem detalhes técnicos
                                    1. "Dado que não existam chamados abertos, quando abrirem um chamado, então eu devo poder manipulá-lo”
                                    2. Automatizar testes escritos
                                      1. Garante a validação do software
                                        1. Ferramentas
                                          1. SpecFlow
                                            1. JBehave
                                              1. JSpec
                                                1. RSpec
                                              2. associa os benefícios de uma documentação formal, escrita e mantida pelo “negócio”, com testes de unidade que “demonstram” que essa documentação é efetivamente válida.
                                                1. perspectiva orientada a especificações
                                                  1. Foco
                                                    1. Usuário
                                                      1. Valores de negócio
                                                      2. Os testes ainda orientam o desenvolvimento, visto que a especificações se tornam testes que são realizados antes da codificação do sistema em si
                                                        1. Benefícios
                                                          1. melhor comunicação entre equipes
                                                            1. compartilhamento de conhecimento
                                                              1. documentação dinâmica
                                                                1. visão do todo
                                                                2. Útil
                                                                  1. projetos de software ágeis
                                                                    1. iterativos
                                                                      1. incrementais.
                                                                    Show full summary Hide full summary

                                                                    Similar

                                                                    Engenharia de Software
                                                                    Gabriel Alexandre
                                                                    Quiz - Processo de Software
                                                                    Adriana Gomes Alves
                                                                    ERGONOMIA
                                                                    timEU
                                                                    01. Eng de software:Fases de Processos da Eng de Software.
                                                                    Jamil Yahuza Felippe
                                                                    Áreas de Conhecimento X Grupos de Processos
                                                                    Rodrigo Ferreira
                                                                    Questões Fundamentos Eng de Software
                                                                    Jamil Yahuza Felippe
                                                                    Engenharia de Software
                                                                    Marcio Silveira
                                                                    Quiz - Processos tradicionais
                                                                    Adriana Gomes Alves
                                                                    Engenharia de software
                                                                    pcbsytem
                                                                    Aula Um Engenharia de Software III
                                                                    Artur R
                                                                    13. Eng de Software:Modelo Processo Ágil de Desenvolvimento
                                                                    Jamil Yahuza Felippe