Questões de Concurso sobre Behavior-Driven Development (BDD)

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
28 questões encontradas
Questões por página
20
Mais recentes
 

A aplicação de padrões de qualidade no desenvolvimento de software orienta a construção de sistemas mais robustos e alinhados às regras de negócio. No que se refere ao Desenvolvimento Orientado a Testes (TDD), Domain-Driven Design (DDD) e Behavior-Driven Development (BDD), assinale a alternativa correta.


A

O Behavior-Driven Development utiliza cenários no formato 'Dado, Quando, Então' para facilitar a comunicação e garantir que o software se comporte conforme o esperado pelo negócio.


B

O Desenvolvimento Orientado a Testes prescreve que o programador deve codificar toda a lógica funcional do sistema antes de iniciar a construção dos scripts de testes automatizados.


C

A prática do Desenvolvimento Orientado a Testes baseia-se no ciclo 'Verde-Refatorar-Vermelho', onde se escreve o código final e depois se cria o teste para validar a correção de erros.


D

O Domain-Driven Design foca primordialmente na otimização de instruções SQL (Structured Query Language) para o banco de dados, ignorando a modelagem da lógica de domínio em favor da alta performance.

O desenvolvimento orientado ao comportamento (BDD, na sigla em inglês) estende o conceito do desenvolvimento orientado a testes, focando a colaboração e a comunicação entre desenvolvedores e stakeholders, por meio da definição de especificações executáveis escritas em linguagem ubíqua no formato Gherkin.


C

Certo


E

Errado

No Behavior-Driven Development (BDD), a linguagem Gherkin é utilizada para descrever cenários de teste de forma compreensível tanto para desenvolvedores quanto para usuários de negócio. Considere o exemplo abaixo:


Cenário: Login bem-sucedido

Dado que o usuário informou um login e senha válidos

Quando o usuário confirma o acesso

Então o sistema exibe a página inicial


O principal objetivo desse tipo de especificação em Gherkin é:


A

Especificar apenas testes unitários automatizados.


B

Documentar regras de negócio em linguagem acessível a todos os envolvidos.


C

Substituir completamente a codificação da aplicação.


D

Descrever exclusivamente cenários técnicos para desenvolvedores.


E

Restringir a execução dos testes ao ambiente de homologação.

Durante o desenvolvimento de uma API RESTful em Python, a equipe optou por realizar testes automatizados nos endpoints. O Analista de Tecnologia da Informação configurou um framework que suporta escrita de testes simples, com uso de fixtures e marcações personalizadas. Assinale a alternativa CORRETA que corresponde à ferramenta adequada para essa tarefa.


A

Unittest utiliza funções procedurais e depende de plugins externos para parametrização.


B

Nose2 permite o uso de decorators e suporta múltiplas linguagens além do Python.


C

Robot Framework fornece suporte ao Selenium mas não permite integração via CLI.


D

Pytest oferece suporte nativo a fixtures e permite execução modular dos testes.


E

Behave integra-se nativamente com o Django e utiliza estrutura baseada em YAML.

O Desenvolvimento orientado por comportamento (BDD) refere-se a uma técnica de desenvolvimento ágil, que visa integrar regras de negócios com linguagem de programação, focando o comportamento do software. Tem como objetivo melhorar a colaboração entre desenvolvedores, analistas de negócios e stakeholders, para que todos possam ter uma compreensão clara das expectativas em relação ao software. Para aplicar o processo de BDD de forma eficiente, é necessário seguir uma ordem específica, que inclui quatro etapas distintas, caracterizadas a seguir.


I.É a fase em que o Product Owner explica a visão geral do negócio, na qual a equipe utiliza o processo de discussão do BDD para reunir exemplos de usuários e entender como a função fornecida é usada, identificando problemas e possíveis novas regras de negócios.

II.É a fase em que a equipe faz perguntas para determinar quais regras, critérios de aceitação ou novas histórias podem ser criadas, na qual o esclarecimento das ideias ocorre por meio do diálogo entre os participantes.

III.É a fase em que todas as questões discutidas são agrupadas, criando um documento que contém todas as notas reunidas, na qual a linguagem Gherkin é geralmente recomendada ao criar critérios de aceitação.

IV.É a fase em que após pesquisar e testar a história, a equipe de desenvolvimento apresenta ao Product Owner para validação, na qual a história validada é utilizada durante a revisão da produção do projeto, para garantir que o produto corresponda aos padrões estabelecidos. Para finalizar, após a instalação do aplicativo no ambiente de produção, ocorre o monitoramento da funcionalidade para coletar feedback do cliente sobre o sistema desenvolvido.


