Logo Passei Direto

BDD (Behavior Driven Development)

Ferramentas de estudo

Solved questions

Material
Study with thousands of resources!

Solved questions

Text Material Preview

BDD (Behavior Driven Development)
O que e o BDD (Behavior Driven Development)?
a) Um metodo de testes unitarios
b) Uma abordagem de desenvolvimento focada no comportamento do software
c) Uma tecnica de controle de versao
d) Uma metodologia agil para gerenciar equipes
Resposta correta: b) Uma abordagem de desenvolvimento focada no comportamento do software
Explicacao: O BDD e uma abordagem que visa alinhar os desenvolvedores e stakeholders com a
compreensao do comportamento do software, enfatizando o uso de uma linguagem comum e
compreensivel para todos os envolvidos.
Quais sao os principais beneficios do BDD?
a) Reducao do custo de desenvolvimento e aumento da qualidade do codigo
b) Aumento da quantidade de codigo escrito
c) Facilitacao da documentacao tecnica
d) Melhoria no design de interfaces de usuario
Resposta correta: a) Reducao do custo de desenvolvimento e aumento da qualidade do codigo
Explicacao: O BDD ajuda na comunicacao entre equipes de desenvolvimento e stakeholders,
garantindo que o produto atenda as expectativas de todos. Isso resulta em menor refacao e maior
qualidade de codigo.
Qual linguagem e comumente usada para escrever cenarios de teste no BDD?
a) XML
b) SQL
c) Gherkin
d) HTML
Resposta correta: c) Gherkin
Explicacao: Gherkin e uma linguagem simples e estruturada utilizada no BDD para escrever
cenarios de teste de forma que todos os envolvidos no projeto (desenvolvedores, testers e
stakeholders) consigam entender.
Quais sao os principais componentes de uma especificacao de BDD usando Gherkin?
a) Dado, Quando, Entao
b) Condicoes, Acoes, Resultados
c) Se, Entao, Else
d) Pre-conditions, Steps, Post-conditions
Resposta correta: a) Dado, Quando, Entao
Explicacao: O formato "Dado, Quando, Entao" e usado para definir o contexto, a acao e o resultado
esperado, respectivamente. Este formato torna o entendimento do comportamento esperado do
software mais claro e acessivel.
O que significa a palavra "Dado" no contexto de BDD?
a) Define uma condicao inicial ou pre-requisito antes da execucao do teste
b) Descreve a acao realizada pelo usuario
c) Indica a validacao do comportamento
d) Especifica o resultado esperado do teste
Resposta correta: a) Define uma condicao inicial ou pre-requisito antes da execucao do teste
Explicacao: "Dado" estabelece o contexto ou as condicoes iniciais para a execucao do
comportamento descrito no teste.
Qual e a principal vantagem de usar o BDD no lugar do TDD (Test Driven Development)?
a) O BDD foca mais no comportamento do sistema do que na implementacao tecnica dos testes
b) O BDD permite que apenas os desenvolvedores escrevam os testes
c) O BDD elimina a necessidade de documentacao
d) O BDD e mais rapido de implementar do que o TDD
Resposta correta: a) O BDD foca mais no comportamento do sistema do que na implementacao
tecnica dos testes
Explicacao: O BDD prioriza a especificacao do comportamento do sistema de maneira que todos os
stakeholders, incluindo nao desenvolvedores, possam entender e participar do processo.
O que significa a palavra "Quando" no contexto de BDD?
a) Representa uma acao ou evento que ocorre apos o estado inicial
b) Descreve a configuracao do sistema
c) Indica a expectativa do comportamento do sistema
d) Define o resultado final
Resposta correta: a) Representa uma acao ou evento que ocorre apos o estado inicial
Explicacao: "Quando" descreve a acao que o sistema ou o usuario executa e que ira provocar a
mudanca ou o comportamento que esta sendo testado.
Como o BDD pode melhorar a colaboracao entre equipes de desenvolvimento e de negocios?
a) Eliminando a necessidade de comunicacao entre as equipes
b) Usando uma linguagem comum para descrever os comportamentos do sistema
c) Deixando a equipe de negocios responsavel pela implementacao do codigo
d) Facilitando a criacao de codigo automatizado sem testes
Resposta correta: b) Usando uma linguagem comum para descrever os comportamentos do
sistema
Explicacao: O BDD promove uma melhor colaboracao, pois utiliza uma linguagem simples e
compreensivel por todos, como Gherkin, permitindo que as equipes de desenvolvimento e negocios
possam alinhar as expectativas de maneira eficaz.
No BDD, qual e o papel dos testes automatizados?
a) Eles sao opcionais e usados apenas em casos de emergencia
b) Eles garantem que o comportamento especificado seja validado automaticamente durante o ciclo
de desenvolvimento
c) Eles sao usados para criar documentacao adicional
d) Eles substituem os testes manuais completamente
Resposta correta: b) Eles garantem que o comportamento especificado seja validado
automaticamente durante o ciclo de desenvolvimento
Explicacao: Os testes automatizados no BDD sao usados para garantir que o comportamento
descrito em cada cenario de teste seja validado automaticamente, garantindo que as
funcionalidades do software estejam corretas e conforme o esperado.
Quais sao os principais beneficios do uso de BDD para o time de QA (Quality Assurance)?
a) Permite que o time de QA escreva os testes sem a ajuda do desenvolvedor
b) Facilita a automacao de testes e melhora a cobertura de testes
c) Diminui a necessidade de colaboracao com a equipe de desenvolvimento
d) Elimina a necessidade de testes manuais
Resposta correta: b) Facilita a automacao de testes e melhora a cobertura de testes
Explicacao: O BDD facilita a automacao de testes, uma vez que a especificacao do comportamento
e clara e compreensivel, o que resulta em uma maior cobertura de testes e na melhoria da
qualidade geral do software.
O que significa a palavra "Entao" no contexto de BDD?
a) Descreve o resultado esperado apos a acao ser executada
b) Indica a configuracao inicial do sistema
c) Define as condicoes do teste
d) Representa o comportamento esperado em um determinado cenario
Resposta correta: a) Descreve o resultado esperado apos a acao ser executada
Explicacao: "Entao" e usado para definir o resultado esperado apos a execucao da acao descrita
em "Quando", ajudando a validar se o comportamento do sistema esta correto.
Como o BDD lida com o conceito de "especificacao por exemplo"?
a) Utiliza apenas codigos para descrever exemplos de comportamento
b) Foca na descricao textual de exemplos para alinhar expectativas entre os stakeholders
c) Nao usa exemplos, apenas diagramas de fluxo
d) Usa apenas pseudocodigo para representar as funcionalidades
Resposta correta: b) Foca na descricao textual de exemplos para alinhar expectativas entre os
stakeholders
Explicacao: O BDD utiliza a "especificacao por exemplo", que e uma abordagem de descricao de
comportamento usando exemplos reais para garantir que todas as partes envolvidas compartilhem
a mesma compreensao sobre o que o sistema deve fazer.
Qual ferramenta e comumente usada para implementar BDD em projetos de software?
a) JUnit
b) Cucumber
c) Git
d) Jenkins
Resposta correta: b) Cucumber
Explicacao: O Cucumber e uma das ferramentas mais populares para implementar BDD. Ele
permite escrever testes de aceitacao em uma linguagem simples (Gherkin) e automatiza-los para
verificar o comportamento do sistema.
Como o BDD pode ajudar a reduzir falhas de comunicacao durante o desenvolvimento?
a) Por fornecer um codigo mais complexo e detalhado
b) Por permitir que os testes sejam escritos antes da implementacao do codigo
c) Por facilitar o entendimento compartilhado entre todos os stakeholders por meio de uma
linguagem comum
d) Por concentrar toda a documentacao nas especificacoes tecnicas
Resposta correta: c) Por facilitar o entendimento compartilhado entre todos os stakeholders por
meio de uma linguagem comum
Explicacao: O BDD ajuda a reduzir falhas de comunicacao, pois utiliza uma linguagem comum e
compreensivel para todos, como Gherkin, o que garante que todos os stakeholders estejam
alinhados quanto as expectativas e funcionalidades do sistema.
Qual e o principal objetivo do BDD no desenvolvimento agil?
a) Acelerar a entrega do software sem testes
b) Garantirque o software funcione apenas para o cliente final
c) Promover a colaboracao continua entre as equipes de negocios e de desenvolvimento para
garantir que o produto atenda as necessidades dos usuarios
d) Reduzir a quantidade de codigo escrito durante o