Logo Passei Direto
Material
Study with thousands of resources!

Text Material Preview

BDD (Behavior Driven Development)
O que significa BDD (Behavior Driven Development)?
a) Desenvolvimento Orientado a Testes
b) Desenvolvimento Orientado a Objetos
c) Desenvolvimento Orientado a Comportamento
d) Desenvolvimento de Banco de Dados
Resposta correta: c) Desenvolvimento Orientado a Comportamento
Explicacao: O BDD e uma pratica de desenvolvimento de software que incentiva a colaboracao
entre desenvolvedores, testers e outros stakeholders para criar um comportamento esperado do
sistema, com foco em exemplos concretos e na comunicacao entre as equipes.
Qual e o principal objetivo do BDD?
a) Melhorar a velocidade de entrega de software
b) Garantir que o software funcione conforme os requisitos
c) Reduzir o custo de desenvolvimento
d) Aumentar a cobertura de testes automatizados
Resposta correta: b) Garantir que o software funcione conforme os requisitos
Explicacao: O BDD visa garantir que o software atenda aos requisitos dos usuarios de forma mais
precisa, baseando-se em cenarios que descrevem o comportamento esperado do sistema.
Qual das alternativas abaixo e uma caracteristica central do BDD?
a) Uso de programacao funcional
b) Uso de linguagem natural para descrever testes
c) Implementacao de testes unitarios em primeiro lugar
d) Testes manuais em vez de automatizados
Resposta correta: b) Uso de linguagem natural para descrever testes
Explicacao: O BDD se destaca pelo uso de uma linguagem simples e natural, como o "Gherkin",
para descrever comportamentos desejados do sistema, facilitando a colaboracao entre todos os
envolvidos no projeto.
Em BDD, qual e a principal vantagem de escrever testes em linguagem natural?
a) Aumentar a complexidade dos testes
b) Garantir que todos os stakeholders compreendam os testes
c) Reduzir o tempo de desenvolvimento
d) Diminuir a necessidade de testes automatizados
Resposta correta: b) Garantir que todos os stakeholders compreendam os testes
Explicacao: A escrita em linguagem natural facilita a compreensao dos testes por todas as partes
envolvidas no desenvolvimento, como analistas de negocios, desenvolvedores, testadores e
clientes, sem a necessidade de conhecimento tecnico profundo.
Qual estrutura e comumente usada para escrever cenarios de teste no BDD?
a) Given-When-Then
b) If-Then-Else
c) Test-Assert-Validate
d) Start-Process-Stop
Resposta correta: a) Given-When-Then
Explicacao: O formato "Given-When-Then" e utilizado no BDD para descrever o contexto (Given), a
acao realizada (When) e o resultado esperado (Then) de um comportamento especifico do sistema.
O que significa a palavra "Given" no contexto do BDD?
a) Descreve a acao que sera tomada
b) Descreve o resultado esperado
c) Descreve o estado inicial ou contexto
d) Descreve uma hipotese de teste
Resposta correta: c) Descreve o estado inicial ou contexto
Explicacao: O "Given" descreve o estado inicial ou contexto do sistema antes de uma acao ser
tomada, como os dados ou condicoes necessarias para que o comportamento desejado aconteca.
No formato Given-When-Then, o que e especificado no "When"?
a) O comportamento esperado
b) O contexto inicial da aplicacao
c) A acao que o usuario ou sistema vai realizar
d) A configuracao dos testes
Resposta correta: c) A acao que o usuario ou sistema vai realizar
Explicacao: O "When" descreve a acao ou evento que ocorre no sistema, como um usuario clicando
em um botao ou um sistema realizando um calculo.
O que e descrito no "Then" do formato Given-When-Then?
a) O evento que acionou a acao
b) A condicao inicial de teste
c) O comportamento esperado apos a acao ser realizada
d) A sequencia de passos que o teste deve seguir
Resposta correta: c) O comportamento esperado apos a acao ser realizada
Explicacao: O "Then" descreve o resultado esperado apos a execucao de uma acao, ou seja, o
comportamento do sistema que deve ocorrer como consequencia da acao descrita no "When".
Quais sao as principais ferramentas usadas no BDD?
a) JUnit e Selenium
b) Cucumber e JBehave
c) Apache Ant e Maven
d) TestNG e Jenkins
Resposta correta: b) Cucumber e JBehave
Explicacao: O Cucumber e o JBehave sao as ferramentas mais comuns para implementar BDD,
pois permitem a escrita de testes em linguagem natural e sua execucao automatizada.
Qual e o beneficio de usar o Cucumber no BDD?
a) Ele gera automaticamente a documentacao do codigo
b) Ele permite que os testes sejam escritos em linguagem natural e automatizados
c) Ele valida a qualidade do codigo-fonte
d) Ele facilita a integracao de testes com o banco de dados
Resposta correta: b) Ele permite que os testes sejam escritos em linguagem natural e
automatizados
Explicacao: O Cucumber permite que os testes sejam escritos em uma linguagem acessivel, como
o Gherkin, e automatiza sua execucao, ajudando na comunicacao entre as equipes e garantindo
que o sistema funcione conforme o esperado.
Como o BDD pode melhorar a comunicacao entre desenvolvedores e clientes?
a) Utilizando uma linguagem tecnica que so os desenvolvedores entendem
b) Envolvendo os clientes no processo de escrita dos testes em linguagem natural
c) Focando apenas na automacao dos testes
d) Ignorando os feedbacks dos clientes durante o desenvolvimento
Resposta correta: b) Envolvendo os clientes no processo de escrita dos testes em linguagem
natural
Explicacao: O BDD envolve os clientes no processo de desenvolvimento, permitindo que eles
escrevam os testes em linguagem natural, o que facilita o entendimento e garante que os requisitos
atendam as suas expectativas.
Qual das afirmacoes abaixo melhor descreve a filosofia do BDD?
a) A escrita de testes e separada do desenvolvimento do codigo
b) O foco e em como o sistema deve ser desenvolvido, nao em como ele deve se comportar
c) O foco e em especificar o comportamento do sistema de forma colaborativa e iterativa
d) O desenvolvimento ocorre sem a necessidade de testes automatizados
Resposta correta: c) O foco e em especificar o comportamento do sistema de forma colaborativa e
iterativa
Explicacao: O BDD incentiva a especificacao do comportamento do sistema de forma colaborativa
entre desenvolvedores, testers e clientes, com ciclos iterativos de melhoria.
Qual e a principal vantagem de usar o BDD para testar sistemas?
a) Reducao dos custos de implementacao
b) Garantir que o sistema atenda aos requisitos do cliente de forma clara e compreensivel
c) Aumentar a cobertura de codigo com testes unitarios
d) Automatizar todos os testes sem intervencao humana
Resposta correta: b) Garantir que o sistema atenda aos requisitos do cliente de forma clara e
compreensivel
Explicacao: O BDD ajuda a garantir que o sistema esteja alinhado com os requisitos do cliente,
escrevendo os testes de forma que todos os envolvidos possam entender, sem depender de
conhecimento tecnico.
O BDD pode ser utilizado em conjunto com outras metodologias ageis, como Scrum?
a) Nao, o BDD e incompativel com metodologias ageis
b) Sim, o BDD pode ser facilmente integrado ao Scrum e outras praticas ageis
c) O BDD so pode ser utilizado em metodos tradicionais de desenvolvimento
d) O BDD substitui o Scrum e outras praticas ageis
Resposta correta: b) Sim, o BDD pode ser facilmente integrado ao Scrum e outras praticas ageis
Explicacao: O BDD complementa metodologias ageis, como o Scrum, pois promove a colaboracao
continua entre as equipes e facilita o entendimento dos requisitos do sistema.
Qual e o papel de um Product Owner em um projeto que utiliza BDD?
a) Apenas supervisionar o desenvolvimento
b) Participar ativamente da escrita dos testes em linguagem natural e fornecer feedback continuo
c) Gerenciar apenas o banco de dados do projeto
d) Escrever todos os testes automatizados para o sistema
Resposta correta: b) Participar ativamente da escrita dos testes em linguagem natural e fornecer
feedback continuo
Explicacao: O Product Owner tem um papel ativo no BDD, colaborando com as equipes na
definicao de cenarios de testes e garantindo que os requisitos estejamclaros e atendidos durante o
processo de desenvolvimento.
O que e um "cenario" em BDD?
a) Uma representacao grafica de um caso de uso
b) Uma descricao das etapas de um teste, seguindo o formato Given-When-Then
c) Um conjunto de testes unitarios automatizados
d) Um relatorio de erros do sistema
Resposta correta: b) Uma descricao das etapas de um teste, seguindo o formato Given-When-Then
Explicacao: Um cenario no BDD descreve um caso especifico de uso ou comportamento, utilizando
a estrutura Given-When-Then para detalhar o estado inicial, a acao e o resultado esperado.
**Como o BDD contribui para a reducao de falhas de