As etapas descritas são conhecidas, respectivamente, como:


A

Definição, Formalização, Entrega e Descoberta.


B

Formalização, Entrega, Descoberta e Definição.


C

Descoberta, Definição, Formalização e Entrega.


D

Entrega, Descoberta, Definição e Formalização.

TDD, DDD e BDD são três padrões de qualidade de desenvolvimento de software que enfatizam abordagens diferentes, mas complementares, para garantir a qualidade e a eficácia do processo de desenvolvimento. A esse respeito, analise as afirmativas a seguir:


I. BDD é uma abordagem de design de software que se concentra em modelar o domínio de um problema complexo de negócios em termos de entidades de domínio, serviços e agregados.

II. TDD é uma abordagem de desenvolvimento de software que enfatiza escrever testes automatizados antes de escrever o código de produção.

III. O objetivo do DDD é garantir que o software seja desenvolvido com base nos requisitos e comportamentos desejados do sistema, resultando em uma compreensão clara das expectativas do sistema e na validação contínua do comportamento conforme o desenvolvimento avança.


É correto o que se afirma em


A

I, apenas.


B

II, apenas.


C

I e II, apenas.


D

I e III, apenas.


E

II e III, apenas.

O Desenvolvimento Orientado por Comportamento (BDD) – no contexto de desenvolvimento de software, trata-se de:


A

Abordagem que se concentra, exclusivamente, na programação orientada a objetos e na criação de classes.


B

Abordagem que se concentra, exclusivamente, na escrita de código sem considerar os requisitos do usuário.


C

Processo de desenvolvimento que ignora completamente os comportamentos do usuário e se concentra apenas na lógica interna do software.


D

Prática que se concentra na definição de comportamentos específicos do software do ponto de vista do usuário, na forma de cenários, e na escrita de testes automatizados baseados nesses cenários.

Sobre a arquitetura de aplicações em infraestrutura, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.


( ) O modelo de cloud computing do tipo Plataforma como Serviço (PAAS, Platform-as-a-Service) oferece ambiente compartilhado de desenvolvimento de software que fornece, às equipes de desenvolvimento e operações, acesso a todas as ferramentas de que necessitam, a partir de qualquer local com uma conexão à Internet, sendo frequente o emprego das tecnologias Docker e Kubernetes.

( ) Quanto ao nível de acoplamento, podemos diferenciar as arquiteturas de aplicação como monolíticas e em N camadas (levemente acopladas), microsserviços (fortemente acopladas); e, orientadas a eventos ou serviços (desacopladas).

( ) No ciclo de vida do desenvolvimento de software (SDLC, Software Development Lifecycle) podem ser aplicadas as metodologias TDD (Test Driven Development), quando o foco está em uma linguagem mais técnica e no objetivo de testar alguma funcionalidade, e o BDD (Behavior Driven Development), quando o foco está em uma linguagem mais próxima da linguagem natural e no objetivo de realização de testes de comportamento.


As afirmativas são, respectivamente,


A

V – V – F.


B

F – V – V.


C

F – F – V.


D

V – F – V.

Qual abordagem de desenvolvimento de software segue um ciclo curto de desenvolvimento, enfatizando a criação de testes automatizados antes da implementação do código funcional?


A

Scrum.


B

TDD.


C

BDD.


D

Kanban.

Analise as afirmativas a seguir a respeito das principais diferenças entre BDD, TDD e ATDD.


I. BDD é, exclusivamente, para equipes de desenvolvimento; TDD é para testadores; e, ATDD é para gerentes de projeto.

II. BDD e TDD são a mesma coisa, apenas com siglas diferentes; e, ATDD é uma técnica de teste de acessibilidade.

III. BDD normalmente abrange funcionalidades ou cenários completos do software; TDD se concentra em testes unitários para funções ou métodos individuais; e, ATDD valida se os requisitos de negócios são atendidos por meio de testes de aceitação que abrangem fluxos de funcionalidade específicos.


Está correto o que se afirma apenas em


A

I.


B

III.


C

I e II.


D

II e III.

O TDD (test driven development) é um tipo de teste unitário em que a especificação de teste é escrita logo após o código para validar o comportamento desejado.


C

Certo


E

Errado

O Behaviour Driven Development (BDD) é uma técnica de desenvolvimento ágil que busca integrar regras de negócio com linguagem de programação, focando no comportamento do software. Por se tratar de uma evolução do TDD, a metodologia permite que os testes ainda orientem o desenvolvimento, proporcionando que os testes sejam escritos antes mesmo que o código de programação. Sobre a utilização de BDD, analise as afirmativas a seguir.


