Introdução Flashcards
Qual o problema que o BDD resolve?
Problemas de entrega de valor.
Softwares entregues sem as features requisitadas
Softwares com entrega atrasadas ou que são cancelados
Processo de desenvolvimento comum
- Aquele que têm a lógica de negócio fala para o analista de negócios o que ele quer
- O analista de negócios escreve um documento de requisitos
- O desenvolvedor transforma os requisitos em software
- O testador transfoma os requisos em casos de teste
5a. O produto finalizado é entregue ao cliente.
5b. O escritor técnico escreve a documentação
Processo de desenvolvimento proposto pelo BDD
- Aquele que têm a lógica de negócio e o analista de negócios discutem sobre o que o négocio precisa
- O analista de negócios, o desenvolvedor e testador escrevem os requisitos do software juntos. Eles estruturam os requisitos em uma linguagem natural e ubíqua
- O desenvolvedor transforma os requisitos em software
- O testador transfoma os requisos em casos de teste
5a. O produto finalizado é entregue ao cliente.
5b. O escritor técnico escreve a documentação
Processo de desenvolvimento proposto pelo BDD
- Aquele que têm a lógica de negócio e o analista de negócios discutem sobre o que o négocio precisa
- O analista de negócios, o desenvolvedor e testador escrevem os requisitos do software juntos. Eles estruturam os requisitos em cenários com uma linguagem natural e ubíqua
- O desenvolvedor transforma os cenários em software com a ajuda dos testes automatizados
- O testador usa os cenários como base para os testes
- Os testes automatiados provêem feedback do progresso e ajudam a documentar a aplicação
Qual as duas principais razões de falha de um processo de desenvolvimento?
Não construir o software direito
Não construir o software certo
O que é construir o software direito?
Se concentrar em como fazer o software
O que é construir o software certo?
É construir o software que atenda a necessidade do negócio
O que acontece se se concentrar somente em construir software direito?
Um software que não satisfaz o cliente
O que acontece se se concentrar somente em construir o software certo?
Um software difícil de manter e extender
O que é o BDD?
Um conjunto de prinpícios baseados em metodologias ágeis e de engenharia, principalmente DDD e TDD para processos de desenvolvimento.
Quem criou o BDD e por que?
Dan North como um jeito fácil de ensinar TDD
Quem criou o TDD e basicamente como funciona?
Kent Beck. Basicamente é criar um teste para uma feature, criar um código básico para que o teste passe, refatorar o código para conseguir um bom design.
Quais os problemas do TDD?
Desenvolvedores muitas vezes têm dificuldade em saber onde começar a testar ou o que testar em seguida.
As vezes TDD faz com o que o desenvolvedor fique focado em detalhes e esquecer a visão ampla do que o projeto precisa.
Grandes números de testes unitários acabam ficando difíceis de manter.
Os testes focam em funções e não em termos de negócio.
Como BDD melhora o TDD?
Ele foca no comportamento das classes e não em métodos.
Uma forma é por assinar o método de teste com ‘should’ e a descrição do que a classe deve fazer.
Como BDD melhora a análise de software?
Usando uma linguagem ubíqua e estruturada, o Gherkin