I. Simplifica a comunicação utilizando cenários descritos pelo cliente ou analista, dividindo-os em três blocos definidos pelas palavras-chave: Given, When e Then.

II. O Spock é um framework que oferece algumas vantagens como a utilização da linguagem Groovy e um formato de escrita de testes intuitivo e de fácil leitura.

III. Proporciona diversas vantagens como uma melhor comunicação entre as equipes, um maior compartilhamento de conhecimento, documentação dinâmica e uma visão do todo.


Está correto o que se afirma em


A

I, II e III.


B

I, apenas.


C

I e II, apenas.


D

II e III, apenas.

Para o DDD, Bounded Context são delimitadores ou agrupamentos de domínios de um determinado negócio.


C

Certo


E

Errado

Durante o período do BDD, os planos serão validados pelos desenvolvedores conforme previsto pelo TDD por meio de ferramentas de teste como JUnit e Mockito.


C

Certo


E

Errado

Ao se utilizar a metodologia BDD, espera-se que as entregas sejam feitas com menor quantidade de retrabalho e com cobertura de testes automatizados, a documentação passe a ser integrada ao sistema, e os projetos passem a ter estimativas dentro do prazo, com custos controlados.


C

Certo


E

Errado

Os benefícios da introdução do Behavior-Driven Development (BDD) em uma organização são significativos, ainda que sua implementação nem sempre ocorra sem dificuldades.


Com relação aos desafios da introdução do BDD, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.


I. O BDD requer um alto envolvimento e colaboração empresarial. As práticas de BDD são baseadas em conversas e feedback dos usuários, que impulsionam e constroem a compreensão da equipe sobre os requisitos e sobre como eles podem agregar valor ao negócio com base nesses requisitos.

II. O BDD funciona melhor com a adoção de metodologias ágeis ou iterativa. As práticas de análise de requisitos do BDD mostram que é difícil, se não impossível, definir completamente os requisitos de modo antecipado, e que estes evoluirão à medida que a equipe aprenda mais sobre o projeto.

III. Os testes, mesmo que mal escritos, não ocasionam custos de manutenção elevados. A criação de testes automatizados, especialmente para aplicações web complexas, requer baixa habilidade, e as equipes que estão começando a adotar o BDD não consideram isso um desafio significativo.


As afirmativas são, respectivamente,


A

F – V – F.


B

V – F – V.


C

V – V – F.


D

F – F – V.

A linguagem ubíqua Cucumber é utilizada para a definição de cenários iniciais no BDD e permite que a equipe de negócios faça levantamentos com as partes interessadas (stakeholders) e os transforme em histórias do usuário (user story).


C

Certo


E

Errado

O Desenvolvimento Orientado por Comportamento (BDD) facilita a colaboração entre as partes interessadas e desenvolvedores ao usar uma linguagem comum para descrever o comportamento do sistema.


Sobre o BDD, analise as afirmativas a seguir.


I. No BDD, os novos comportamentos são adicionados e testados em pequenos ciclos contínuos, sendo assim um método iterativo, mas não incremental.

II. No BDD, a documentação é atualizada automaticamente a cada ciclo.

III. A prática de escrever testes antes do desenvolvimento do código é um elemento essencial do BDD.


Está correto o que se afirma em


A

I, apenas.


B

II, apenas.


C

III, apenas.


D

II e III, apenas.


E

I, II e III.

Dada a definição:


É uma abordagem de desenvolvimento de software que visa envolver todas as partes interessadas usando uma linguagem comum para definições de comportamento, permitindo a colaboração eficaz entre desenvolvedores, testadores e os usuários finais. Trata-se de


A

TDD.


B

DDD.


C

BDD.


D

SDD.

O BDD é a sigla utilizada para Behaviour-Driven Development (um modelo de desenvolvimento baseado no comportamento do software como um todo, de acordo com o cenário abordado). Uma de suas característica é:


A

Apresenta um conjunto de cenários, protótipos e especificações orientadas a exemplos, que servem de entrada para o processo de desenvolvimento.


B

É similar a um Teste Caixa-Branca (especificado pelo desenvolvedor).


C

Testes são escritos sob o ponto de vista do desenvolvedor.


D

Utiliza um vocabulário distinto para e usuários e desenvolvedores baseado no domínio do negócio.


E

Busca desenvolver o software baseado em critérios não-automáticos de aceitação.

 
 
Gerar simulado